Встановлення та налаштування Kirby CMS

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Встановлення та налаштування Kirby CMS
Проста
від 4 годин до 2 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Встановлення та налаштування 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 день.