simonw代码@痕记

导航

MoinMoin Wiki 在Linux Apache下的安装

    最近将http://wiki.cwowaddon.com/迁移到了Dreamhost的主机上, 由于本人不熟悉Linux和Apache其中遇到了不少问题Google查阅了一些文档并不尽如人意, 磕磕绊绊终归是搞定了, 做个总结以供参考. 一些细节问题请先查看我的上一篇Blog MoinMoin Wiki 在IIS下的安装与升级.

  • 准备工作

下载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, 可以参考在DreamHost上安装python 2.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, 其中都有一些毛病, 最终修正后, 结果较为完美.

posted on 2007-03-10 19:45  simonw  阅读(2721)  评论(0编辑  收藏  举报