在 ServBay 环境中安装和配置 Bedrock
概述
本文档将指导您如何在 ServBay 本地开发环境中安装和配置 Bedrock。Bedrock 提供了一个现代化的 WordPress 项目结构,利用 Composer 管理依赖,优化了配置管理,并遵循最佳实践,从而提升了开发、部署和维护 WordPress 项目的效率和安全性。结合 ServBay 强大且易用的本地环境管理能力,您可以快速搭建 Bedrock 开发环境。
什么是 Bedrock?
Bedrock 是由 Roots 团队创建的一个 WordPress 项目结构,旨在提升 WordPress 的开发体验。它与传统的 WordPress 结构有显著不同,主要特点包括:
- 使用 Composer 管理依赖: WordPress 核心、主题和插件都可以通过 Composer 进行管理,简化了更新和依赖冲突的处理。
- 改进的配置管理: 使用 Twelve-Factor App 原则,通过
.env
文件管理环境变量,使配置与代码分离,更安全、灵活。 - 更好的项目组织: 将 WordPress 核心放在独立的子目录 (
web/wp
) 中,将主题和插件放在web/app
中,结构更清晰。 - 增强的安全性: 默认包含了安全增强措施,如隐藏核心文件路径。
Bedrock 是构建更健壮、可维护和现代化的 WordPress 应用的理想选择。
为什么选择 ServBay 进行 Bedrock 开发?
ServBay 是一个专为 macOS 设计的本地 Web 开发环境工具,它集成了主流的 Web 服务器 (Caddy/Nginx/Apache)、多种 PHP 版本、数据库 (MySQL/PostgreSQL/MongoDB) 以及 Node.js, Python, Go, Java 等开发语言环境。使用 ServBay 搭配 Bedrock,您可以:
- 快速搭建环境: ServBay 预装了 Bedrock 所需的 PHP、Composer 和数据库,无需单独安装和配置。
- 灵活切换版本: 轻松切换 PHP 版本,测试 Bedrock 在不同 PHP 版本下的兼容性。
- 集成数据库管理: 通过 ServBay 自带的 phpMyAdmin 或 Adminer 方便地创建和管理 Bedrock 所需的数据库。
- 简化的网站配置: 通过 ServBay 的图形界面快速配置 Bedrock 项目的网站(虚拟主机),指向正确的网站根目录。
- 统一管理: 在一个应用中管理所有本地开发所需的软件包和网站。
前提条件
在开始安装之前,请确保您满足以下条件:
- 已在 macOS 上安装并运行 ServBay。
- 对命令行操作有基本了解。
- 对 Composer 有基本了解(尽管本文会提供具体命令)。
安装 Bedrock 的步骤
本节将详细介绍如何在 ServBay 环境中安装和配置 Bedrock 项目。
步骤 1:创建项目目录
首先,导航到 ServBay 的默认网站根目录 /Applications/ServBay/www
,并在此创建一个新的项目目录。我们建议使用一个具有描述性的名称,例如 servbay-bedrock-app
。
cd /Applications/ServBay/www
mkdir servbay-bedrock-app
cd servbay-bedrock-app
2
3
这个目录将是您的 Bedrock 项目的根目录。
步骤 2:使用 Composer 创建 Bedrock 项目
ServBay 已经自带了 Composer,您可以在终端中直接使用 composer
命令。在您刚刚创建的项目目录 (/Applications/ServBay/www/servbay-bedrock-app
) 中,运行以下 Composer 命令来创建 Bedrock 项目:
composer create-project roots/bedrock .
这个命令会下载 Bedrock 的最新版本及其所有依赖到当前目录 (.
)。这个过程可能需要一些时间,取决于您的网络速度。
步骤 3:创建数据库和用户
Bedrock 和 WordPress 需要一个数据库来存储网站内容和设置。我们将使用 ServBay 自带的 phpMyAdmin 来创建数据库和相应的用户。
访问 ServBay 自带的 phpMyAdmin 数据库管理工具
打开您的浏览器,访问 ServBay 的默认本地地址 https://servbay.host/。在 ServBay 的欢迎页面上,找到并点击「phpMyAdmin」链接,进入 phpMyAdmin 数据库管理工具界面。
创建数据库用户
为了安全和管理方便,建议为每个项目创建一个独立的数据库用户和数据库。
进入用户账户页面
在 phpMyAdmin 的主页面,点击顶部导航菜单中的「用户账户」。
添加新用户
点击「添加用户账户」。填写以下信息:
- 用户名: 输入一个用于此项目的数据库用户名,例如
bedrock_user
。 - 主机名: 选择
localhost
。这表示该用户只能从本地连接数据库。 - 密码: 输入一个安全的密码,用于此数据库用户。请记下这个密码。例如,您可以使用
password123
进行本地开发测试,但在生产环境中务必使用强密码。 - 重新输入: 再次输入您设置的密码。
在「数据库为用户创建」部分,选择「创建与用户名同名的数据库并授予所有权限」。这将自动创建一个名为
bedrock_user
的数据库,并赋予bedrock_user
用户对该数据库的所有权限。确保勾选「授予所有权限」复选框,以确保该用户对新创建的数据库拥有必要的操作权限。
点击页面底部的「执行」按钮完成用户和数据库的创建。
- 用户名: 输入一个用于此项目的数据库用户名,例如
步骤 4:配置 Bedrock
Bedrock 使用环境变量来管理配置,这些变量通常存储在项目根目录下的 .env
文件中。
编辑环境配置文件
在您的 Bedrock 项目根目录 (
/Applications/ServBay/www/servbay-bedrock-app
) 中,您会找到一个名为.env.example
的示例文件。复制这个文件并重命名为.env
:bashcp .env.example .env
1.env
文件是实际用于项目配置的文件,.env.example
仅作示例,不包含敏感信息。编辑
.env
文件使用您喜欢的文本编辑器(如 VS Code, Sublime Text, Nano 等)打开刚刚创建的
.env
文件。找到数据库连接相关的配置项,并根据您在步骤 3 中创建的数据库和用户信息进行修改:dotenv# Database DB_NAME='bedrock_user' # 数据库名称,与用户名相同 DB_USER='bedrock_user' # 数据库用户名 DB_PASSWORD='password123' # 数据库密码 DB_HOST='localhost' # 数据库主机地址,对于本地 ServBay 通常是 localhost DB_PREFIX='wp_' # 数据库表前缀,可以保持默认或修改 # WordPress Environment WP_ENV='development' # 当前环境,可以是 development, staging, production 等 # Site URLs WP_HOME='http://servbay-bedrock.local' # 网站的完整 URL WP_SITEURL='${WP_HOME}/wp' # WordPress 核心文件所在的 URL
1
2
3
4
5
6
7
8
9
10
11
12
13请根据您的实际情况(如数据库密码)修改上述值。特别是
DB_PASSWORD
,请替换为您在 phpMyAdmin 中设置的密码。WP_HOME
和WP_SITEURL
定义了您将在浏览器中访问网站的地址。servbay-bedrock.local
是一个常用的本地开发域名,您也可以根据需要更改。WP_SITEURL
指向 WordPress 核心所在的子目录 (web/wp
)。您还可以在
.env
文件中配置其他 Bedrock 和 WordPress 设置,例如定义常量、配置邮件发送等。
步骤 5:配置 Web 服务器 (ServBay 网站)
为了让 ServBay 的 Web 服务器能够解析您的 Bedrock 项目,您需要在 ServBay 中添加一个新的网站(虚拟主机)。
添加新网站
打开 ServBay 应用,点击左侧导航栏中的「网站」标签。点击界面中的「+」按钮或「添加网站」按钮来创建一个新的网站配置。填写以下信息:
- 名字: 为您的网站起一个标识性的名字,例如
My Bedrock Site
。这仅用于 ServBay 内部管理。 - 域名: 输入您在
.env
文件中WP_HOME
设置的域名,例如servbay-bedrock.local
。ServBay 会自动将这个域名映射到本地 (127.0.0.1
)。 - 网站类型: 选择
PHP
。 - PHP 版本: 选择一个与 Bedrock 兼容的 PHP 版本。Bedrock 通常支持较新的 PHP 版本,建议选择 ServBay 中最新的稳定 PHP 版本。
- 网站根目录: 这是非常重要的一步。Bedrock 的网站根目录不是项目根目录,而是项目目录下的
web
子目录。因此,您需要将网站根目录设置为/Applications/ServBay/www/servbay-bedrock-app/web
。
- 名字: 为您的网站起一个标识性的名字,例如
保存配置
填写完所有信息后,点击保存按钮。ServBay 会自动更新其 Web 服务器配置。如果 ServBay 提示需要重启服务,请按照提示操作。
步骤 6:完成 WordPress 安装
现在 Bedrock 项目已经设置好,并且 ServBay 也配置了相应的网站。接下来,您可以通过 Web 界面完成传统的 WordPress 安装步骤。
访问安装页面
打开您的浏览器,访问您在
.env
文件和 ServBay 网站配置中设置的WP_SITEURL
地址,例如http://servbay-bedrock.local/wp
。如果一切配置正确,您应该会看到 WordPress 的安装向导页面。填写数据库信息
WordPress 安装向导会要求您填写数据库连接信息。请使用您在步骤 3 中创建的用户和数据库信息:
- 数据库名:
bedrock_user
(与用户名相同) - 用户名:
bedrock_user
- 密码: 您在步骤 3 中设置的密码(例如
password123
) - 数据库主机:
localhost
- 表前缀:
wp_
(通常保持默认即可,除非有特殊需求)
点击「提交」按钮。WordPress 会尝试连接数据库。
- 数据库名:
填写站点信息
如果数据库连接成功,您将进入站点信息设置页面。填写以下信息:
- 站点标题: 您的网站名称。
- 用户名: 创建一个管理员用户名。
- 密码: 为管理员用户设置一个强密码。
- 您的电子邮件: 输入管理员的电子邮件地址。
- 搜索引擎可见性: 在本地开发环境中,通常建议勾选「阻止搜索引擎索引本站点」。
完成安装
点击「安装 WordPress」按钮。WordPress 将完成最后的安装过程,并在数据库中创建必要的表。安装成功后,您会看到成功的提示页面,并可以点击链接登录到 WordPress 管理后台。
步骤 7:安装主题和插件 (Composer 方式)
Bedrock 鼓励使用 Composer 来管理主题和插件,而不是通过 WordPress 后台界面。
查找主题/插件的 Composer 包名
许多流行的主题和插件都有对应的 Composer 包,通常可以在 Packagist (packagist.org) 或 WordPress Packagist (wpackagist.org) 上找到。它们的包名通常是
vendor/package-name
的格式,例如wpackagist-theme/twentytwentyone
或wpackagist-plugin/wordpress-seo
。使用 Composer 安装
在您的 Bedrock 项目根目录 (
/Applications/ServBay/www/servbay-bedrock-app
) 中,使用 Composer 命令进行安装。安装主题:
bashcomposer require wpackagist-theme/your-theme-name
1安装插件:
bashcomposer require wpackagist-plugin/your-plugin-name
1替换
your-theme-name
和your-plugin-name
为实际的主题或插件包名。Composer 会将主题安装到web/app/themes
目录,插件安装到web/app/plugins
目录。在 WordPress 后台启用
登录到 WordPress 管理后台 (
http://servbay-bedrock.local/wp/wp-admin/
),然后:- 对于主题:点击「外观」->「主题」,找到您安装的主题并启用。
- 对于插件:点击「插件」->「已安装的插件」,找到您安装的插件并启用。
虽然 Bedrock 支持通过 Composer 安装,您仍然可以通过 WordPress 后台上传
.zip
文件的方式安装主题和插件,但 Composer 方式是 Bedrock 推荐的、更现代化的管理方式。
使用 Bedrock 构建网站
现在您已经在 ServBay 环境中成功安装和配置了 Bedrock。您可以像使用标准 WordPress 一样开始构建您的网站,但同时享受 Bedrock 带来的现代化开发优势。
- 创建页面和文章: 登录 WordPress 后台,通过「页面」和「文章」菜单创建内容,这与标准 WordPress 无异。
- 配置导航菜单: 在「外观」->「菜单」中设置网站导航。
- 自定义小工具: 在「外观」->「小工具」中管理侧边栏等区域的内容。
- 主题和插件开发: 如果您是开发者,可以直接在
web/app/themes
和web/app/plugins
目录下进行主题和插件的开发。 - 配置管理: 利用
.env
文件管理不同的环境配置(开发、暂存、生产)。
常见问题 (FAQ)
- 问:访问
http://servbay-bedrock.local
出现 404 错误怎么办?- 答:请检查 ServBay 中配置的网站域名是否与您访问的域名一致。
- 答:请检查 ServBay 中配置的网站根目录是否正确指向
/Applications/ServBay/www/servbay-bedrock-app/web
。 - 答:请确保 ServBay 的 Web 服务器正在运行。
- 答:检查您的
.env
文件中的WP_HOME
设置是否正确。
- 问:访问
http://servbay-bedrock.local/wp
出现数据库连接错误怎么办?- 答:检查
.env
文件中的DB_NAME
,DB_USER
,DB_PASSWORD
,DB_HOST
是否与您在 phpMyAdmin 中创建的数据库和用户信息完全一致。 - 答:确保 ServBay 中 MySQL 或您使用的数据库服务正在运行。
- 答:确认您在 phpMyAdmin 中创建的用户被授予了对相应数据库的所有权限。
- 答:检查
- 问:为什么我的主题/插件安装后没有出现在 WordPress 后台?
- 答:如果您是使用 Composer 安装的,请确保您在项目根目录 (
/Applications/ServBay/www/servbay-bedrock-app
) 运行了composer install
或composer require
命令,并且命令执行成功。 - 答:Composer 安装的主题在
web/app/themes
,插件在web/app/plugins
。请检查这些目录下是否有相应的文件。 - 答:在 WordPress 后台,「外观」->「主题」或「插件」->「已安装的插件」页面中查找并启用它们。
- 答:如果您是使用 Composer 安装的,请确保您在项目根目录 (
- 问:如何更新 Bedrock、WordPress 核心、主题或插件?
- 答:由于 Bedrock 使用 Composer 管理,您通常需要在项目根目录运行
composer update
命令来更新所有依赖,或者使用composer update vendor/package-name
来更新特定的主题或插件。更新后,可能需要在 WordPress 后台执行数据库更新操作(如果需要)。
- 答:由于 Bedrock 使用 Composer 管理,您通常需要在项目根目录运行
总结
通过以上步骤,您已经成功地在 ServBay 本地开发环境中搭建了 Bedrock 项目。结合 ServBay 提供的便捷环境管理和 Bedrock 带来的现代化开发流程,您可以更高效、安全地进行 WordPress 项目的开发和维护。现在,您可以开始利用 Bedrock 的优势,构建您的下一个 WordPress 网站了!