Встановлення та налаштування Kirby CMS
Kirby не потребує бази даних — достатньо PHP 8.1+ та веб-сервера. Встановлюється через Composer або архівом. Ліцензія потрібна тільки для продакшену, в розробці працює без неї.
Системні вимоги
- PHP 8.1 або вище
- Розширення:
mbstring,curl,gdабоimagick,json,fileinfo - Apache з
mod_rewriteабо Nginx - Запис в директорії
content/,media/,site/accounts/
Встановлення через Composer
composer create-project getkirby/plainkit my-site
cd my-site
Для старту з панеллю управління:
composer create-project getkirby/starterkit my-site
Структура після встановлення:
my-site/
├── content/ # контент (вне web root не потрібен)
├── kirby/ # ядро CMS (не трогати)
├── media/ # генеровані зображення (gitignore)
├── site/ # кастомізація
└── index.php # точка входу
Налаштування Nginx
server {
listen 80;
server_name mysite.com;
root /var/www/my-site;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
# запрет доступу до системних директорій
location ~ ^/(kirby|site/accounts|site/sessions) {
return 403;
}
# кеш статики
location ~* \.(jpg|jpeg|png|webp|svg|css|js|woff2)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
}
Налаштування Apache (.htaccess)
Kirby поставляється з готовим .htaccess, але варто перевірити кілька речей:
RewriteEngine On
RewriteBase /
# запрет прямого доступу до системних папок
RewriteRule ^kirby/.*$ - [F,L]
RewriteRule ^site/accounts/.*$ - [F,L]
RewriteRule ^site/sessions/.*$ - [F,L]
# роутинг
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]
Базовий конфіг
<?php
// site/config/config.php
return [
'debug' => false, // true тільки в розробці
'url' => 'https://mysite.com',
'locale' => 'uk_UA.UTF-8',
'timezone' => 'Europe/Kyiv',
'languages' => true, // увімкнути мультиязичність
'panel' => [
'install' => false, // тільки при першому встановленні
'slug' => 'admin', // URL панелі
'css' => 'assets/admin.css',
],
'cache' => [
'pages' => [
'active' => true,
],
],
'thumbs' => [
'driver' => 'im', // ImageMagick замість GD
'quality' => 85,
'format' => 'webp',
],
];
Створити першого користувача
Після встановлення панель доступна по /panel. При першому вході Kirby пропонує створити адміністратора через браузер. Для автоматизації (CI, Docker):
php vendor/bin/kirby create-user \
--name="Admin" \
--email="[email protected]" \
--password="SecurePassword123" \
--role="admin"
Або програмно через site/config/install.php:
<?php
use Kirby\Cms\User;
User::create([
'name' => 'Admin',
'email' => '[email protected]',
'password' => 'SecurePassword123',
'role' => 'admin',
]);
Мультиязичність
// site/config/config.php
return [
'languages' => true,
];
Потім створити мови через панель або файлами:
// site/languages/uk.php
return [
'code' => 'uk',
'name' => 'Українська',
'default' => true,
'locale' => 'uk_UA.UTF-8',
'url' => '/',
'direction' => 'ltr',
'translations' => [
'read.more' => 'Читати далі',
'published' => 'Опубліковано',
],
];
Контент для української мови зберігається в about.uk.txt, для англійської — в about.en.txt.
Git та деплой
В .gitignore мінімальний набір:
/kirby
/media
/site/accounts
/site/sessions
/.env
kirby/ додається як Composer-залежність, не коммітується напрямку. Деплой через composer install --no-dev на сервері.
Терміни розробки
Встановлення та базова налаштування з Nginx, SSL та панеллю — 2–4 години. З мультиязичністю, ролями користувачів та кастомним конфігом — 1 день.







