Встановлення та налаштування Kirby CMS у середовищі ServBay
Kirby — це гнучка й потужна файл-орієнтована система керування контентом (CMS), ідеальна для створення сайтів будь-якої складності. На відміну від традиційних CMS з базою даних, Kirby зберігає контент у файловій системі, що робить її максимально легкою, зручною для контролю версій та простою в розгортанні.
Цей посібник покаже, як встановити та налаштувати Kirby 4.2 Starterkit за допомогою Composer у локальному середовищі веб-розробки ServBay. ServBay надає попередньо налаштовані PHP, веб-сервери (наприклад, Caddy або Nginx) і Composer, що робить його ідеальним майданчиком для локальної розробки з Kirby.
Вимоги перед початком
Перед стартом переконайтеся, що у вас вже:
- Встановлений та запущений ServBay на macOS.
- У ServBay активовано відповідну версію PHP (у цьому прикладі — PHP 8.2).
- Composer уже інтегрований до ServBay — окремо встановлювати його не потрібно.
Кроки встановлення Kirby
Детальна інструкція з інсталяції та налаштування Kirby у середовищі ServBay:
Крок 1: Створіть директорію для проєкту
Спершу відкрийте термінал. Перейдіть до стандартної кореневої директорії сайтів ServBay /Applications/ServBay/www
та створіть у ній нову папку для вашого проєкту. В якості прикладу назвемо проєкт servbay-kirby-app
.
bash
cd /Applications/ServBay/www
mkdir servbay-kirby-app
cd servbay-kirby-app
1
2
3
2
3
Крок 2: Створіть проєкт Kirby через Composer
Composer вже інтегровано у ServBay, тому у терміналі можна користуватися ним без додаткових налаштувань. У директорії servbay-kirby-app
виконайте таку команду, щоб завантажити та створити проєкт Kirby Starterkit:
bash
composer create-project getkirby/starterkit .
1
Ця команда завантажить основні файли Kirby, необхідні залежності, а також стартовий комплект із базовими шаблонами й наповненням у поточну директорію (.
).
Крок 3: Налаштуйте веб-сервер (Додавання сайту у ServBay)
Щоб веб-сервер ServBay (наприклад, Caddy або Nginx) обслуговував ваш Kirby-проєкт, треба додати у додатку ServBay нову конфігурацію сайту.
- Відкрийте застосунок ServBay: Запустіть додаток ServBay.
- Перейдіть до керування сайтами: Оберіть у лівому меню вкладку «Сайти».
- Додайте новий сайт: Натисніть кнопку «+» або іншу опцію додавання сайту.
- Заповніть дані сайту:
- Назва: Дайте зрозумілу назву, наприклад,
My Kirby Site
. - Домен: Вкажіть локальний домен для розробки. Рекомендується використовувати суфікси
.local
або.servbay.demo
, наприклад,servbay-kirby.local
. ServBay автоматично налаштує для вас локальний DNS. - Тип сайту: Виберіть
PHP
, оскільки Kirby — це PHP-застосунок. - Версія PHP: Оберіть відповідну версію, наприклад,
8.2
. Переконайтеся, що ця версія відповідає вимогам Kirby. - Коренева директорія сайту: Вкажіть шлях до файлу
index.php
Kirby Starterkit. Зазвичай це корінь проєкту — директорія, яку створили у кроці 1:/Applications/ServBay/www/servbay-kirby-app
.
- Назва: Дайте зрозумілу назву, наприклад,
- Збережіть налаштування: Перевірте введені дані й натисніть кнопку збереження. ServBay застосує нову конфігурацію, і, можливо, перезапустить відповідний веб-сервер.
Крок 4: Початкове налаштування Kirby
Основна конфігурація Kirby розташована у файлі site/config/config.php
. У Starterkit базові параметри вже налаштовані, тому сайт можна запускати відразу. У цьому файлі ви можете додавати власні налаштування, наприклад:
- Активувати режим відлагодження (
c::set('debug', true);
) - Встановити мову панелі керування
- Налаштувати маршрутизацію тощо
Папка content
для зберігання вмісту сторінок створиться автоматично Starterkit'ом у корені вашого проєкту.
Крок 5: Запуск та перегляд сайту на Kirby
Після налаштування у ServBay, ваш сайт на Kirby буде доступний за зазначеним вами доменом.
- Переконайтеся, що ServBay працює: Додаток ServBay має бути увімкнений, а відповідний веб-сервер (Caddy або Nginx) і PHP-пакет — запущені.
- Відвідати сайт: Відкрийте браузер і введіть у адресному рядку домен, вказаний у кроці 3, наприклад:
https://servbay-kirby.local
.
Ви маєте побачити стандартну вітальну сторінку Kirby Starterkit. За замовчуванням ServBay використовує HTTPS, тому рекомендовано відкривати сайт через https://
.
Крок 6: Встановлення та використання Kirby Panel (Опціонально)
Kirby має спеціальну панель адміністратора для зручного керування контентом, користувачами та налаштуваннями.
- Відвідайте сторінку встановлення панелі: Додайте до домену
/panel
, наприклад,https://servbay-kirby.local/panel
. - Створіть обліковий запис адміністратора: При першому відвідуванні
/panel
вас буде перенаправлено на сторінку інсталяції панелі. Дотримуйтесь інструкцій, заповніть дані (логін, пароль, email), щоб створити першого адміністратора. - Вхід до панелі: Після створення аккаунта ви зможете входити до Kirby Panel та керувати контентом сайту з інтерфейсу.
Створення сайту на Kirby
Тепер, коли Kirby успішно встановлено та налаштовано у локальному середовищі ServBay, можна використовувати її файл-орієнтовану архітектуру для створення сайту. Далі — основні поняття та дії для початку розробки:
Структура контенту (Content)
Весь контент Kirby зберігається у папці content
. Кожній сторінці відповідає власна підпапка, а вміст зазвичай розміщується у текстових файлах (наприклад, page.txt
) у цій папці із синтаксисом, подібним до Markdown.
Приклад: створення сторінки “Про нас”
У терміналі:
bash
cd /Applications/ServBay/www/servbay-kirby-app
mkdir content/about
echo "Title: Про нас\n----\nЦе сторінка про нас." > content/about/about.txt
1
2
3
2
3
Відвідайте https://servbay-kirby.local/about
(за умови, що у вашому шаблоні передбачено такий маршрут).
Шаблони (Templates)
Шаблони зберігаються у папці site/templates
і визначають, як відображається кожна сторінка. Імена шаблонів зазвичай відповідають папкам контенту чи blueprint (наприклад, about.php
— для сторінки content/about
або сторінки з blueprint'ом about
).
Приклад: створення шаблону about.php
У site/templates/about.php
:
php
<?php snippet('header') ?>
<main>
<h1><?= $page->title() ?></h1>
<div class="text">
<?= $page->text()->kt() // Рендерінг KirbyText ?>
</div>
</main>
<?php snippet('footer') ?>
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Тут використовується функція snippet()
для підключення загальних елементів, які можна перевикористовувати — таких як header та footer.
Blueprints (Схеми/Блупрінти)
Файли blueprints знаходяться у site/blueprints
і задають структуру, поля та опції сторінок у панелі керування. Схеми пишуться у форматі YAML.
Приклад: створення blueprint about.yml
У site/blueprints/pages/about.yml
:
yaml
title: Сторінка "Про нас"
columns:
- width: 2/3
fields:
text:
label: Вміст
type: textarea
size: large
buttons:
- bold
- italic
- link
- email
- width: 1/3
fields:
# Поля для сайдбару, наприклад, завантаження зображення
cover_image:
label: Обкладинка
type: files
max: 1
uploads:
template: image
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Після створення blueprint відповідні поля з'являться у панелі при створенні сторінки "Про нас".
Сніпети (Snippets)
Сніпети — це багаторазово використовувані PHP-файли для верхніх, нижніх або інших секцій сторінки, які розташовуються у site/snippets
.
Контролери (Controllers) та Моделі (Models)
Для складної логіки можна створювати контролери у папці site/controllers
, щоб обробляти дані сторінок, а також кастомні моделі сторінок у site/models
.
Статичні файли та ресурси (Assets)
CSS, JavaScript, зображення та інші статичні файли рекомендується зберігати у папці assets
у корені проєкту. Для підключення таких ресурсів у шаблонах використовуйте функцію url('assets/...')
.
Приклад: підключення CSS та JS
У site/templates/default.php
або site/snippets/header.php
:
php
<link rel="stylesheet" href="<?= url('assets/css/style.css') ?>">
<script src="<?= url('assets/js/script.js') ?>"></script>
1
2
2
Висновок
Дотримуючись цього посібника, ви легко й швидко інсталювали та налаштували Kirby CMS у локальному середовищі розробки ServBay. Сервіс ServBay пропонує зручне інтегроване середовище, що значно спрощує розгортання та адміністрування PHP-застосунків, тож ви можете зосередитися на ключовому — розробці та створенні гнучких сайтів із файлами контенту на Kirby. Поглиблюйте знання у шаблонах, blueprint-ах, snippets, аби будувати складнішу структуру і функціонал вашого майбутнього веб-проєкту.