mediawiki

mediawiki 加上 ACL

架設MediaWiki是從PM所付託的任務,並且依照同事的需求「Access Controle List」尋找一些解決方案。

方案A:改寫code

方案B:尋找現成的 Extension 安裝進mediawiki

當然A是很沒有效率的方法,除非我是原作者,不然還需要再花上大部分的時間了解相關的code ,因此B就是比較好的方法。

在尋找的過程有另外兩種方式安裝 Extension ,第一種是在官方站上下載相關的套件,第二種是有個專門提供完整套件的SMW Project 。

這兩種在安裝過程上都有碰到非常麻煩的狀況,前者是下載之後你必需要修改 LocalSetting.php 戴入套件之外,還要修改其它程式的code ,還要處理資料庫的結構,一整個我被打槍三天三夜。

後來我選了SMW Deployment Framework 之後剛開始都是英文的文件,一步步安裝還是到處碰壁,也是搞了三天三夜。但是安裝成功之後都感動到掉淚了。

接下來紀錄一下 MediaWiki + ACL 詳細的安裝方式

系統環境: ubuntu desktop 10.04 , LAMP Server
MediaWiki : 1.16.0

若一開始沒有安裝MediaWiki者可以用apt-get install mediawiki ,此時安裝 1.15版。
[cc lang=”bash”]sudo aptitude install apache2 mysql-server php5 php5-mysql
sudo aptitude update && sudo aptitude safe-upgrade && sudo do-release-upgrade
sudo aptitude install php5-cli
sudo aptitude install libgd2-xpm libgd2-xpm-dev php5-gd[/cc]
最後
[cc lang=”bash”]sudo apt-get install mediawiki[/cc]
即安裝至系統中。
修改設定檔讓apache能載入mediawiki的目錄
[cc lang=”bash”]sudo nano /etc/mediawiki/apache.conf[/cc]
將下面這一段的#字給去掉
[cc lang=”bash”]#Alias /mediawiki /var/lib/mediawiki[/cc]

上網址,安裝相關的設定,如輸入資料庫的帳密或使用者密碼
[cc lang=”bash”]http://localhost/mediawiki/config[/cc]

將一些安裝過的設定檔做一些安全性的處理
[cc lang=”bash”]sudo chmod a+rwx /var/lib/mediawiki/config
sudo mv /var/lib/mediawiki/config/LocalSettings.php /etc/mediawiki[/cc]

並再把LocalSetting.php搬移到主目錄下
[cc lang=”bash”]sudo mv config/LocalSettings.php .
sudo rm -rf config[/cc]

完成之後應該就可以透過http://localhost/mediawiki看到完整的頁面。這樣子就都可以了

為了要安裝SMW Deployment Framework ,則MediaWiki必需要升級1.16.0 。
到官方站下載1.16的版本,把檔案都丟過去蓋掉舊版1.15,再上mysql把原來的資料庫給做掉,然後依照上述再做一次。(或許安裝1.15是多餘的)
依照這個官方文件來安裝。
步驟為:
下載Deployment Framework的套件並解壓縮放在MediaWiki的目錄下如
[cc lang=”bash”]\htdocs\mediawiki\deployment[/cc]

修改LocalSettings.php:
[cc lang=”bash”]$wgDBadminuser=”你的最高帳號”;
$wgDBadminpassword=”密碼”;

/*start-deployment*/
require_once($IP.’/deployment/Deployment.php’);
/*end-deployment*/[/cc]

記得存檔
注意這些東西改好所需的讀寫權限
[cc lang=”bash”]mediawiki\LocalSettings.php
deployment\tools\webadmin\sessiondata
deploymenttools\webadmin
deployment\tools\repositories
htdocs\mediawiki\extensions (and all extensions contained)[/cc]

開一個可以供放暫存檔的目錄如 /temp/
修改mediawiki/deployment/settings.php 把df_homedir加入 /temp/

安裝GNU patch
[cc lang=”bash”]$sudo pat-get install patch[/cc]

測試
[cc lang=”bash”]$ ./smwadmin.sh -l[/cc]

只要看的到repository的列表,就成功安裝Deployment Framework。

然後去網址http://localhost/mediawiki/deployment/tools/webadmin/index.php 就會看到登入畫面,登入最高權限帳號就成功了。

再安裝HaloACL 1.5
[cc lang=”bash”]$ ./smwadmin.sh -i haloacl[/cc]

然後進入網址http://localhost/mediawiki/index.php/Special:HaloACL看到本文的畫面即完成。

感動!。・゚・(ノ∀`)・゚・。

Related Posts Plugin for WordPress, Blogger...

Leave a Reply