Основы Grav

Требования для установки Grav

Grav
Требования

Grav изначально создавалась с учетом небольших требований. Вы можете легко запустить Grav на вашем локальном компьютере, а также у 99% хостинг-провайдеров. Итак, требования следующие:

  • Веб-сервер (Apache, Nginx, LiteSpeed, IIS, и т.п.)
  • PHP 5.4 и выше
  • хмм… это всё! (но не забудьте проверить требования PHP)

Grav использует простые текстовые файлы для вашего контента. База данных не нужна.

Для оптимальной производительности рекомендуется использовать PHP кэш типа APC, APCU, XCache, Memcache, Redis. Но не стоит беспокоиться, так как они практически всегда входят в тарифный план хостинга!

Веб-серверы

Требования Apache

Хотя многие дистрибутивы Apache сразу упакованы всем, что необходимо, лучше перепроверить, включены ли следующие модули Apache:

  • mod_cache
  • mod_expires
  • mod_headers
  • mod_rewrite
  • mod_ssl

Также необходимо убедиться в том, что в блоках <Directory> и/или <VirtualHost> установлена директива AllowOveride. Это гарантирует корректную обработку файла .htaccess и правильную работу правил перенаправления.

Требования IIS

Несмотря на то, что IIS считается веб-сервером, который сразу же готов из коробки, все же требуется внести некоторые изменения. Для запуска Grav на сервере IIS вам необходимо установить URL Rewrite. Это можно сделать, используя установщик Microsoft Web Platform из IIS. Вы также можете установить URL Rewrite с iis.net.

Требования PHP

У большинства хостинг-провайдеров и даже локальных установок PHP преднастроено со всем, что необходимо для запуска Grav. Однако некоторые Windows установки и даже дистрибутивы Linux идут с очень минимальным набором PHP модулей. Поэтому вам может понадобиться установить и включить следующие PHP модули:

  • gd (графическая библиотек для манипулирования изображениями)
  • curl (клиент для обработки URL, используется GPM)
  • openssl (библиотека безопасности сокетов,используется GPM)
  • поддержка zip (используется GPM)
  • mbstring (поддержка многобайтовых строк)

Для включения openssl и (un)zip вы должны найти файл php.ini и в нем строки:

;extension=openssl.so
;extension=zip.so

Удалите точку с запятой и перезапустите веб-сервер.

Необязательные модули

  • apc (PHP 5.4) или apcu (PHP 5.5+) для улучшения производительности кэширования
  • opcache (PHP 5.5+) для улучшения производительности PHP
  • xcache альтернатива apc, не так быстр, но все же очень неплох
  • yaml PECL Yaml предоставляет нативную обработку yaml и может значительно улучшить производительность
  • xdebug полезен для отладки при разработке

Права на файлы/папки

Чтобы Grav нормально функционировала, на вашем веб-сервере должны быть выставлены соответствующие права на файлы/папки, для того чтобы писать логи, кэш и т.п. Используя CLI илиGPM, пользователь, который запускает PHP из командной строки, также должен иметь соответствующие права на изменение файлов.

По умолчанию Grav устанавливает права 644 на файлы и 755 на папки. У большинства хостинг-провайдеров настройки веб-сервера позволяют создавать и изменять файлы внутри своей учетной записи.

Однако, если у вас выделенный сервер или локальное окружение, вам может понадобиться настроить права. Существует несколько подходов к тому, как это можно сделать.

  1. В локальном окружении обычно достаточно настроить веб-сервер так, чтобы он запускался под вашим профилем.
  2. Поменяйте групповые права на все файлы и папки так, чтобы группа веб-сервера имела доступ на запись файлов и папок, при этом сохраняя стандартные права. Для этого выполните несколько команд (www-data в данном примере - это группа, под которой запускается Apache):
    chgrp -R www-data .
    find . -type f | xargs chmod 664
    find . -type d | xargs chmod 775
    find . -type d | xargs chmod +s
    umask 0002