drupal multisite的好處是模組可以共用,更新其中一個網站,其他次網站也都一併更新,如果資料庫分別設成不一樣的資料庫,就可以實現多網站+共用網頁檔案+獨立資料庫的架構,日後方便更新與維護。
0.如果資料庫分別要各自獨立,請先分別在MySql中設定好不同的site的資料庫的管理帳密。
1.設定Apache路徑檔
本例是要架設2個次網站:www1.xxps.tp.edu.tw 和 www2.xxps.tp.edu.tw
Ubuntu的請找到Apache的設定檔,設定檔的位置參考此篇Ubuntu Apache啟用虛擬多網站(VirtualHost) 的路徑,並設定好如下的格式:
<VirtualHost *:80>
ServerName www1.xxps.tp.edu.tw
DocumentRoot /網站目錄/drupal8 <===drupal根目錄
</VirtualHost>
<VirtualHost *:80>
ServerName www2.xxps.tp.edu.tw
DocumentRoot /網站目錄/drupal8 <=== 一樣是drupal根目錄
</VirtualHost>
2.新增次網站的根目錄
在drupal8/sites/下新增次網站的根目錄,建議使用完整的網域名稱,以第1步驟為例,則應該分別
在drupal8/sites/下新增”www1.xxps.tp.edu.tw” 和”www2.xxps.tp.edu.tw” 兩個資料夾。
3.[Drupal 8 新方式]:
把drupal8/sites/example.sites.php 改名為sites.php,權限設定為664。
開啟sites.php,加入上述兩個子網域網站,並指向個別的資料夾,修改後存檔:
$sites = array(
‘www1.xxps.tp.edu.tw’ => ‘www1.xxps.tp.edu.tw’,
‘www2.xxps.tp.edu.tw’ => ‘www2.xxps.tp.edu.tw’,
);
格式為:‘<port>.<domain>.<path>’ => ‘directory’,詳細設定請自行參考example.sites.php。
4.[Drupal 8 新方式]:
把drupal8/sites/default/default.settings.php和default.services.yml複製到前面兩個次網站剛剛新增的根目錄下,並且分別改名為settings.php和services.yml,權限設定為666。
5.[Drupal 8 新方式]:
在前面兩個次網站的根目錄下再分別新增資料夾”files“,權限設定為777或775;
另外,Drupal8在安裝時可直接指定安裝語言包,不必像D7另外安裝了!如果要安裝繁體中文介面,請記得另外在files下新增“translations“子資料夾,權限設定為777或775。
6.開啟瀏覽器,輸入次網站的網址,例如上面的www1.xxps.tp.edu.tw 或www2.xxps.tp.edu.tw ,就會出現drupal安裝畫面,接下來,按下一步…安裝即可。
7.安裝完畢,收工前,請記得將第3步驟的settings.php設定檔權限改為444,以保護網站安全。
備註:如果安裝模組或版型時顯示錯誤,可以將drupal8/theme 和 drupal8/sites/www1.xxps.tp.edu.tw 的owner權限改為www-data即可。
【參考文章】:http://www.kalose.net/oss/drupal-8-setting-multi-site/