首頁‎ > ‎電子期刊‎ > ‎Semantic MediaWiki‎ > ‎

MediaWiki網站架設心得

作者:張騉翔

評估是否要架設Wiki網站

在Wikimedia網站中的專案列表(http://meta.wikimedia.org/wiki/Complete_list_of_Wikimedia_projects)可以看到目前官方所正式支援的MediaWiki網站;若讀者想要創作的知識屬於這些網站的範圍,那麼直接在這些網站編輯即可,不需要架設獨立的MediaWiki網站。

相反地,若讀者想要創作特定範圍的知識;例如正在發展一個專案,需要知識管理系統來協助創造及組織文件,而這樣的知識範圍是只有專案的團隊才能分享及編輯,那麼就可以考慮架設獨立的MediaWiki網站。.

安裝MediaWiki環境(Apache+PHP+MySQL)

MediaWiki是用PHP語言寫成,並且架設在MySQL資料庫上,故我們需要PHP加MySQL的環境,而一般PHP環境又以搭配Apache網頁伺服器為主;目前最流行的Apache+PHP+MySQL套件為XAMPP(http://www.apachefriends.org/);其主要分為Windows(http://www.apachefriends.org/zh_tw/xampp-windows.html)及Linux( http://www.apachefriends.org/zh_tw/xampp-linux.html)版本;讀者在上述的連結可以找到相當詳細的安裝說明。底下為簡易的安裝說明:

平台 Windows Linux
下載 直接點選連結存到硬碟即可。
  1. 先按右鍵複製連結
  2. 於Linux Terminal介面下打wget,空一格再按右鍵可貼上複製網址。
  3. 按Enter進行下載。
安裝 直接執行安裝檔案依照指示即可安裝。 只需解壓縮用tar -zxf xampp-linux-1.5.5a.tar.gz /opt指令即可,一般解壓縮至opt目錄下。
啟動 在開始->程式集->XAMPP下找到XAMPP。在XAMPP的控制面版中,可以啟動/停止所有的伺服器,以及安裝/移除這些伺服器的系統服務。 打指令/opt/lampp/lampp start即可啟動。
測試 於瀏覽器打http://localhost/檢查是否能看到XAMPP首頁。 於瀏覽器打http://localhost/檢查是否能看到XAMPP首頁。
安全 點選首面裡的Security連結面頁,設定各項XAMPP安全密碼及參數。 同Widnows;亦可於Linux Termainl的/opt/lampp/lampp security來設定。

要特別注意在Windows平台上安裝XAMPP要檢查80 port是否已被佔用,若被佔用有兩個應用程式較有可能,其一為IIS,另一個為Skype;要先將此兩個應用程式關閉才能正確啟動XMPP並在打(http://localhost)時看到XAMPP的畫面,亦可以用XAMPP所附的port checking程式來檢查80 port是否開放。

下載MediaWiki軟體

最新版的MediaWiki軟體可至網站下載(http://www.mediawiki.org/)。目前最新版為1.9,於2007年1月10日釋出;底下為下載說明。

平台 Windows Linux
下載 點此連結下載。 用wget mediawiki-1.9.0.tar.gz指令下載。
解壓縮至 XAMPP文件,新增Wiki目錄,本例為C:\Program Files\xampp\htdocs\wiki XAMPP文件,新增Wiki目錄,本例為tar -zxf mediawiki-1.9.0.tar.gz /opt/lampp/htdocs/wiki/

檢查MySQL資料庫設定

開啟InnoDB

如同現在許多的PHP開放源碼軟體一樣,MedaiWiki有著以網頁導覽方式的安裝步驟,相當方便,只要將MediaWiki的軟體解壓縮到上述目錄,然後再於瀏覽器打http://localhost/wiki即可開始進行安裝步驟。

然而在安裝前要先確認MySQL資料庫的資料引擎是用InnoDB,而非預設的MyISAM。那麼採用InnoDB有什麼好處呢?主要兩點如下:

  1. InnoDB提供了較佳的資料損毀回復機制,當資料損毀時可以用其Log機制來進行回復;而MyISAM對於資料損毀的回復機制較差,只能靠重建索引及依賴作業系統儲存機制來回復。
  2. InnoDB提供資料庫管理中相當重要的ACID機制,可以確保每次寫入資料庫的交易成功,若是不成功則會回復未寫入時的狀況;而MyISAM則無此機制。

目前Wikipedia的官方網站皆是使用InnoDB資料引擎,而一些知名的網站如Google、Flicker、Yahoo也是使用InnoDB;故對於想要使用MySQL資料庫的使用者而言,InnoDB是個值得深入討論的主題。

底下為在MySQL中InnoDB啟用的方式:

平台 Windows Linux
開啟檔案
  1. 檔案為C:\Program Files\xampp\mysql\bin\my。
  2. 需先開啟一空白文字檔,再用此文字檔開啟my檔案。
打vi /opt/lampp/etc/my.cnf 來開啟。
設定InnoDB
  1. 找到skip-innodb此行,改為#skip-innodb。
  2. 將innodb相關設定前面的#去除。
  1. 找到skip-innodb此行,改為#skip-innodb。
  2. 將innodb相關設定前面的#去除。

開啟了InnoDB後,在建立MediaWiki資料庫時即會指定每個資料表的資料引擎為InnoDB,若沒有開啟InnoDB則會用預設的MyISAM引擎;低下摘錄產生MediaWiki表格的部份SQL語法即可瞭解:

 
CREATE TABLE /*$wgDBprefix*/user (
user_id int(5) unsigned NOT NULL auto_increment,
....
) TYPE=InnoDB;

資料庫編碼

以使用MediaWiki層面,資料庫編碼在功能上並無任何影響;會有影響主要在資料庫儲存層面,若讀者想要將下SQL指令將MediaWiki的 資料庫選出來做些處理,或是更新其中的資料,或是想從資料庫的角度去與其他系統整合,那麼瞭解這部份是相當重要的。因為若下SQL指令選出來的資料是亂 碼,那麼將難以做處理,或要做麻煩的轉碼動作。

舉例而言,若資料庫的編號為latin1_swedish_ci,那麼在MySQL的介面中瀏覽使用者的資料表會如下所示,第一筆是英文的可顯示正常,但第二筆實際上是中文卻會顯示為亂碼。


若要在MySQL中能正確的顯示中文,那麼有兩個要件:

  1. 在產生資料庫時,編碼要選擇utf8_unicode_ci。
  2. 在安裝畫面時的Database charset選項要選擇「Experimental MySQL 4.1/5.0 UTF-8」;以避免MediaWiki用本身獨特相容UTF8的編碼方式寫入。

雖然在安裝時若輸入的資料庫名稱未存在MediaWiki會幫我們產生,然而較建議自行建立,以確保採用utf8_unicode_ci編碼。

安裝MediaWiki軟體

接下來我們實際進入到MediaWiki的安裝畫面,安裝畫面只有三個步驟,第一步驟為安裝歡迎畫面、第二步驟為輸入安裝相關設定、第三步驟為執行安裝及確認畫面。

在安裝過程中的各個畫面,為了方便解釋各項欄位,除了文字的說明,筆者亦用了網路相簿Flicker的功能,可直接點選畫面的各個欄位來看說明。

Step1:安裝歡迎畫面Flicker連結


Step2:輸入安裝相關設定

Step2.1:檢查安裝環境(Flicker連結


上面的畫面中MediaWiki會先檢查環境的設定,要看到Environment Checked.You can install MediaWIki字樣才能繼續安裝,一般較常見的問題是在Linux下權限的設定,可用chmod a+w來設定相關需要權限的檔案。

Step2.2:輸入網站資訊(Flicker連結


  • Wiki Name:請填入要架設的Wiki網站名稱,會顯示於網頁左上方。
  • Contact e-mail:請輸入管理者的EMail。
  • Language:請選擇要安裝的語言,可以選擇繁體中文,但有些部份翻譯不完全,可於安裝完後隨時更改語系。
  • Copyright/License:選擇網站內容的版權資訊方式。
  • Admin UserName/Password:輸入網站管理者的帳號及密碼,可以隨意輸入自己喜好的,而不用限定是admin、root…等。

Step2.3:輸入電子郵件相關設定(Flicker連結


  • E-mail features(global):選擇是否啟用所有的EMail相關功能。
  • User to user e-mail:是否允許會員間互寄EMail,但是是由MediaWiki代發,會員間不會看到彼此的EMail。
  • E-mail notification about changes:當討論頁面(discussion pages)或是追蹤(Watch)修改時,是否要EMail通知使用者。
  • E-mail address authentication:當討論頁面(discussion pages)或是追蹤(Watch)修改時,是否要EMail通知使用者。

Step2.4:輸入資料庫相關設定(Flicker連結


  • Database host:填入資料庫的位置,通常為localhost,亦即網站與資料庫在同一台電腦,若不是的話則打入資料庫所在電腦的IP。
  • Database Name及Database UserName/Password:輸入資料庫的名稱,若不存在則會產生;輸入可存取資料庫的帳號及密碼,若資料庫不存在則需有權限產生資料庫。
  • Superuser Account:選擇是否要用最高權限的帳號來建立資料庫或產生表格;若是的話則輸入相關資訊。

Step2.5:輸入MySQL資料庫設定(Flicker連結


  • Database table prefix:輸入資料庫表格的前置詞,一般建議為mw_,那麼產生的表格就會是mw_tablename。
  • Database charset:資料庫的編碼方式,在此建議使用第二個,Experimental MySQL 4.1/5.0 UTF-8;雖然還在實驗階段,但筆者試測試無問題,使用此選擇,可在資料庫查詢時正確顯示字元。

在做好了上述設定後即可按下「Install Mediawiki!」按鈕來進行安裝。

Step3:安裝完成(Flicker連結


最後的安裝畫面,若於最下方看到「Installation successful」即安裝成功,但最後還缺一步驟才算完成,要將LocalSettings.php這個檔案,位於wiki安裝目錄的config路徑下,將其複製到上層才算完成,然後打http://localhost/wiki即可看到Wiki的畫面。

小結

本文介紹了如何安裝MediaWiki軟體,在步驟上相當簡單只需在資料庫上設定特別注意,然而MediaWiki在安裝好了之後,較為需要注意的 是在後續的設定,例如如何支援數學公式、如何設定左方的SiedeBar…等。這也是接下來另一篇文章MediaWiki網站架設設定一文所要探討的。

Comments