
各位大德有沒有遇過,公司只給一台主機,可是十幾個部門都要給它一人一個網站,怎麼辦 ? 在一個虛擬主機上架了七、八個網站,命真好,剛好遇到要升級,怎麼辦 ? 要一個一個來嗎 ? 會有夠類累的哩 !! 這種症頭,親愛的 Drupal 有沒有給它有辦法呢 ? 是啊 ! 這個就是要阿舍已經講很久、試很久都沒有寫出來的多網站 ( Multi-Site ) 功能才能達到,最近終於有點心得了,所以就來說一說哩 .....^^。
Druapl 有支援多網站 ( Multi-Site) 的功能,所謂的多網站是指用一個安裝好的 Drupal 來架設多個網站,多個網站都是用同一組程式來執行,這樣就不用每次要架一個新網站時,就要重新上傳檔案來設定,而且遇到要升級時,只要做一次就好,所有的網站就不用一個個的去升級囉 !!
Drupal 的多網站架構,是讓多個不同網址的網站可以共用相同的程式、模組及版型,然後再經由不同的資料夾和設定檔來達到多網站的個別化,每一個經由這種方式安裝好的網站,在功能上和重頭裝起的網站是沒有差別,每一個都是獨立的,原則上,隨然這些網站是住在一起,但是彼此是不熟的....呵呵。
之前在介紹模組的安裝時,有講到要把模組安裝到 site/all 下,為什麼要把模組裝到這裡呢 ? 是啊 ! 沒錯,這就是考慮到多網站的架構,那個 site 資料夾下的 all 資料夾,放的就是要套用給所有安裝在這裡的網站使用的,而當各位大德要再架設一個新的站時,只要在 site 資料夾底下,再新增一個和網站網址相同名稱的資料夾就可以了,當然囉 !! 還要配合一些相關設定,以下就開始來說明一下。
1. 建立網站資料夾
第一件事就是到 site 資料夾裡去建立一個和新網站網址一樣的資料夾,以阿舍的為例,阿舍要建一個測試網站,網址是 "test.soa.tw",所以阿舍新建的這個資料夾名稱就叫做 "test.soa.tw"。
要提醒的是,這個資料夾的命名方式,不只可以用網址的完整主機名稱來命名外而已,還可以是用網域 ( Domain )來命名的,例如阿舍的 "soa.tw" 網域,另外,還可以配合所使用的埠號 ( Port ) 來使用,一般來說,網站的埠號預設是 80,所以大部分的情況下,不需特別指定網站的埠號,但是,如果網站有指定特別的埠號而不是使用預設的 80 時,那這個資料夾就必需在名稱的前面加入所使用的埠號,例如,阿舍把 test.soa.tw 這個站設成使用埠 8888 時。那麼在命名網站的資料夾時,就必加入埠號在資料夾的名稱裡,所以,資料夾的名稱應該是 "8888.test.soa.tw"。
除此之外,如果新的網站是設定在子目錄下時,也是需要把子目錄的名稱加到新網站的資料夾名稱裡,例如,以 test.soa.tw/ayu 為例,那麼建立的資料夾名稱,便可命名為 test.soa.tw.ayu,就是直接將子目錄名稱加到路徑的最後。
建立好之後,可以進到裡面,再建立下列資料夾,這些資料夾是用來放置專供這個新網站使用的模組、版型和檔案系統,在這裡的東西,其它同樣建在這組程式碼上的其它網站是看不到的。
modules
themes
files
tmp
2. 複製 setting 檔
每一個 Druapl 網站都需要有一個 setting.php 的設定檔,這個檔被放在 site/default 的資料夾裡,但是,請各位大德不要從已經安裝好的網站 Copy 過來,請從下載來的 Drupal 裡找出來複製,這樣做的原因,是因為安裝設定好的 setting.php 已經有寫入資料連結的資訊,所以不太適合直接拿來用。
3.建立資料庫
這個步驟不一定需要,是要看各位大德的打算來看,因為這個多個網站的資料庫可共用也可分開,如果是要共用,那就不用建了,但是如果要分開,那就得自己先建一個資料庫和使用者並設好權限才行。
但是,要用那種比較好呢 ? 阿舍個人是比較喜歡每個網站的資料庫分開獨立,這樣管理和除錯時,會變的比較單純,不過,因為有部分的虛擬主機是有限制可使用的資料庫數目,所以,這個時候就可以採用共用資料庫的方式來處理。
(待續....)
- 瀏覽次數: 4184
Hello ljl兄,
是需要再安裝一遍的,等一切都設定好之後,當開啟網站時,就會進入 Drupal 的安裝畫面的....。
供參囉 !! ^^=。
阿舍...
阿舍的 Drupal 架站經驗談
http://drupal.soa.tw
目前大概狀況如下
環境是XP,使用TWAMPd
Drupal版本是6.12
看了幾篇大大的文章和google了一陣子,終於將多站點在本機上實現
但該設定才可讓其他看的到?
我的drupal是放在htdocs下,該設定的應該都有設定,差別應該是除了您教學文章中是取網域名稱,我是只取名字而已
電腦名稱:abc
site/all
site/default
site/a1
site/a2
從別台連http://abc都只會看到default的資料
不知阿舍大大或其他大大,有空時能幫忙解個惑?
※問的有點亂,請多多包涵※
Hello Ging兄,
阿舍記的沒錯的話,Drupal 應該是依靠網域來辨識要求連結的站別,所以,Ging 兄如果沒有在別台電腦上也設定和自己電腦上 Host檔相同的內容 ( 但是 IP 位址要改掉 ), 那麼 Drupal 就分不出來要求的站別哩 !!
供參囉 !!^^=。
阿舍...
阿舍的 Drupal 架站經驗談
http://drupal.soa.tw


請問在新建的網站資料夾里要不要再安裝一遍drupal?只要建立那幾個資料夾就行了?