使用 DDEV 在本地设置 Drupal 9 多站点:托管在 Acquia 并使用 Acquia Pipelines
2023-03-12•3 分钟阅读
在我目前的工作中,我领导的团队正在为一家大型私营组织提供三个网站的支持。这三个网站托管在 Acquia 上。这些网站是多站点设置的一部分,源代码使用 Acquia Pipelines 服务进行管理。
简而言之,Acquia Pipelines 是 Acquia 提供的一项持续集成和部署服务,Acquia 是一个为 Drupal 网站提供企业级托管、支持和管理的云平台。
什么是 DDEV?
DDEV 是一个命令行工具,可帮助开发人员快速轻松地设置本地开发环境。它旨在简化设置本地 Web 服务器、管理依赖项和配置开发环境的过程。如果您是第一次尝试使用 DDEV,请务必查看这篇 帖子 以开始使用 DDEV。
什么是 Drupal 多站点?
Drupal 多站点是一项功能,允许使用单个 Drupal 代码库和数据库管理多个网站。在 Drupal 多站点设置中,多个网站共享一个 Drupal 安装,这可以减少维护时间和成本。
在 Drupal 多站点配置中的每个网站都有其自己独特的域名或子域名,并且可以拥有自己的主题、模块、内容和配置。但是,它们共享相同的核心代码库和数据库。
当您需要管理共享相似代码库、主题或功能的多个网站时,Drupal 多站点非常有用,例如相关的网站网络或网站的多个语言版本。它可以简化网站维护,降低成本,并提高网站之间的一致性。
设置本地多站点的步骤
- 您需要使用 DDEV 设置项目。请查看这篇 帖子 以开始。
- 站点提供的 docroot 位置应为 web/docroot。运行命令
ddev config
时会询问有关 docroot 位置的问题
- 站点提供的 docroot 位置应为 web/docroot。运行命令
- 在 .ddev 文件夹中,创建一个名为 config.multisite.yaml 的文件
- config.multisite.yaml 文件应包含以下内容:
additional_hostnames:
- site1
- site2
- site3
- 更新 sites.php 文件以添加三个本地域名及其对应的文件夹。
sites.php 文件是一个配置文件,允许您将域名或 URL 映射到特定的 Drupal 站点目录。
$sites['site1.ddev.site'] = 'site1_directory';
$sites['site2.ddev.site'] = 'site2_directory';
$sites['site3.ddev.site'] = 'site3_directory';
- 使用 PHPMyAdmin 创建三个数据库。如果 DDEV 项目的名称为 mysite,则可以通过 https://mysite.ddev.site:8037/ 访问 phpmyadmin
- 从 Acquia 导出数据库备份,并将其导入到您在第 4 步中创建的相应数据库中。
- 如果数据库很大,您可以使用 ddev 命令导入它们:
ddev import-db --target-db=DATABASE_NAME --src=.tarballs/DB-BACKUP_FILE.sql.gz
- 如果数据库很大,您可以使用 ddev 命令导入它们:
- 在每个文件的目录中,您需要添加此 ddev 文件。
- 需要更新每个站点的 settings.php 文件以包含来自此文件的代码。
- 运行
ddev ssh
,然后运行composer install
ddev ssh
命令允许您访问正在运行的 ddev Web 容器的命令行界面 (CLI),因此您可以在 Web 容器内部运行 composer、drush 和其他命令。