Як встановити та налаштувати 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







