红联Linux门户
Linux帮助

MoinMoin Wiki在Linux Apache下的安装

发布时间:2015-05-12 10:44:05来源:linux网站作者:simonw

由于本人不熟悉Linux和Apache其中遇到了不少问题搜索查阅了一些文档并不尽如人意, 磕磕绊绊终归是搞定了, 做个总结以供参考.


准备工作

下载Python和最新版的MoinMoin Wiki, 本文示例中的环境:

主目录: /home/simonw

Web目录: /home/simonw /wiki.cwowaddon.com

Python版本2.5

Wiki版本为1.5.7

Wiki解压安装文件目录: /home/simonw /moin-1.5.7

Wiki安装目录: /home/simonw /MoinMoin

Wiki实例目录: /home/simonw /MoinMoin/simonwwiki

再废话几句, Dreamhost上默认安装了Python2.3, 在wiki安装时会有几个警告, 所以我自己安装了Python2.5,过程很简单.


安装Wiki

tar xzf moin-1.5.7.tar.gz cd moin-1.5.7 python setup.py --quiet install --prefix=/home/simonw/MoinMoin --record=install.log

少许安装完毕后会在/home/simonw /MoinMoin目录下生成这几个子目录lib(主运行程序), share(Wiki实例的模板), bin三个子目录.


创建Wiki实例

将wiki实例置于/home/simonw /MoinMoin/simonwwiki而非Web目录下可以使数据更加安全, 也不用在设置其他的权限. 创建过程主要就是从share目录中拷贝data, underlay目录, 配置文件wikiconfig.py, moin.fcg(入口调用文件, 此处使用了FastCGI模式, 所以用了这个文件) 到wiki实例目录中. 同样可以依据此方式创建多个wiki实例.

将/home/simonw /MoinMoin/share/moin/htdocs目录映射到web目录, 这不是必须的, 你完全可以拷贝到web目录, 但这里存放的是css等skin文件因此共享比较合适.
 
cd /home/simonw/wiki.cwowaddon.com mdir wiki ln -s /home/simonw/MoinMoin/share/moin/htdocs wiki

打开moin.fcg在顶部添加下面的引用路径, 以便代码能够找到.
#!/home/simonw/bin/python/bin/python # -*- coding: iso-8859-1 -*-import sys sys.path.insert(0, '/home/simonw/lib/lib/python2.5') sys.path.insert(0, '/home/simonw/MoinMoin/lib/python2.5/site-packages') sys.path.insert(0, '/home/simonw/MoinMoin/simonwwiki')


配置wikiconfig.py
data_dir ='/home/simonw/MoinMoin/simonwwiki/data/' data_underlay_dir ='/home/simonw/MoinMoin/simonwwiki/underlay/' url_prefix ='/wiki/htdocs'


配置Apache

打开站点的FastCGI模式, 将比CGI方式快出5倍以上, 把moin.fcg拷贝到/home/simonw/wiki.cwowaddon.com, 并设置为可执行.

chmod +x moin.fcg


建立.htaccess文件, 配置web目录.

options +FollowSymLinks options -Indexes DirectoryIndex moin.fcg ReWriteEngine on RewriteRule ^img/ - [L] RewriteRule ^wiki/htdocs/ - [L] RewriteBase / RewriteRule ^moin\.fcg - [L] RewriteRule ^(.*)$ moin.fcg/$1[L]

上面Url rewrite很关键, Url会变得更加友好http://wiki.cwowaddon.com/simonw 而不是http://wiki.cwowaddon.com/moin.fcg/simonw 还需要最后一步使得页面输出的Url也成为这样. 打开moin.fcg修改代码

def handle_request(req, env, form): request = RequestFastCGI(req, env, form, properties = {'script_name': '/'}) request.run()


本文参考了MoinMoinWiki本身的安装帮助文档, 和http://wiki.dreamhost.com/index.php/MoinMoin, 其中都有一些毛病, 最终修正后, 结果较为完美.


Ubuntu下MoinMoin安装设置:http://www.linuxdiyf.com/linux/12106.html

在Ubuntu上搭建LAMP服务器+Wiki:http://www.linuxdiyf.com/linux/12107.html