Drupal 8 多站点介绍及安装配置指南

Drupal 8 多站点介绍

多站点(Multi-Sites)是 Drupal 的一大特性,其主要特点有:

  • 使用一套代码,安装和运行多个 Drupal 站点(代码维护、升级方便)
  • 所有站点共享底层代码,同时每个站点可以拥有专属的模块、主题(通用模块、主题所有站点共享,各个站点可根据需要进行个性化扩展、配置)
  • 每个站点有自己独立的数据库,或通过表前缀共同一个数据库(代码共享,数据独立)
  • 每个站点有自己独立的文件目录(用户文件独立)

Drupal 8 多站点

  其中,共享代码是大家选择使用多站点的一个主要原因,尤其是需要对站点进行升级时——例如我们采用多站点形式安装了30个站点,因为所有站点共享一套代码,所以只需执行一次代码升级,就可以完成对所有站点的代码升级操作。但如果是以传统方式独立安装的30个站点,则需要执行30次操作才可以完成所有站点的代码升级。因此,使用多站点可以大大节省站点的代码维护和升级管理。

  然而,多站点使用同一套代码也是它的弊端。如果管理员对站点有完全管理的权限(包括执行PHP的权限),那么他们的操作就可以对其它站点造成影响。所以除非完全信任各个站点的管理员(或者所有站点都是由一个管理员进行管理),否则使用多站点会存在潜在的安全风险。

Drupal 8 配置多站点

  1. sites/default.sites.php 复制为 sites/sites.php(一般情况下只需要复制此文件即可,无需手动进行编辑。可打开此文件了解详细信息)
  2. 在 sites/ 目录下创建以站点域名相同的新目录,有多少个站点,就新建多少个对应的目录。如站点域名为 example.com 或 www.example.com,新目录名称为 example.com,如果站点域名为 site1.example.com,新目录名称为 site1.example.com。
  3. sites/default/default.settings.php 复制到新目录下,并重命名为 settings.php。如 sites/example.com/settings.php
  4. 配置 Apache,将对应域名绑定到 Drupal 根目录
  5. 解析 DNS (开发时可使用 hosts 文件进行域名解析)
  6. 通过浏览器访问域名,执行多站点安装(安装流程与默认 Drupal 安装相同,可参考《Drupal 8 图文安装教程》)

如果使用 Linux 或 Mac OS,除了使用域名进行多站点配置,Drupal 也支持使用子目录形式进行多站点配置(如使用 http://example.com/site1http://example.com/site2 形式的站点),具体可参考官方文档《Multi-site in subdirectory

  默认模块、主题目录下的模块和主题各个多站点均可以使用,如果多站点需要安装仅供自己使用的模块及主题,可以放置于自己的模块和主题目录下,如 sites/example.com/modulessites/example.com/themes

看完了?还不过瘾?点此向作者提问
打赏一下,鼓励Ta创作更多好内容!