ServBay環境でのKirby CMSのインストールと設定方法
Kirbyは柔軟かつ強力なファイルベースのコンテンツ管理システム(CMS)であり、さまざまなタイプのウェブサイト構築に適しています。従来のデータベース型CMSとは異なり、Kirbyはコンテンツをファイルシステム内に保存するため、非常に軽量でバージョン管理にも適し、展開もシンプルです。
このガイドでは、開発者向けに最適化されたローカルWeb開発環境「ServBay」を使って、ComposerによるKirby 4.2 Starterkitのインストール・設定手順を解説します。ServBayは、あらかじめ設定されたPHP、Webサーバー(CaddyまたはNginx)、Composerを搭載し、ローカルでのKirby開発に最適なプラットフォームです。
前提条件
始める前に、以下が整っていることを確認してください。
- ServBayをmacOSにインストールし、起動している
- ServBayで必要なPHPバージョン(本例ではPHP 8.2)が有効化済み
- ServBayにはComposerが同梱されており、別途導入の必要なし
Kirbyインストール手順
ServBay環境でKirbyをインストール・設定する詳しい手順は以下の通りです。
ステップ1:プロジェクトディレクトリの作成
まず、ターミナルアプリを開きます。ServBayのデフォルトウェブルートディレクトリ /Applications/ServBay/www
へ移動し、プロジェクトフォルダを新規作成します。ここでは例として servbay-kirby-app
という名前を使用します。
cd /Applications/ServBay/www
mkdir servbay-kirby-app
cd servbay-kirby-app
2
3
ステップ2:ComposerでKirbyプロジェクトを作成
ServBayにはComposerが統合されているため、ターミナルですぐに使用できます。servbay-kirby-app
ディレクトリで、以下のComposerコマンドを実行し、Kirby Starterkitプロジェクトをダウンロード&生成します。
composer create-project getkirby/starterkit .
このコマンドで、Kirby本体とその依存ライブラリ、そしてベースとなるコンテンツやテンプレートを含んだStarterkitが現在のディレクトリ(.
)に導入されます。
ステップ3:Webサーバー設定(ServBayでWebサイトを追加)
ServBayのWebサーバー(CaddyやNginx)でKirbyプロジェクトを公開するには、ServBayアプリで新規Webサイト設定を追加する必要があります。
- ServBayアプリを開く:ServBayアプリを起動します。
- ウェブサイト管理へ:ウィンドウ左側メニューの「ウェブサイト」タブをクリックします。
- 新しいサイトを追加:画面下部の「+」ボタン、またはサイト追加オプションをクリックします。
- サイト情報を入力:表示された設定画面で以下を入力します。
- 名前:分かりやすいサイト名(例:
My Kirby Site
) - ドメイン名:ローカル開発用ドメインを設定(推奨サフィックスは
.local
または.servbay.demo
。例:servbay-kirby.local
)。ServBayが自動でDNSを解決します。 - サイトタイプ:
PHP
を選択(KirbyはPHP製アプリ) - PHP バージョン:希望するPHPのバージョン(例:
8.2
)。Kirby推奨バージョン以上を選んで下さい。 - サイトのルートディレクトリ:Kirbyプロジェクトの
index.php
があるディレクトリ。通常はプロジェクトのルート(例:/Applications/ServBay/www/servbay-kirby-app
)。
- 名前:分かりやすいサイト名(例:
- 設定を保存:内容を確認し、保存ボタンをクリック。ServBayが設定を適用し、必要に応じてWebサーバーを再起動します。
ステップ4:Kirbyの初期設定
Kirbyのメイン設定は site/config/config.php
で管理します。Starterkitでは基本設定済みなので、すぐに動作します。このファイルでは、例えば以下のような設定が可能です。
debug
モードの有効化(c::set('debug', true);
)- 管理パネルの言語設定
- カスタムルーティングの追加など
プロジェクトルートには、コンテンツを保存するcontent
ディレクトリが自動で作成されています。
ステップ5:Kirbyサイトの起動とアクセス
ServBayの設定完了後、Kirbyウェブサイトを設定したドメインで閲覧できます。
- ServBayが起動中であることを確認:ServBayアプリとWebサーバー(Caddy/Nginx)、PHPモジュールが起動していることを確認します。
- サイトにアクセス:Webブラウザで、先ほど設定したドメイン(例:
https://servbay-kirby.local
)を入力してアクセス。
Kirby Starterkitのデフォルトのウェルカムページが表示されるはずです。ServBayは標準でHTTPS対応なので、https://
でアクセスすることを推奨します。
ステップ6:Kirbyパネル(管理画面)のインストールと利用(任意)
Kirbyには、ウェブサイトのコンテンツやユーザー、設定を管理できる強力なパネル(管理画面)が用意されています。
- パネルインストール画面にアクセス:ブラウザでサイトドメインの末尾に
/panel
を付けてアクセス(例:https://servbay-kirby.local/panel
)。 - 管理者アカウントの作成:初回アクセス時はインストール画面が表示されるので、案内に従ってユーザー名、パスワード、Eメールアドレスを入力し、管理者アカウントを作成します。
- パネルへログイン:アカウント作成後、Kirbyパネルにログインし、グラフィカルUIでコンテンツ管理などが行えます。
Kirbyでウェブサイトを開発する
これでServBay環境へのKirbyインストール&設定が完了し、ファイルベースCMSならではの使い勝手を生かしてサイト構築を始めることができます。以下、Kirby開発の基本概念や操作方法を簡単に紹介します。
コンテンツ構造(Content)
Kirbyのコンテンツは content
ディレクトリに格納されます。各ページは content
内のフォルダに対応し、その内容はフォルダ内のテキストファイル(例:page.txt
)にMarkdownライクな記法で記述します。
例:「会社概要」ページを作成
ターミナルで次のように操作します。
cd /Applications/ServBay/www/servbay-kirby-app
mkdir content/about
echo "Title: 会社概要\n----\nこちらは会社概要ページの内容です。" > content/about/about.txt
2
3
(テンプレート対応時)https://servbay-kirby.local/about
でアクセスできます。
テンプレート(Templates)
テンプレートファイルは site/templates
に配置し、ページの表示方法を定義します。ファイル名は基本的にコンテンツフォルダ名やブループリント名と一致します(例:about.php
は content/about
や about
ブループリントのページ用)。
例:about.php
テンプレート作成
site/templates/about.php
ファイルにて:
<?php snippet('header') ?>
<main>
<h1><?= $page->title() ?></h1>
<div class="text">
<?= $page->text()->kt() // KirbyTextでレンダリング ?>
</div>
</main>
<?php snippet('footer') ?>
2
3
4
5
6
7
8
9
10
ここではsnippet()
関数でヘッダーやフッターなどの共通部分を読み込んでいます。
ブループリント(Blueprints)
ブループリントファイルは site/blueprints
に格納し、パネルでのページ項目・構造・フィールドをYAML形式で定義します。
例:about.yml
ブループリント作成
site/blueprints/pages/about.yml
ファイルに以下を記述:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
ブループリント定義後、パネルから新規「会社概要」ページを作成する際、これらのフィールドが利用可能になります。
スニペット(Snippets)
スニペットは再利用可能なPHPファイルで、ヘッダー・フッター・ナビゲーションなどによく使われます。格納場所は site/snippets
です。
コントローラ(Controllers)とモデル(Models)
より高度なロジックが必要な場合、コントローラ(site/controllers
)でページのデータ処理や、モデル(site/models
)でカスタムページクラスの定義などが可能です。
アセット(Assets)
CSS、JavaScript、画像などの静的リソースは、通常プロジェクトルートの assets
フォルダに置きます。テンプレートでは url('assets/...')
ヘルパーでURL生成が可能。
例:CSSとJSの読み込み
site/templates/default.php
または site/snippets/header.php
に記述:
<link rel="stylesheet" href="<?= url('assets/css/style.css') ?>">
<script src="<?= url('assets/js/script.js') ?>"></script>
2
まとめ
以上の手順で、ServBayローカル開発環境へのKirby CMSインストール&設定が完了します。ServBayの統合開発環境が、PHPアプリの展開と管理を大きくシンプルにし、Kirbyの柔軟かつファイルベースのパワフルな機能を活かして、ご自身のウェブサイト開発に集中できます。引き続き、Kirbyのテンプレート・ブループリント・スニペットなどの機能を活用し、より高度で多機能なウェブサイト構築に取り組んでみてください。