Grav CMS: Минималистичный движок на плоских файлах
Grav — это современная CMS с открытым исходным кодом, написанная на чистом PHP и работающая без базы данных (Flat-File). Вся информация, настройки и контент хранятся в виде обычных текстовых файлов и Markdown-документов. Это обеспечивает максимальную скорость отдачи страниц, ничтожное потребление оперативной памяти и моментальное резервное копирование простым архивированием папки сайта.
Основная ценность Grav для гибридных проектов — встроенная в ядро мультиязычность и полная свобода в верстке: для главной страницы можно задать изолированный HTML5/CSS3 шаблон со своим Native JS, а остальные страницы использовать как структурированную Wiki.
В чем разница между Grav Core и Grav + Admin
Grav Core: Только ядро системы, CLI-инструмент (утилита gpm), базовый шаблон. Для разработчиков, которые управляют контентом через IDE (например, Cursor), синхронизируют файлы по FTP/SSH или используют Git. Контент пишется в .md файлах на диске.
Grav + Admin Plugin для тех, кому нужен визуальный интерфейс для создания страниц, управления плагинами, обновлениями и настройками мультиязычности через браузер.
Версия Grav + Admin удобнее для быстрого старта, так как позволяет настраивать языковые пространства имен в кликабельном интерфейсе, но под капотом она создает точно такие же текстовые конфигурационные файлы, как и Core.
Короткая инструкция по установке в окружении Nginx + PHP-FPM
Установка Grav сводится к банальной распаковке архива. Ему не нужны компиляторы или сложные системные зависимости. Подключитесь к VPS по SSH, перейдите в корневую директорию веб-сервера и скачайте актуальную версию (в примере берем вариант с админ-панелью):
cd /var/www/ wget https://getgrav.org/download/core/grav-admin/latest unzip latest
Что нужно сделать прямо сейчас (Первый запуск):
- Создайте аккаунт по ссылке тимя_вашего_домена/admin: Заполните форму (Имя пользователя, Email, Пароль). Панель создается локально на вашем сервере, никаких внешних регистраций.
- Войдите в панель: После создания аккаунта вы сразу попадете в Dashboard (главный экран админки).
Настройка чистой мультиязычности
Баг Grav CMS v1.7.x (Admin Panel v1.10.52): Затирание мастер-локализации при создании перевода
Суть бага: В мультиязычном режиме на стеке PHP 8.3 + Nginx/PHP-FPM встроенный веб-редактор (Admin Panel) критически сбоит при попытке перевести страницу на новый язык, файла которого еще физически нет на диске. Вместо генерации нового языкового файла (например, default.pt-br.md), админка паникует, выдает ворнинг Falling back to English language и перезаписывает содержимое мастер-файла (default.md) новым переводом.
Решение: Полный отказ от забагованной панели Admin Panel для мультиязычных pSEO-проектов. Управление контентом напрямую через текстовые файлы Markdown (default.md, default.ru.md, default.pt-br.md) силами ядра Grav Core работает как швейцарские часы и полностью исключает риск перезаписи данных.
Безопасный алгоритм работы:
- В админке: Нажимаете Add Page, вводите название на английском, нажимаете Continue. Вставляете английский текст. Нажимаете Save. (Создался default.md).
- В консоли / Cursor (занимает 5 секунд): Заходите в созданную папку и одной командой создаете «заглушки» для остальных ваших языков:
cd user/pages/имя-папки touch default.ru.md default.uk.md default.pt-br.md
Всё делается в пару кликов:
- В левом меню админки перейдите в раздел Configuration (Настройки).
- Перейдите на вкладку System (Система).
- Найдите блок Languages (обычно он идет одним из первых). В поле Supported (Поддерживаемые языки) введите ваши коды через запятую в порядке приоритета. Например, если главный язык английский: en, ru, pt-br, uk. Чуть ниже найдите опцию Include default language code (Включать код дефолтного языка в URL). Если выключить: Главная страница на русском будет доступна просто по адресу site.com/, а английская — site.com/en/. Если включить: Русский будет site.com/ru/, английский — site.com/en/. Для SEO чище выключить (чтобы корень был главным языком без лишних редиректов).
- Нажмите кнопку Save в верхнем правом углу.
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга