您在這裡

當Drupal遇上微軟, multisite 也行嗎??

剛剛在DrupalCamp 2010@Taipei聽到微軟阿宅介紹
聽說Microsoft Web Platform可以完整支援php還有Drupal

不曉得有沒有人已經安裝過
而且可以成功支援Drupal的 Multisite?

先謝在前

multisite 有 OS + httpd 支援會比較好

因為你可以用 ln 連結多個網站根目錄到同一份 core files, 不用逐個站都要設定一次 webconfig
也需要 rewrite module 進行網址改寫的動作

除此之外, 當您需要提供更多 Drupal site 的功能
例如 http streaming, upload progress, image crop/scale, ffmpeg 轉檔
需要 OS + httpd 的支援

當你需要 load balancing, database replication, cache in memory 的時候
也是 OS + httpd + DB 要支援

最基本的 cron 跟 mail 功能, 在 Linux, FreeBDS and Mac OSX 都是現成支援的
windows 可就... 稍微費工些

所以個人感覺當你只是要把 Drupal 基本功能裝起來玩玩, WPI 應該可以勝任愉快
但是當你要把 Drupal 用在 production site, 或者嘗試 Drupal 許多令人目眩神迷的功能( build you own YouTube site )
還是 Unix/BSD 平台適合一點XDD

BTW, Linux/FreeBSD 現在真的粉簡單
以 CentOS/Redhat 為例, yum XXX + vi YYY, 就可以搞定一切
至少你不用到處去找破解冒風險, 也不用花一筆錢買授權安家費
現在隨便找一間 VPS provider, 刷卡後, 選一種 Linux Distribution, 然後滑鼠下一步下一步點幾下
就裝好了, 全程不用5分鐘

套句微軟常用的話, 從 Total Cost 角度來考量, 哪種對你比較划算?

因為你可以用 ln 連結多個網站根目錄到同一份 core files, 不用逐個站都要設定一次 webconfig
也需要 rewrite module 進行網址改寫的動作

Drupal 的 multisite 功能,並非用 ls -s 來處理,沒有存在多份 core file 的問題
另外 rewrite 應該也非 multisite 的必要設定

我平常是 windows, linux, mac 交互使用
很多行為在 linux/mac 真的比較容易達到,有時到 windows 就變得很麻煩 (有時也相反就是了...)
不過,那個前題還是對 OS 有相當程度的了解,才叫 "容易"
最近身邊的例子即是,朋友可以用 drupal + shared hosting 架很複雜的系統
我非常喜歡租用高度自由的 VPS ,但 VPS 對這位朋友而言,還是太過困難
另外,production site 不單單只是裝裝 apache, php, mysql 套件
若是當桌機,確實你可以 apt/yum 再加個 vim 走遍天下
但是,安全性 ? 備份機制 ? 效能調整 ?
我想這些設定都不是多數人可以輕鬆駕馭的 ?

yelban 說的沒錯
ln -> core file ROOT 就不用 web config (httpd conf..etc)
但 windows web server 沒有嗎 ? windows vista/7 都好像有類似的東西

IIS 也有 URL rewrite

VPS / shared hosting ...
VPS 裝一個 virtualmin / webmin 也是一樣,只是你找不到一步步類似 cPanel 那類教程

備份 ? shared hosting 有提供 ?
效能 ? shared hosting 有幫你調 ?? 我只知他們會令你用更多
安全性? 這個爭議性太大,你可以簡單到不用理會

但說實話,如果你是 windows xp / 7 這類用家,windows 是易用一點
Linux 遇上問題真不知怎麼解決好

不知高手們是怎麼樣的
使用 Linux 令我覺得自己很笨
經常要 COPY & PASTE 一堆不知什麼的東西去安裝及設定

但總括來說,我還是選擇 Linux
而且 Drupal 是面向 Linux / Apache 開發的
像是使用 nginx 這類 linux web server 也要自我設定一番

---
notaBlueScreen | 一天一翻譯,好過吃蘋果

我打錯成 ls -s, 我是指 ln -s
httpd.conf 為何需要有多份 ?
multisite 的設定上,ln 會用在哪?

windows 並沒有 symbolic/hard link (windows 捷徑不算),所以也沒有類似 ln 的東西

我指的安全性、備份、效能,並非是程式層級,是指 OS, web server 的部分,偏系統端的部分
當然,不見得主機商設定的就比較高明,但至少一般 user 不必管到這麼深入
您說裝 webmin 可以搞定,確實很多情況下 webmin 很方便
以我們公司為例,都要 MIS 做過弱點掃描後,系統才能上線
apache, php 不能在 http header 秀版本、不能裝 webmin、ssh 只開放特定 ip、帳號登入、不能開 ftpd、甚至不可走未加密的 http 限用 https
windows 的話,不能裝 VNC...
可能您會覺得 "有這麼誇張嗎 ?"

我也是推 Linux,但對多數人而言,我會先讓他可以玩玩 drupal (ex. 各類 WAMP),其他再說
人家只是想了解 WPI 能不能用在 multisite,搬出 linux/bsd/mac 來,我想只會更加困擾提問者而已 ?
WPI 號稱單鍵安裝,我知道有的 WAMP 連安裝都不必,解壓縮就直接用了,對一般 User及測試 Drupal 來說,還是較方便 ?

倒不如建議哪套 WAMP 比較合適做 drupal multisite ?
或許提問者有什麼特殊需求,會想要用 WPI ?

沒有必要,只是更方便
你可以一份 httpd.conf,獨一設定一千次
也可以 ln -s 一千次

drupal 6.15, drupal 6.16 ~ drupa 7.x
1000 個網站,share 3 copy 都可以
任何一種方法也能做到,只要你有絕對性權限

遇到升級,測試,可以直接 symbolic link
也可以獨一 symbolic link 要的模組

方法太多,不能盡說,各取其好

windows symbolic link
http://www.howtogeek.com/howto/windows-vista/using-symlinks-in-windows-v...

---
notaBlueScreen | 一天一翻譯,好過吃蘋果

看你設定囉
像上面所說,各取其好
如果 100% 權限,真沒有什麼好說,管理方法太多選擇了

jimmykuo 是 pro user
你也知 httpd 怎麼設 virtual host
看你區劃如何囉

如一些 shared hosting, 你有 shell access, 但不能修改 apache conf.
ln 就是一個解決方案

還有些情況,你要在不同的 site root 放置檔案

我的意思是 ln 有可能令你方便一些,可能上面說的不太好 ^_^

multisite 也不好理解,有的是
不同域名,不同功能
不同域名,相同功能
不同域名,相同資料庫
不同域名,不同功能,不同模組
etc...

---
notaBlueScreen | 一天一翻譯,好過吃蘋果

看了上面一大串............只能說.................."口圭"

目前自己架設的幾個測試網站
就是使用Multisite來建立
通通放在Linux虛擬主機上面
雖對Linux不太懂
但碰到問題時在網路上還蠻容易找到資源解決

不過
當初架設的時候
因為照著Drupal網站上的說明
一步一步處理
所以倒也沒有使用懶人包

昨天DrupalCamp和一位同好聊
他就直說Drupal是給Engineer用的
因為門檻太高了......真的

會提問真的只是好奇
聽到微軟拿出那麼一大包的好康
真的有嘉惠到一般的大眾嗎?
還是又是行銷的手腕??
只要大多數人都能很容易開始
Drupal才有更茂盛的一天

謝謝大家熱烈的回應

小弟應該還是會繼續放在Linux虛擬主機上

站長之一的花水木,她就不是 Engineer 呀~ 作出來的網站也是相當專業
前陣子出 Drupal 書籍的 TKY 也非工程師,我記得他好像是博士班學生
DrupalCamp 當天參與的人員,似乎工程師也佔少數 ??

