MoinMoin Wiki心得
簡介
聽老光頭說,在他接觸的open source project裡,用MoinMoin當Wiki的居多,看到Fedora官網做得如此精緻,想來試看看MoinMoin,適合的話可以用來做lab首頁。
MoinMoin是用Python寫的CGI,由於用到CGI的緣故,裝起來比PHP寫的Wiki麻煩一些,由於安全考量,通常各目錄預設都是不能執行CGI,所以apache要多做設定。雖然沒有PmWiki或DokuWiki這麼好裝(1 ~ 5 mins即可裝好),但相較Twiki來說,MoinMoin Wiki好裝許多。
安裝
官網的安裝教學頗為散亂,我大概和MoinMoin Wiki的文件不合,有時寧願自己試也懶得翻文件,總覺得文件的脈絡沒有整理清楚。相較之下PmWiki和DokuWiki清楚多了。
- 從官網下載
- 解開後,參照Basic Installation執行安裝的script:
python setup.py install --install-data='/usr/local'
- 參照Wiki Instance Creation新增Wiki base,直接用網上提供的script較快。
- 從網頁上按 login -> UserPreferences 註冊account,修改wikiconfig.py:
superuser = [u"YourAccount", ]
設定permission:
acl_rights_before = u'YourAccount:read,write,delete,revert,admin Known:read All:read'
Known表示已註冊使用者,All表示所有人(包含未登入者),這樣設完包含註冊的人和guest在內,預設權限都是唯讀,需要其它權限的話再改acl_rights_before。
(待修,改天再補完整點)
過程裡有錯誤發生時,可以參照web page的回應,或是看/var/log/http-error.log,error message寫得很清楚。可能會遇到的問題像CGI不能執行、Python版本不對或缺Python module,或是改config檔時沒照Python規定的縮排,懂一點Python有助於除錯。
Plugin
對我來說,一個Wiki的好處,除了安裝容易、Wiki code好寫、權限設定完整外,最重要的是plugin的質和量,這裡簡記一些plugin相關的心得。
對MoinMoin來說,
wiki code: [[XXX(args)]]
parser讀到這行wiki code後,會呼叫data/plugin/macro/XXX.py內的procudure “execute(macro, args)“。
相當簡單易懂的plugin做法,把plugin的python code放到data/plugin/macro/下,即可使用(CGI每次都會重讀,但standalone server可能要重跑server),因此史上最簡單也最有威力的plugin:in-line HTML,只要這麼寫:
in data/plugin/macro/HTML.py:
def execute(macro, args):
return args or " "
wiki code example,貼flickr的圖(兩行合一):
[[HTML(<a href="http://www.flickr.com/photos/12203797@N00/287454598/" title="Photo Sharing"> <img src="http://farm1.static.flickr.com/112/287454598_d5c67feb2a_o.png" width="555" height="376" alt="couplet" /></a>)]]
表格
MoinMoin的table可以做到rowspans和colspans,而DokuWiki和PmWiki做不到colspans。使用table必備的plugin:MiniPage
雖然code有點醜,但透過MiniPage可以在table cell裡塞wiki code,做到像是table內的list,table中的table應該也OK,我沒試就是了,因為wiki code必需寫成一行,可讀性接近於 0,詳細介紹參照MiniPage上的說明。
surge protection
原意是避免被DoS,讓使用者各項操作到限定數量後,禁止對方的操作,但在我反覆測試編輯的情況下,反而是我一直被封,要等一會才能用。雖然可以調高限定數量,但還是很麻煩,後來發生狀況後我就直接砍surge log ( data/cache/surgeprotect/surge-log )。
ps.
- WikiMatrix有四個database用flat-file(用檔案當DB)的比較,寫得比WikiPedia上的介紹清楚。
- Wiki推廣,安裝PmWiki
- DokuWiki推廣
有機會的話,再來寫篇三個Wiki的試用心得,現在是覺得各有好處,不見得那一個比較好或比較不好。
歷史上的今天
- 理論與現實 - 2008
你好,请教一下关于moinmoin wiki安装的问题。
我安装在windows 2003 server 上。
IIs的安装没问题。默认的站点(不是wiki站点)可以访问(通过内部网络),但是
访问安装的wiki站点时出现如下错误信息。
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.
我感觉是moin.cgi文件编辑的不对,不知道怎么编辑把 sys.path.append(’C:/Moin/Lib/site-packages’) 加入进去。
比较郁闷,弄了好几天了。
能帮忙给点建议吗?我的QQ是:75912337
非常感谢
不知道主人什么时候来,等的着急啊。。。
我是在Unix上裝的,可以看一下web server(IIS)的log,我裝得時候也有遇到一些問題,印象中參照error log的訊息,google後還滿順利地解決了,幫不上什麼忙,不好意思。
谢谢。