Drupal 8多站点实现:使用一套Drupal代码运行多个不同网站

大伟哥 提交于 2017-09-21,周四, 16:50 ,最近更新于2017-09-21,周四, 23:37

今天大伟哥给大家介绍一下Drupal8多站点的实现。什么是Drupal多站点呢?就是使用同一套Drupal的代码,同时运行和管理多个不同的网站,不同的网站可以使用各自不同的域名、模块、语言、主题,等等等等。不但和你独立安装不同的Drupal网站实现的功能完成一样,甚至还可以通过使用某些共享数据实现一些跨站的功能。当然现在我们不要实现那么复杂的功能,我们的需求很简单,就是要用一套Drupal代码,让域名www.aaa.dev、www.bbb.dev、www.ccc.dev能够显示各自独立、不同的内容。

实现多站点的好处

使用同一套Drupal管理运行多站点,最主要的好处就是只需要维护一套Drupal源码。大家知道,作为活跃的开源项目,为了更多更强大的功能和更好的安全性,一定会不停地更新和升级,这就需要我们要及时维护更新程序。但如果你同时管理多个网站 ,重复的工作会占用你很多时间和精力,让你感到头痛。而使用Drupal的多站点特性,会让你的管理工作更加轻松一些。

Drupal 8多站点实现的前提

我们这里不讨论使用子域名、子目录、不同的端口形式的多站点,因此实现多域名多站点的前提,是能够把你的多个不同的域名,绑定在服务器相同的文件目录上。如果你管理的是独立的服务器或者VPS,那不用说,肯定是可以的。如果你用的是虚拟主机,你就需要确认能不能把两个或者两个以上的域名同时指向相同的文件夹。比如有些虚拟主机的入门级套餐,虽然只支持一个网站,但是却允许有多个parked domain或者addon domain,我们也可以利用Drupal的这个特性实现多个站点,岂不美哉?

好了,这里假定我们已经完成了域名绑定的工作。让我们直接入手来配置Drupal.

配置Drupal 8 多站点

简单来说,Drupal的多站点比正常的安装程序需要多做两步额外工作:

1. 在/sites文件夹里,创建三个目录,分别存放三个网站的配置文件和用户上传的文件,并把目录的拥有者设置为www-data:

  1. sudo mkdir aaa.dev
  2. sudo mkdir bbb.dev
  3. sudo mkdir ccc.dev
  4. sudo chown www-data:www-data -R *

2. 复制文件example.sites.php,命名为sites.php,把三个网站的域名和所在目录联系起来,有两种方法,应该都可以实现:

第一种,是直接在sites.php文件末尾加入三行:

  1. $sites['www.aaa.dev'] = 'aaa.dev';
  2. $sites['www.bbb.dev'] = 'bbb.dev';
  3. $sites['www.ccc.dev'] = 'ccc.dev';

第二种,是在文件sites.php里定义一个数组:

  1. $sites = array(
  2. 'www.aaa.dev' => 'aaa.dev',
  3. 'www.bbb.dev' => 'bbb.dev',
  4. 'www.ccc.dev' => 'ccc.dev',
  5. );

3.和正常安装Drupal一样,分别在浏览器里面输入三个域名,就可以开始安装了。

文章分类

标签

添加新评论

此字段内容将保密,不会被其他人看见。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
验证码
发布评论前,请通过下面的验证,以免被当作垃圾评论机器人屏蔽。
5 + 5 =
计算出这道简单的算术题并键入答案。例如、1+3,就输入 4。