You are here

如何使用Drupal搭建多个站点

g089h515r806 的头像
Submitted by g089h515r806 on 星期四, 2008-10-09 02:04

      随着需求的不断增多,当各个功能相互比较独立的时候,大家可能就需要搭建多个站点了.搭建多个站点的方式很多,比如说你可以完全的独立开来,使用不同的数据库,即便是drupal核心也是分开的;你也可以共用一个drupal核心,使用不同的数据库;还有就是共用一个drupal核心,共用部分数据库.

      我的环境是vista系统,XAMPP集成环境。对于第一种方式,直接在htdocs目录下面多建几个子目录就可以了,然后分别创建多个数据库。我一般都采用这种方式,因为自己主要是测试学习使用,相应的url为http://localhost/drupal,http://localhost/ubercart等等,其中drupal,ubercart就是htdocs目录下面的子目录,然后分别创建两个数据库,分别设置settings.php文件就可以了。这种方式我想大家都会用。

接下来要介绍的是如何使用同一个drupal核心搭建多个站点,这里是两个。步骤如下,

1,  把drupal核心放到htdocs目录下,而不是下面的子目录中。在sites/all目录下面,创建两个子目录modules和themes,用来放置站点公用的drupal第3方模块和自定义模块,根据你的习惯,可以在sites/all/modules下面再创建两个子目录contrib和custom,前者放置drupal.org下载的drupal第3方模块,后者放置自己开发的drupal模块。

2,  在sites/all目录下面,新建两个子目录:drupal.zhupou.cn,ubercart.zhupou.cn;这里面使用的是域名,在虚拟主机上,你需要设置对应的域名解析,以及子域名设置,我这里讲的仅仅是在本地,没有在虚拟主机上实践过。将sites/default目录下面的settings.php文件,分别拷贝到drupal.zhupou.cn,ubercart.zhupou.cn目录下面,并在这两个子目录下面分别创建modules和themes子目录,用途和上面所讲的一样。

3.  设置drupal.zhupou.cn/settings.php中的配置,主要包括$db_url,和$db_prefix,前者是配置的数据库,包括数据库名,密码。后者配置的是同一个数据库中,共用的部分,独有的部分,共用的部分使用‘shared’前缀,drupal.zhupou.cn自用的使用drupal前缀。所以先配置'default'                          => ' drupal_',

接着你把要共用的表分别列出来,比如共用用户标,下面就是:

'users'                            => 'shared_',

'users_roles'                       => 'shared_',

 

ubercart.zhupou.cn/settings.php的配置和前面一样,不过它的$db_prefix设置为

'default'                          =>'ubercart_',

公用和前者一样。当然你还需要设置sites/default/settings.php,设置方式和子站点一样,就是设置默认情况下,使用哪个站点。我经常设置$base_url这个设置,不过好像没有什么用,不设置也能工作。

4.在vista的hosts文件中,添加:

  127.0.0.1 drupal.zhupou.cn

127.0.0.1 ubercart.zhupou.cn

5.重起apache,这样就搭起了两个站点,其它就和一个站点一样了。

相关链接:Think in Drupal

更多drupal多站点安装的参考文章,可参看drupal手册中的http://drupal.org/node/43816,里面给出了各种环境下面的配置

Drupal版本: