ubuntu-apache2-drupal 單一根目錄多網站建立

為什麼要使用多網站?

drupal安全性更新問題與減少模組佔用記憶體

如果今天部使用多網站,而是每個網站分開資料夾,那麼今天要做安全性更新,就必須一個網站,一個網站更新。
今天所有網站都放在同一個資料夾,那麼drupal核心更新時,在更新一次,可能就可以更新5.6個網站。
同時也減少大量相同模組安裝,所造成佔用的記憶體。

如何使用多網站(以ubuntu-apache2為例)

1.在/etc/apache2/sites-available/建立設定檔

bene5.n.tw設定檔

nano bene5.n.tw.conf


ServerAdmin xyz@arthurtoday.com

ServerName bene5.n.tw

ServerAlias bene5.n.tw

DocumentRoot /var/www/drupal

ErrorLog /var/www/drupal/logs/error.log

CustomLog /var/www/drupal/logs/access.log combined


taner.n.tw設定檔

nana taner.n.tw.conf


ServerAdmin xyz@arthurtoday.com

ServerName taner.n.tw

ServerAlias taner.n.tw

DocumentRoot /var/www/drupal

ErrorLog /var/www/drupal/logs/error.log

CustomLog /var/www/drupal/logs/access.log combined


DocumentRoot 指向同一個網站根目錄

ServerAlias 更改成自己的網址

啟動設定檔

a2ensite bene5.n.tw.conf
a2ensite taner.n.tw.conf

先不重新啟動apache2,因為var/www/內還沒有建drupal與裡面的logs資料夾,如果重新啟動apache2會失敗。

2.到/var/www/建立網站

drush dl drupal-7.41    #drupal-後面接版本

mv drupal-7.41   drupal #對應之前DocumentRoot /var/www/drupal

cd drupal

mkdir logs #建立logs資料夾

3在網站根目錄建立sites files與settings.php

cd /var/www/drupal/sites/

mkdir bene5.n.tw

mkdir taner.n.tw

### 如果是打包的drupal,先把別人給的drupal網站sites/all/複製
### 到 /var/www/drupal/sites/內(直接覆蓋原本的all,如果是兩個不同的網站,使用合併就好)

cd ..

cd default/

cp default.settings.php ../bene5.n.tw

cp default.settings.php ../taner.n.tw

cd ../bene5.n.tw

mkdir files    ###或者是別人把包給你的,在打包的drupl資料夾內的sites/default/找到files資料夾,複製到這

cp  default.settings.php  settinga.php

cd ../taner.n.tw

mkdir files    ###或者是別人把包給你的,在打包的drupl資料夾內的sites/default/找到files資料夾,複製到這

cp  default.settings.php  settinga.php

4.建立資料庫與使用者並給予使用者權限

mysql -p
Enter password:Mypassword

> create database bene5;
> create user 'yyy'@'%' identified by 'zzz';  ###如果是本機,可以使用root(使用者名)與mysql password 可以不用建立
> grant all privileges on xxx.* to yyy@'%';  ###如果是本機,可以使用root(使用者名)與mysql password 可以不用建立
             ###xxx為資料庫 yyy為使用者名稱 zzz為密碼


> create database taner;
> create user 'yyy'@'%' identified by 'zzz';
> grant all privileges on xxx.* to yyy@'%';

>exit

5.重新啟動apache2

service apache2 restart

如果是本機

nano /etc/hosts

在裡面的127.0.0.1下面加上

127.0.0.1  bene5.n.tw
127.0.0.1  taner.n.tw

6.開啟網站,建立完成