bellcom/os2subsites_provision

用于管理 Drupal 多站点的服务器脚本解决方案。

安装: 376

依赖项: 0

建议者: 0

安全性: 0

星级: 0

关注者: 12

分支: 0

开放问题: 0

类型:drupal-module

1.0.3 2023-05-19 15:04 UTC

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 文件