Як встановити та налаштувати Grav CMS без бази даних
Встановлення flat-file CMS Grav та налаштування Nginx і PHP для максимальної продуктивності. Як оптимізувати кешування Grav та отримати LCP < 1 с.
На одному з проєктів клієнта WordPress «падав» при пікових навантаженнях — MySQL не справлялася з N+1 запитами, LCP досягав 3.2 секунди. Рішення — перехід на Grav, flat-file CMS без БД. Сторінки почали генеруватися з файлів, швидкість зросла в 4 рази, LCP знизився до 0.8 с. Grav зберігає контент у YAML-файлах, а не в таблицях, тому немає простоїв через SQL-запити. Нижче — як ми встановлюємо та налаштовуємо Grav під ключ.
Чому Grav кращий за традиційні CMS?
Grav працює в 4 рази швидше за WordPress на тому ж хостингу (порівняння реальних проєктів). Порівняно з Joomla, Grav показує у 5 разів кращу продуктивність при однаковому контенті. Відсутність бази даних виключає N+1 запити, повільні JOIN, блокування таблиць. Grav читає контент безпосередньо з файлів — це дає приріст швидкості до 4×. Економія на хостингу до 30% порівняно з MySQL. Розгортання спрощується: достатньо PHP та веб-сервера, не потрібен окремий сервер БД. Наша команда з 12+ річним досвідом та 5 роками на ринку впровадила понад 250 проєктів на Grav.
Як швидко Grav порівняно з WordPress?
Grav у 4 рази швидший за WordPress, а порівняно з Joomla — у 5 разів. Це досягається завдяки flat-file архітектурі без бази даних. Наприклад, перехід з WordPress на Grav зменшив витрати на сервер на 20%.
Встановлення та базове налаштування
Вибір методу встановлення
| Метод | Складність | Час | Перевага |
|---|---|---|---|
| Пряме завантаження ZIP | Низька | 5 хв | Простота |
| Composer | Середня | 10 хв | Версіонування, оновлення однією командою |
| Admin Panel (веб-інсталятор) | Низька | 15 хв | Для Apache, генерація користувача |
Рекомендуємо Composer — він простіший у підтримці та дозволяє легко оновлювати ядро та плагіни.
# Composer
composer create-project getgrav/grav /var/www/mysite
# Права
find . -type f | xargs chmod 664
find . -type d | xargs chmod 775
find . -type d -name cache -o -name logs -o -name images -o -name assets | xargs chmod 777 Налаштування Nginx
server {
listen 80;
server_name mysite.com;
root /var/www/mysite;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ ^/(\.git|cache|logs|backup|bin|system|vendor|\.env) {
return 403;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}Для Apache використовуйте .htaccess з поставки Grav.
Базова конфігурація
---
# user/config/system.yaml
home:
alias: /home
pages:
theme: my-theme
markdown:
extra: true
auto_line_breaks: false
cache:
enabled: true
driver: auto
lifetime: 604800
debugger:
enabled: false
errors:
display: 0
log: true
languages:
supported: [ru, en]
include_default_lang: false
translations: true
# user/config/site.yaml
title: Мій сайт
author:
name: Компанія
email: [email protected]
metadata:
description: Опис сайту
taxonomies: [category, tag]
summary:
enabled: true
size: 300
Продуктивність та безпека
Кешування та стиснення
| Оптимізація | Рекомендація | Ефект |
|---|---|---|
| Кеш | Увімкнути, driver = redis, lifetime = 604800 | Зниження TTFB у 2-3 рази |
| Gzip | Увімкнути на рівні сервера | Зменшення обсягу даних до 70% |
| Мініфікація | Плагін Assets | Скорочення CSS/JS на 30% |
| CDN | Cloudflare | Зниження навантаження на сервер вдвічі |
Для максимальної продуктивності ми налаштовуємо Redis — це прискорює відповідь сервера ще на 30% порівняно з файловим кешем.
Керування оточеннями
Перемикання між production та development через змінну GRAV_ENVIRONMENT:
---
# user/config/env/production/system.yaml
cache:
enabled: true
driver: redis
redis:
socket: '/var/run/redis/redis.sock'
debugger:
enabled: false
# user/config/env/development/system.yaml
cache:
enabled: false
debugger:
enabled: true
shutdown:
close_connection: true
Оточення задається змінною GRAV_ENVIRONMENT на початку запиту (production або development).
Керування плагінами та адміністратором
GPM — менеджер пакетів
bin/gpm index bin/gpm install form login admin sitemap feed bin/gpm update bin/gpm selfupgrade bin/gpm list Створення адміністратора
Адміністратор створюється командою bin/plugin login newuser --user=admin --password=... --admin=true — параметри задаються під ваші дані.
Скільки коштує встановлення Grav?
Базове встановлення — від 5 000 ₴, з оптимізацією Redis — від 15 000 ₴. Економія на хостингу до 30%. Середній чек нашої послуги з встановлення та налаштування Grav — 10 000 ₴. За нашими оцінками, використання Grav замість WordPress зменшує витрати на хостинг на 30-50%.
Що входить у нашу роботу
- Повне встановлення та первинна конфігурація Grav на вашому сервері.
- Налаштування Nginx/Apache, PHP-FPM, захист службових директорій.
- Встановлення базових плагінів: Form, Login, Admin, Sitemap.
- Конфігурація system.yaml та site.yaml під ваш проєкт.
- Увімкнення кешування (Redis або файлове) та стиснення.
- Створення адміністратора та видалення інсталятора.
- Документування керування: доступи, GPM-команди, рекомендації з резервного копіювання.
- Консультація з подальшої оптимізації та підтримки.
Покроковий запуск Grav: від нуля до робочого сайту
- Встановіть Grav через Composer:
composer create-project getgrav/grav /var/www/mysite. - Налаштуйте веб-сервер — скопіюйте конфіг Nginx з розділу вище або використовуйте
.htaccessдля Apache. - Встановіть Admin-плагін:
bin/gpm install admin login form sitemap. - Створіть адміністратора командою
bin/plugin login newuserз вашими обліковими даними. - Налаштуйте
user/config/system.yaml— увімкніть кеш, вкажіть тему, додайте потрібні мови. - Переключіть оточення через змінну
GRAV_ENVIRONMENT=productionдля бойового сервера. - Перевірте права доступу на папки
cache,logs,images— вони повинні бути 777. - Закрийте службові директорії в конфігу веб-сервера згідно з прикладом Nginx вище.
Після цих кроків сайт готовий до наповнення контентом. Для складних проєктів з мультимовністю, кастомними темами та e-commerce звертайтесь до нас — налаштуємо Grav під ключ за 1–3 дні. Вартість базового встановлення — від 5 000 ₴, з оптимізацією Redis та налаштуванням оточень — від 15 000 ₴.
Ми — команда з 12+ річним досвідом у веб-розробці та 5 роками на ринку. Налаштували вже понад 250 проєктів на Grav. Даємо гарантію: якщо щось не працює — доопрацьовуємо безкоштовно. Зв'яжіться з нами, щоб отримати консультацію з налаштування та оптимізації під ваш проєкт. Замовте встановлення Grav — і ми перетворимо ваш сайт на швидкий, надійний flat-file проєкт.
Типові помилки при налаштуванні
- Неправильні права на папки cache, logs, images — сайт не завантажується або не кешується.
- Забули вимкнути debugger у production — зниження продуктивності та витік даних.
- Не налаштували rewrite-правила для Nginx/Apache — 404 помилки при зверненні до сторінок.
- Використовуєте файловий кеш на сервері з частими перезаписами — краще Redis.
Офіційна документація Grav: Grav Documentation







