在 ServBay 环境中安装和配置 Kirby CMS
Kirby 是一个灵活且强大的文件驱动内容管理系统(CMS),适用于构建各种类型的网站。与传统的数据库驱动 CMS 不同,Kirby 将内容存储在文件系统中,这使得它非常轻量、易于版本控制且部署简单。
本教程将指导您如何在 ServBay 这个为开发者量身定制的本地 Web 开发环境中,使用 Composer 安装并配置 Kirby 4.2 Starterkit。ServBay 提供了预配置的 PHP、Web 服务器(如 Caddy 或 Nginx)和 Composer,是进行本地 Kirby 开发的理想平台。
前提条件
在开始之前,请确保您已经:
- 在 macOS 上安装并运行了 ServBay。
- 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 中添加网站)
为了让 ServBay 的 Web 服务器(如 Caddy 或 Nginx)能够服务您的 Kirby 项目,您需要在 ServBay 应用中添加一个新的网站配置。
- 打开 ServBay 应用:启动 ServBay 应用程序。
- 进入网站管理:点击 ServBay 窗口左侧导航栏中的「网站」标签。
- 添加新网站:点击界面底部的「+」按钮或类似的添加网站选项。
- 填写网站信息:在弹出的配置窗口中填写以下信息:
- 名字:给您的网站起一个易于识别的名称,例如
My Kirby Site
。 - 域名:设置一个本地开发域名。推荐使用
.local
或.servbay.demo
后缀,例如servbay-kirby.local
。ServBay 会自动为您配置本地 DNS 解析。 - 网站类型:选择
PHP
,因为 Kirby 是一个 PHP 应用。 - PHP 版本:选择您希望使用的 PHP 版本,例如
8.2
。请确保此版本符合 Kirby 的最低要求。 - 网站根目录:指定您的 Kirby 项目的
index.php
文件所在的目录。对于 Kirby Starterkit,这通常是项目根目录本身。输入或通过文件选择器选择您在步骤 1 中创建的目录路径:/Applications/ServBay/www/servbay-kirby-app
。
- 名字:给您的网站起一个易于识别的名称,例如
- 保存配置:确认信息无误后,点击保存按钮。ServBay 会自动应用新的配置,并可能需要重启相关的 Web 服务器。
步骤 4:配置 Kirby (初步)
Kirby 的核心配置主要通过 site/config/config.php
文件进行。对于 Starterkit,基础配置已经完成,可以直接运行。您可以在此文件中添加自定义设置,例如:
- 设置
debug
模式 (c::set('debug', true);
) - 配置面板语言
- 定义自定义路由等
在您的项目根目录中,content
目录已经由 Kirby Starterkit 自动创建,用于存放所有页面内容。
步骤 5:运行和访问 Kirby 网站
ServBay 配置完成后,您的 Kirby 网站就可以通过您设置的域名进行访问了。
- 确保 ServBay 运行:确认 ServBay 应用正在运行,并且相关的 Web 服务器(Caddy 或 Nginx)以及 PHP 软件包已启动。
- 访问网站:打开您的 Web 浏览器,在地址栏输入您在步骤 3 中配置的域名,例如
https://servbay-kirby.local
。
您应该会看到 Kirby Starterkit 的默认欢迎页面。ServBay 默认启用 HTTPS,因此使用 https://
访问是推荐的方式。
步骤 6:安装和使用 Kirby 面板(可选)
Kirby 提供了一个强大的管理面板,方便您管理网站内容、用户和设置。
- 访问面板安装页面:在浏览器中访问您的网站域名后加上
/panel
路径,例如https://servbay-kirby.local/panel
。 - 创建管理员账户:如果是首次访问
/panel
,您将被引导至面板安装页面。按照页面提示填写必要信息(用户名、密码、电子邮件地址)来创建您的第一个管理员账户。 - 登录面板:创建账户后,您将可以登录 Kirby 面板,开始通过图形界面管理您的网站内容。
使用 Kirby 构建网站
现在您已经成功在 ServBay 环境中安装和配置了 Kirby,可以开始利用其文件驱动的特性来构建您的网站了。以下是一些基本的 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 的模板、蓝图、片段等概念,构建更复杂的网站结构和功能。