最近公司要安装一个wiki,在网上搜了一下,发现moin这个wiki是个不错的选择,但是在安装的过程中遇到了很多问题,尤其是在windows下安装时,网上的资料也不太好找,即使下载包中的install.html介绍的也不太明了,总之是try了又try,终于算是可以正常运行,记录下来希望可以帮助需要的人。
安装环境:
windows7 旗舰版
软件版本:
1、Apache2.2
2、Python2.6
3、Moin1.9.3
一、安装Apache2.2
不多说了,Windows下的安装都是傻瓜式的安装,假如安装在了C:/apache2.2目录。
二、安装Python2.6
也不多说了,假如安装到C:/Python26目录,把C:/Python26加入到系统或用户的path中,在命令行下试一下python命令是否可用。
三、安装Moin
解压下载到的zip包,moin-1.9.3.zip,我这里解压到了C:/moin-1.9.3,打开命令行,输入以下命令:
python.exe setup.py install --prefix=C:/www/Moin --record=install.log
将moin安装到www/Moin目录下。
让python可以定位到Moin,编辑C:/Python26/Lib/site.py,在def makepath(*paths)前一行加入这句话:
sys.path.append('C:/www/Moin/Lib/site-packages')
这样打开python的命令行提示符号中输入import MoinMoin,如果看不到任何提示说明成功了。
接下来说一下cgi和wsgi两种方式配置moin。
I cgi方式:
打开命令行,执行以下命令
cd C:/
md www/Moin/mywiki
md www/Moin/mywiki/data
md www/Moin/mywiki/underlay
cd C:/Python26/share/moin
xcopy data C:/www/Moin/mywiki/data /E
xcopy underlay C:/www/Moin/mywiki/underlay /E
copy config/*.* C:/www/Moin/mywiki/
copy server/*.* C:/www/Moin/mywiki/
data_dir = r'C:/www/Moin/mywiki/data'
data_underlay_dir = r'C:/www/Moin/mywiki/underlay'
注意要保存为UTF-8格式的文件。
修改C:/www/Moin/mywiki/moin.cgi
第1行改为:
在文件的a1步骤中加入:
sys.path.insert(0, r'C:/www/Moin/Lib/site-packages')
在a2步骤中加入:
sys.path.insert(0, r'C:/www/Moin/mywiki')
修改Apache的配置文件httpd.conf,加入以下代码:
# 1.6之后都要写成moin_static版本号这种形式
Alias /moin_static193 "C:/www/Moin/Lib/site-packages/MoinMoin/web/static/htdocs"
ScriptAlias /mywiki "C:/www/Moin/mywiki/moin.cgi"
<Directory "C:/www/Moin/Lib/site-packages/MoinMoin/web/static/htdocs">
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
<Directory "C:/www/Moin/mywiki">
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
重启apache,在浏览器中输入http://lcoalhost/mywiki访问一下吧。
首次登录先注册一个用户,比如说是firstUser,然后编辑C:/www/Moin/mywiki/wikiconfig.py,将firstUser设置为superuser:
acl_enabled = 1
superuser = [u"firstUser", ]
# 设置权限
acl_rights_default = u"All:read"
acl_rights_before = u"firstUser:read,write,delete,revert,admin"
配置MoinMoin使用中文
用admin用户登录,按照Wiki的提示,访问SystemPagesSetup页,安装所需的简体中文包。
navi_bar = [ # If you want to show your page_front_page here:
u'%(page_front_page)s',
u'RecentChanges',
u'FindPage',
u'HelpContents', ] 在导航里显示FrontPage链接
设置默认语言为中文
language_default = 'zh'
page_category_regex = u’^Category[A-Z]|类$’
page_dict_regex = u’[a-z]Dict$|字典$’
page_form_regex = u’[a-z]Form$|表$’
page_group_regex = u’[a-z]Group$|组$’
page_template_regex = u’[a-z]Template$|模板$’
重启apache,然后以该用户登录mywiki,为系统安装语言包。
II wsgi方式,这是官方推荐的方式
修改C:/www/Moin/mywiki/moin.wsgi,在a2步骤中加入:
sys.path.insert(0, r'C:/www/Moin/mywiki')
下载正确版本的mod_wsgi.so,将其放到apache安装目录的modules目录下,名字要改成mod_wsgi.so,同时修改apache2.2的配置文件httpd.conf:
LoadModule wsgi_module modules/mod_wsgi.so
将cgi方式下的:
# ScriptAlias /moin_static193 "C:/www/Moin/mywiki/moin.cgi" 这行要注释掉
WSGIScriptAlias /mywiki "C:/www/Moin/mywiki/moin.wsgi" 同时加入这行
保存后重启apache,ok,现在再以http://localhost/mywiki,至此与apache以wsgi方式使用moin也完成了。