Требования¶
Grav намеренно спроектирован так, чтобы предъявлять минимум требований. Вы можете без труда запустить Grav на своём локальном компьютере, как и на 99 % хостинг-провайдеров. Если под рукой есть ручка, запишите следующие системные требования Grav:
-
Веб-сервер (Apache, Nginx, LiteSpeed, Lightly, IIS и т. д.)
-
PHP 8.3.11 или выше
-
хм… собственно, это всё (но для комфортной работы всё же ознакомьтесь с требованиями к PHP)!
Grav построен на обычных текстовых файлах для вашего контента. База данных не нужна.
Внимание
Для оптимальной производительности настоятельно рекомендуется пользовательский кэш PHP, например APCu, Memcached или Redis. Впрочем, не волнуйтесь: обычно они уже входят в ваш хостинговый пакет!
Веб-серверы¶
Grav настолько прост и универсален, что для него даже не нужен веб-сервер. Его можно запустить прямо на встроенном веб-сервере PHP, если у вас установлен PHP 8.3.11 или более поздняя версия.
Тестирование на встроенных веб-серверах — полезный способ проверить установку Grav и немного поработать над разработкой, но он не рекомендуется для действующего сайта и даже для сложных задач разработки. Мы описали этот способ в руководстве по установке.
Хотя технически отдельный веб-сервер не обязателен, лучше всё же использовать его — даже для локальной разработки. Есть много отличных вариантов:
macOS¶
- MAMP/MAMP Pro поставляется с Apache, MySQL и, конечно, PHP. Это отличный способ получить больше контроля над версией PHP, настраивать виртуальные хосты и пользоваться другими полезными фичами, например автоматической обработкой динамического DNS.
- DDEV — среды разработки PHP на Docker.
- AMPPS — программный стек от Softaculous, включающий Apache, PHP, Perl, Python… В нём есть всё необходимое (и даже больше) для разработки на Grav.
- Brew Apache/PHP — альтернативный подход, позволяющий получить полностью настраиваемую установку с различными версиями PHP.
Windows¶
- Laragon — портативная, изолированная, быстрая и мощная универсальная среда разработки для PHP, Node.js и многого другого. Она быстрая, лёгкая, простая в использовании и легко расширяется.
- XAMPP предоставляет Apache, PHP и MySQL в одном простом пакете.
- EasyPHP предлагает пакет для персонального веб-хостинга, а также более мощную версию для разработчиков.
- MAMP для Windows — давний фаворит на Mac, теперь доступный и для Windows.
- IIS с PHP — быстрый способ запустить PHP в Windows.
- DDEV — среды разработки PHP на Docker.
- AMPPS — программный стек от Softaculous, включающий Apache, PHP, Perl, Python… В нём есть всё необходимое (и даже больше) для разработки на Grav.
- Подсистема Linux — отличный способ запустить окружение, похожее на Linux, в Windows.
Примечание переводчика
Из собственного опыта могу порекомендовать Open Server Panel (Windows) и Laravel Herd (Windows, MacOS)
Linux¶
- Многие дистрибутивы Linux уже включают Apache и PHP. Если нет, дистрибутив обычно предоставляет менеджер пакетов, через который их можно установить без особых хлопот. Более сложные конфигурации стоит искать с помощью хорошей поисковой системы.
Требования к Apache¶
Хотя большинство дистрибутивов Apache поставляются со всем необходимым, для полноты приведём список требуемых модулей Apache:
mod_rewritemod_ssl(если вы хотите запускать Grav под SSL)mod_mpm_itk_module(если вы хотите запускать Grav под отдельной учётной записью пользователя)
Также убедитесь, что в блоках <Directory> и/или <VirtualHost> установлено AllowOverride All, чтобы файл .htaccess обрабатывался правильно и правила перезаписи вступали в силу.
Требования к IIS¶
Хотя IIS считается веб-сервером, готовым к работе «из коробки», некоторые изменения всё же нужно внести.
Чтобы Grav работал на сервере IIS, необходимо установить URL Rewrite. Это можно сделать с помощью Microsoft Web Platform Installer прямо из IIS. Также URL Rewrite можно установить, зайдя на iis.net.
Требования к PHP¶
Большинство хостинг-провайдеров и даже локальных установок LAMP имеют PHP, предварительно настроенный со всем необходимым для работы Grav «из коробки». Однако некоторые установки Windows и даже дистрибутивы Linux — локальные или на VPS (это я смотрю на тебя, Debian!) — поставляются с очень минимальной сборкой PHP. Поэтому вам может потребоваться установить или включить следующие модули PHP:
curl(клиент для работы с URL, используется GPM)ctype(проверка классов символов, используется валидацией и symfony/yaml)dom(используется для разбора и очистки HTML)gd(графическая библиотека для обработки изображений)json(используется Symfony/Composer/GPM)libxml(базовый XML-парсер дляdomиsimplexml)mbstring(поддержка многобайтовых строк)openssl(библиотека защищённых сокетов, используется GPM)session(используется для входа и flash-сообщений)simplexml(используется для разбора и очистки медиафайлов SVG)zip(используется Composer и GPM для распаковки пакетов)
Необязательные, но рекомендуемые:
fileinfo(точное определение MIME-типа для загрузок и медиафайлов)intl(форматирование с учётом локали на многоязычных сайтах)exif(чтение ориентации и данных камеры из изображений)pdo_sqlite(включает более быстрое хранилище индекса страниц на больших сайтах)
Чтобы включить поддержку openssl и (рас)паковки zip, найдите в файле php.ini вашего дистрибутива Linux строки вроде:
и удалите ведущую точку с запятой.
Необязательные модули¶
apcuдля повышения производительности кэшаopcacheдля повышения производительности PHPyaml— PECL Yaml обеспечивает нативную обработку YAML и может значительно повысить производительностьxdebugполезен для отладки в среде разработки
Права доступа¶
Чтобы Grav работал корректно, ваш веб-сервер должен иметь соответствующие права доступа к файлам для записи журналов, кэша и т. д. При использовании CLI (интерфейса командной строки) или GPM (менеджера пакетов Grav) пользователь, запускающий PHP из командной строки, также должен иметь соответствующие права на изменение файлов.
По умолчанию Grav устанавливается с правами 644 для файлов и 755 для папок. У большинства хостинг-провайдеров конфигурация обеспечивает веб-серверу, работающему с PHP, возможность создавать и изменять файлы в вашей учётной записи. Это значит, что Grav работает из коробки у подавляющего большинства хостинг-провайдеров.
Однако на выделенном сервере или даже в локальном окружении может потребоваться скорректировать права, чтобы ваш пользователь и ваш веб-сервер могли изменять файлы по мере необходимости. Есть несколько подходов.
-
В локальной среде разработки обычно можно настроить веб-сервер так, чтобы он работал под вашим профилем пользователя. Тогда веб-сервер всегда будет разрешать вам создавать и изменять файлы.
-
Измените права группы для всех файлов и папок, чтобы группа веб-сервера имела доступ на запись к файлам и папкам при сохранении стандартных прав. Для этого потребуется несколько команд.
Сначала выясните, под каким пользователем работает Apache, выполнив следующую команду:
Теперь узнайте, к какой группе принадлежит этот пользователь, выполнив эту команду (примечание: замените USERNAME на имя пользователя Apache, найденное в предыдущей команде):
(примечание: замените GROUP на группу, под которой работает ваш Apache, найденную в предыдущей команде: [www-data, apache, nobody и т. д.]):
Если нужно использовать права суперпользователя, вместо этого выполните find … | sudo xargs chmod ….
Рекомендуемые инструменты¶
PhpStorm¶
Grav разрабатывается с использованием PhpStorm, что делает его лучшей IDE для Grav. Однако он не бесплатный.
PhpStorm лучше всего подходит PHP-разработчикам, в том числе тем, кто пишет сложные плагины Grav. Он предлагает автоматическую компиляцию кода для Grav (достаточно добавить Grav и используемые плагины в includes), а также множество других инструментов для помощи в разработке. У него также хорошая поддержка форматирования twig, yaml, html, js, scss и tailwind.
Текстовые редакторы¶
Хотя можно обойтись Блокнотом, Textedit, Vi или любым другим текстовым редактором по умолчанию в вашей системе, мы рекомендуем использовать хороший текстовый редактор с подсветкой синтаксиса, чтобы упростить работу. Вот несколько рекомендуемых вариантов:
- Visual Studio Code — подобно Atom, он построен на Electron, Node, а также HTML/CSS. Он довольно лёгкий и имеет множество плагинов, включая очень хорошую поддержку PHP и JavaScript. Это текущий рекомендуемый редактор для разработки под Grav.
- SublimeText — MacOS/Windows/Linux — коммерческий редактор для разработчиков, но вполне стоит своих денег. Очень мощный, особенно в сочетании с такими плагинами, как Markdown Extended, Pretty YAML и PHP-Twig.
- Notepad++ — Windows — бесплатный и очень популярный редактор для разработчиков под Windows.
- Bluefish — MacOS/Windows/Linux — бесплатный текстовый редактор с открытым исходным кодом, ориентированный на программистов и веб-разработчиков.
- Kate — MacOS/Windows/Linux — лёгкий, но мощный и универсальный открытый текстовый редактор и инструмент программирования с подсветкой более 300 языков (включая Markdown).
Редакторы Markdown¶
Ещё один вариант, если вы в основном работаете только с созданием контента, — использовать специальный редактор Markdown. Они часто ориентированы на контент и обычно обеспечивают живой предпросмотр вашего контента, отрендеренного в HTML. Их буквально сотни, но среди хороших вариантов:
- MacDown — MacOS — бесплатный, простой и лёгкий редактор Markdown с открытым исходным кодом.
- LightPaper — MacOS — $17.99, чистый и мощный. Наш выбор редактора Markdown на Mac. Скидка 25 % по промокоду: GET_GRAV_25
- MarkDrop — MacOS — $5, но очень чистый и со встроенной поддержкой Droplr.
- MarkdownPad — Windows — бесплатная и Pro-версии. Поддерживает даже метаданные страницы в YAML. Отличное решение для пользователей Windows.
- Mark Text — бесплатный редактор Markdown с открытым исходным кодом для Windows / Linux / MacOS.
FTP-клиенты¶
Хотя существует множество способов развернуть Grav, по сути вам нужно только скопировать локальный сайт на хостинг. Самый простой способ — использовать FTP-клиент. Их много, но среди рекомендуемых:
- Transmit — MacOS — де-факто FTP/SFTP-клиент на MacOS. Простой в использовании, быстрый, с синхронизацией папок и практически всем, что только можно пожелать.
- FileZilla — MacOS/Windows/Linux — вероятно, лучший вариант для пользователей Windows и Linux. Бесплатный и очень мощный (но очень некрасивый на Mac!).
- Cyberduck — MacOS/Windows — достойный бесплатный вариант для пользователей MacOS и Windows. Не такой функциональный, как другие.
- ForkLift — MacOS — надёжная альтернатива Transmit, к тому же немного дешевле.
Git¶
Если вы используете распределённую систему контроля версий Git на своих средах разработки и серверах, можно настроить простой рабочий процесс через хостинговый сервис Git, например Github или GitLab. Это требует немного больше усилий при настройке, но обеспечивает более чистый и надёжный рабочий процесс, который заодно берёт на себя резервное копирование. Пробуйте это только если вы уверенно владеете Git и его клиентскими инструментами.
Примечание
Подробнее об использовании Git в рабочем процессе мы расскажем позже в разделе Развёртывание с помощью Git главы Веб-серверы и хостинг.