在 ServBay 环境中安装和配置 Craft CMS
概述
Craft CMS 是一个功能强大的内容管理系统(CMS),因其灵活的内容建模、直观的用户界面和开发者友好的特性而受到开发者青睐。它非常适合构建复杂和定制化的网站。
使用 ServBay 作为 Craft CMS 的本地开发环境具有诸多优势,包括预配置的 PHP、数据库(如 MySQL 或 PostgreSQL)和 Web 服务器(Caddy 或 Nginx),以及内置的 Composer 和命令行工具,极大地简化了安装和配置过程。
本指南将详细介绍如何在 ServBay 环境中安装和配置 Craft CMS 项目。
前提条件
在开始之前,请确保您已具备以下条件:
- ServBay 已安装并运行: 确保您已在 macOS 上成功安装了 ServBay,并且所需的 PHP 版本(Craft CMS 有版本要求,请查阅 Craft CMS 官方文档)和数据库(通常是 MySQL 或 PostgreSQL)软件包已启动。ServBay 支持多种 PHP 版本和数据库,您可以根据 Craft CMS 的要求轻松切换和配置。
- 了解基础的命令行操作: 您需要使用终端执行一些命令,例如创建目录和运行 Composer。
- 了解 Composer: Craft CMS 使用 Composer 管理依赖。ServBay 内置了 Composer,但您需要知道如何运行
composer create-project
命令。
安装 Craft CMS 的步骤
以下是在 ServBay 环境中安装和配置 Craft CMS 的具体步骤。
步骤 1:创建项目目录
首先,在 ServBay 的默认网站根目录 /Applications/ServBay/www
中创建一个新的项目目录。ServBay 默认将此目录配置为 Web 服务器的服务目录,方便您直接访问项目。
打开终端,执行以下命令:
cd /Applications/ServBay/www
mkdir servbay-craft-app
cd servbay-craft-app
2
3
这将在 /Applications/ServBay/www
目录下创建一个名为 servbay-craft-app
的新文件夹,并进入该文件夹。
步骤 2:使用 Composer 创建 Craft CMS 项目
ServBay 已经自带 Composer,因此您可以直接在项目目录中使用 Composer 来创建 Craft CMS 项目。Craft CMS 官方推荐使用 Composer 进行安装。
在 servbay-craft-app
目录下,运行以下命令:
composer create-project craftcms/craft .
此命令会下载 Craft CMS 的最新版本及其所有依赖项到当前目录 (.
)。请耐心等待 Composer 完成下载和安装过程。
步骤 3:创建数据库和用户
Craft CMS 需要一个数据库来存储内容和配置信息。我们将使用 ServBay 自带的 phpMyAdmin 或 Adminer 工具来创建数据库和用户。这里以 phpMyAdmin 为例。
访问 ServBay 自带的数据库管理工具 (phpMyAdmin)
打开浏览器,访问 ServBay 的本地开发面板 https://servbay.host/。在面板中找到并点击「phpMyAdmin」链接,进入 phpMyAdmin 数据库管理工具。
提示:ServBay 默认的 phpMyAdmin 访问用户通常是
root
,默认密码ServBay.dev
。出于安全考虑,建议您连接后立即修改root
用户密码或创建新的管理用户。创建数据库用户
虽然可以使用
root
用户连接 Craft CMS,但出于安全性和权限管理的考虑,最佳实践是为每个应用创建独立的数据库用户。进入用户账户页面
在 phpMyAdmin 的主页面,点击顶部菜单中的「用户账户」。
添加新用户账户
点击「添加用户账户」。填写以下信息:
- 用户名: 输入一个用于 Craft CMS 数据库连接的用户名,例如
craft_user
。 - 主机名: 选择
localhost
或本地
,表示该用户只能从本地连接数据库。 - 密码: 输入一个安全的密码。请勿使用示例中的
password123
,尤其是在生产环境中。在本地开发环境,可以使用相对简单的密码方便测试,但请记住安全性原则。 - 重新输入: 再次输入密码以确认。
- 在「数据库为用户创建」部分,选择「创建与用户名同名的数据库并授予所有权限」。这是一个便捷的选项,会自动创建一个名为
craft_user
的数据库,并授予craft_user
用户对该数据库的所有权限。 - 确保勾选了「授予所有权限」。
- 点击页面底部的「执行」按钮。
- 用户名: 输入一个用于 Craft CMS 数据库连接的用户名,例如
现在,您已经创建了一个名为
craft_user
的数据库用户,以及一个同名的数据库craft_user
,并赋予了相应的权限。
步骤 4:配置 Web 服务器 (在 ServBay 中创建网站)
为了让 ServBay 的 Web 服务器(Caddy 或 Nginx)能够为您的 Craft CMS 项目提供服务,您需要在 ServBay 中添加一个“网站”配置。
打开 ServBay 应用程序
启动 ServBay 应用程序。
添加新网站
点击 ServBay 应用窗口左侧导航栏的「网站」标签(注意:旧版本可能显示为“主机”)。点击下方的「+」按钮或右侧的「添加网站」按钮来添加一个新的网站配置。
填写以下信息:
- 名字 (Name): 给您的网站起一个易于识别的名字,例如
My Craft Site
。 - 域名 (Domains): 输入您希望在本地访问此网站的域名,例如
servbay-craft.local
。ServBay 会自动配置本地 DNS,让您可以通过此域名访问。 - 网站类型 (Type): 选择
PHP
。 - PHP 版本 (PHP Version): 选择您在前提条件中确认的、与 Craft CMS 兼容的 PHP 版本。ServBay 支持同时安装和运行多个 PHP 版本。
- 网站根目录 (Website Root): 这是非常关键的一步。Craft CMS 的公共可访问文件(如
index.php
)位于项目目录下的web
子目录中。为了安全起见,Web 服务器的根目录应该指向这个web
目录,而不是整个项目根目录。请填写:/Applications/ServBay/www/servbay-craft-app/web
请确保路径正确,指向您在步骤 1 创建的项目目录下的web
文件夹。
- 名字 (Name): 给您的网站起一个易于识别的名字,例如
保存配置
填写完毕后,点击「保存」按钮。ServBay 会重新加载 Web 服务器配置,使新的网站配置生效。您可以通过 ServBay 的网站列表中看到新添加的
servbay-craft.local
网站。
步骤 5:运行 Craft CMS 安装程序
现在,您可以通过浏览器访问您配置的域名来运行 Craft CMS 的 Web 安装程序。
访问安装页面
打开浏览器,访问您配置的域名
https://servbay-craft.local/
。Craft CMS 会检测到尚未安装,并自动重定向到安装页面,通常是https://servbay-craft.local/index.php?p=admin/install
。填写数据库连接信息
在 Craft CMS 安装页面的数据库配置步骤中,填写您在步骤 3 创建的数据库信息:
- 数据库服务器 (Database Server):
localhost
- 数据库名 (Database Name):
craft_user
(或您在步骤 3 创建的数据库名) - 用户名 (Username):
craft_user
(或您在步骤 3 创建的用户名) - 密码 (Password): 您在步骤 3 为
craft_user
用户设置的密码。
点击继续。Craft CMS 会尝试连接数据库。如果连接成功,将进入下一步。
- 数据库服务器 (Database Server):
填写管理员账户信息
按照页面提示,创建一个 Craft CMS 管理员账户。填写您的用户名、密码和电子邮件地址。请选择一个安全的密码。
点击继续。
站点设置
填写您的站点名称等基本信息。
点击「完成安装 (Finish Up)」按钮。Craft CMS 将完成最后的安装步骤,包括创建数据库表和生成配置文件。
安装完成后,您将被重定向到 Craft CMS 的管理后台登录页面。
步骤 6:初步配置和探索
登录到 Craft CMS 管理后台后,您可以进行一些初步的配置和探索:
- 检查
.env
文件: Craft CMS 使用.env
文件管理环境变量,包括数据库连接信息。安装程序会自动生成一个,您可以在项目根目录 (servbay-craft-app/
) 下找到它。您可以在此文件中修改配置,例如设置CRAFT_ENVIRONMENT
为dev
。 - 安装插件: 在管理后台,点击「插件 (Plugins)」,您可以浏览、安装和管理 Craft CMS 插件,以扩展功能。
- 创建内容结构: 探索「设置 (Settings)」部分,定义您的字段、章节 (Sections)、分类 (Categories)、标签 (Tags) 等内容结构。
- 配置邮件发送: 如果您需要在本地测试邮件发送功能,可以配置 Craft CMS 使用 ServBay 内置的 Mailpit 或 Mailhog。在
.env
文件或管理后台的邮件设置中,将邮件发送方式配置为 SMTP,服务器地址通常是localhost
,端口是 Mailpit/Mailhog 的 SMTP 端口(ServBay 面板中有显示)。
常见问题 (FAQ)
- 问:安装过程中出现数据库连接错误怎么办?
- 答: 检查您在 Craft CMS 安装程序中填写的数据库服务器地址 (
localhost
)、数据库名、用户名和密码是否与您在 phpMyAdmin 中创建的完全一致。确保 ServBay 的数据库服务(如 MySQL 或 PostgreSQL)正在运行。
- 答: 检查您在 Craft CMS 安装程序中填写的数据库服务器地址 (
- 问:访问
servbay-craft.local
出现 404 或空白页?- 答:
- 请检查您在 ServBay 中创建网站时,“网站根目录”是否准确指向了
/Applications/ServBay/www/servbay-craft-app/web
目录。这是最常见的错误。 - 确保 ServBay 的 Web 服务器(Caddy 或 Nginx)和 PHP 服务正在运行。
- 检查 ServBay 的网站列表中
servbay-craft.local
对应的网站配置是否已启用。
- 请检查您在 ServBay 中创建网站时,“网站根目录”是否准确指向了
- 答:
- 问:Composer 安装 Craft CMS 时速度很慢或失败?
- 答: 这可能是网络问题或 Composer 镜像源的问题。您可以尝试切换 Composer 的镜像源到国内的镜像站,例如阿里云或 Packagist China。
- 问:安装完成后,管理后台或前台页面样式丢失或图片无法显示?
- 答: 这通常是文件权限问题。确保 ServBay 运行的用户对
storage
和web/cpresources
等目录具有写入权限。ServBay 通常会自动处理权限,但如果遇到问题,可以手动检查或尝试重置相关目录的权限。
- 答: 这通常是文件权限问题。确保 ServBay 运行的用户对
总结
通过遵循以上步骤,您应该已成功在 ServBay 本地开发环境中安装并配置好了 Craft CMS。ServBay 提供的集成环境简化了 PHP 版本管理、数据库设置和 Web 服务器配置,让您可以专注于 Craft CMS 本身的应用开发。现在,您可以开始利用 Craft CMS 强大的内容建模功能来构建您的网站或应用程序了。