bellcom / os2subsites_provision
用于管理 Drupal 多站点的服务器脚本解决方案。
Requires
This package is auto-updated.
Last update: 2024-09-24 11:36:31 UTC
README
需求。
- Drupal 7,8
- Apache 网络服务器
注意:此解决方案不与 NGINX 网络服务器兼容。
下载并安装。
推荐使用 Composer 在您的 Drupal 项目中获取文件。只需使用命令 composer require bellcom/os2subsites_provision
。
Composer 特定设置。
对于基于 Composer 的堆栈,您需要将特定设置添加到 composer.json 文件中。
1. 覆盖 Composer 安装器的默认安装路径。
默认情况下,bellcom/os2subsites_provision
将作为 drupal-module
安装。在您的 composer.json
中添加额外行以覆盖默认路径。
添加以下行
"scripts/os2subsites_provision": ["bellcom/os2subsites_provision"],
上述行定义了 Drupal 模块的路径
"extra": {
...
"installer-paths": {
...
"scripts/os2subsites_provision": ["bellcom/os2subsites_provision"],
"web/modules/contrib/{$name}": ["type:drupal-module"],
...
}
...
}
2. 检查本地和配置文件。
Composer 将保持 os2subsite_provision 代码库更新和稳定。这意味着所有额外文件都将从 os2subsites_provision 目录中删除,包括配置和本地文件。要在每次 composer 安装/更新后添加文件,请将以下命令添加到 composer.json 的 scripts
部分。
"scripts": {
...
"post-install-cmd": [
...
"./scripts/os2subsites_provision/check_config.sh scripts/os2subsites_provision_config"
...
],
"post-update-cmd": [
...
"./scripts/os2subsites_provision/check_config.sh scripts/os2subsites_provision_config"
...
]
},
要管理子站点,存在一个触发服务器脚本的 Drupal 模块。请参阅以下如何添加模块的说明。
允许网络服务器运行 os2subsites_provision 脚本。
要允许网络服务器运行处理子站点的脚本,您需要允许 Apache 用户使用 sudo
权限无密码运行此脚本。要允许 Apache 用户 www-data
运行 os2subsite 脚本,请将以下行添加到 /etc/sudoers.d/os2subiste_provision
文件中。
www-data ALL=(root) NOPASSWD: /var/www/[your-project]/scripts/os2subsites_provision/subsite_add_domain.sh
www-data ALL=(root) NOPASSWD: /var/www/[your-project]/scripts/os2subsites_provision/subsite_create.sh
www-data ALL=(root) NOPASSWD: /var/www/[your-project]/scripts/os2subsites_provision/subsite_delete.sh
www-data ALL=(root) NOPASSWD: /var/www/[your-project]/scripts/os2subsites_provision/subsite_remove_domain.sh
www-data ALL=(root) NOPASSWD: /var/www/[your-project]/scripts/os2subsites_provision/reload.sh
添加后重启网络服务器以应用更改。
如果您需要更多信息,请参阅文章如何在没有密码的情况下运行 sudo 命令,或者直接在 Google 上搜索。
Drupal 8 模块。
要将模块添加到您的 Drupal 8 安装中,创建指向正确的 8.x 模块的符号链接,如下例所示。它假设您的 web
是 Drupal 根目录,而 scripts/os2subsites_provision
是包含 os2subsites 脚本的目录。
mkdir -p ./web/modules/custom
cd ./web/modules/custom
ln -s ../../../scripts/os2subsites_provision/8.x/bc_subsites
请参阅模块 README.md 文件
Drupal 7 模块。
要将模块添加到您的 Drupal 7 安装中,创建指向正确的 7.x 模块的符号链接,如下例所示。它假设您的 docroot
是 Drupal 根目录,而 scripts/os2subsite_provision
是包含 os2subsite_provision 脚本的目录。
mkdir -p ./web/sites/all/modules/custom
cd ./web/sites/all/modules/custom
ln -s ../../../../../scripts/os2subsites_provision/7.x/bc_subsites
请参阅模块 README.md 文件