我算是工程師,我個人比較無法弄懂這兩套 CMS
Zope (python), alfresco (java)
alfresco 我們還有用在公司的文管系統,以開發者的角度看,架構算是複雜,若非工程師,應該是很難架設成功...連 code 都很難改

舉一種 multi-site 的應用為例好了
當您要在同一個網址下做 multi-site
Site1 url: http://exapmle.com/windows
Site2 url: http://example.com/linux
Site3 url: http://example.com/osx

在 Linux 平台, 只要解壓縮好一份 drupal-6.17.tar.gz
放到網站根目錄
/drupal-6.17

新建網站時, 只要下一個 ln 指令, 就可以建立一個網站(當然還是要創建對應的 settings.php)
ln -s drupal-6.17 windows
ln -s drupal-6.17 linux
ln -s drupal-6.17 what-ever-you-like

在 Unix/BSD 平台只要用 ln -s XXX 就可以搞定

更不用說要是你有不同網站有不同的檔案系統維護權限
linux 下用ssh
用 ln 把各個管理者的家目錄下連結到 drupal 的 sites/com.windows/modules 還有
sites/com.windows/themes
就可以讓各站管理者自行上傳她自己想要的模組或者版型

這個在 windows 平台做起來相對就不這麼簡單明瞭

Windows 是很好的作業系統平台, 但是如果你裝過 PHP 的加速套件 eAccelerator, 你會發現
要找到可以用的 windows binary 非常不容易, 於是你可能要自己下載原始碼用 VS2005 自己編譯一份
這樣反倒麻煩~~

最後再舉一個例子, 假如你要使用 Drupal FlashVideo 建立自己的影音站台可以上傳 video, 然後定時批次轉檔, 自動擷圖
應該很少人可以用 Windows 平台架得起來XDD
當你想用到 imagemagick (ImageAPI ImageMagick modules) 為 drupal 提供進階的圖像處理能力, windows 可能會粉難搞
有沒有人要試試看在 windows 安裝 imageapi_optimize ( http://drupal.org/project/ ), windows 應該是用不了

windows 跑 drupal 不是不可以, 不是不好
只是有時候比較麻煩, 而且通常只能用到 drupal 的基本的功能~~

直接 ln -s 根目錄,裡面的 settings.php 要怎麼分開 ?

windows 下,只要找不到 binary,就很難安裝
cygwin, ms vs 都不是好搞的東西,因為相依性的關係,總要編一堆相依的套件,超麻煩...若沒有 Makefile for windows,幾乎是編不出來...

FlashVideo 的設定,其實問題不大,我前陣子才在windows/linux 架過,可轉檔、可產生縮圖
ffmpeg 相依的 library 比較多,有些別人編好的 win32 版 library 還會當掉,要把用到的 library 補齊,這點會花比較多時間...

有時為了開發的關係,並非所有開發人員都是 linux/mac 平台,研究怎麼在 windows 上面架 Drupal 有時是有必要性的,就算它不甚方便~
最近使用的方案是,使用 Virtualbox
http://www.virtualbox.org/
Image 可以在這下載
http://virtualboxes.org/images/
有的連 apache, mysql, php 都裝好了,只要設個 FTP server 就能開發了~

settings.php 可以放在 ./sites/下的依照 drupal multi-site 設計的慣例命名的資料夾
ex. sites/www.example.com.windows
sites/example.com.windows
sites/com.windows

for example,
sites/com.windows/settings.php
sites/com.osx/settings.php
這樣同一域名網站根目錄下的 不同目錄, 就可以共用同一份 drupal 檔案
也同時擁有個別的設定檔(settings.php, themes/, modules/ )
這樣當需要要升級 drupal 版本時, 檔案只要修改一份就好
所以才需要用到 link 的功能, 不用每個網站就複製一份 drupal 檔案

這麼 變態 的多站設計, 目前好像只在 durpal 上看到, 只能說 drupal 真是太......無敵了!