moinmoin 1.81+ubuntu 8.10+apache2
又奋战了几个白天和晚上,总算把模moinmoin装在了apache2上了,这次经历让我很大地解了moinmoin wiki和apache,从中也体会到了一点人生哲理:熬夜也要搞定它!
几点体会:
1.去看官方的帮助文档,有中文的最好。不要怕英文,帮助文档的英文跟四级英语快速阅读差不多,单词不认识就查字典。要有耐心。
2.moinmoin的版本不同,安装方式可能有很大不同,完整照着人家的操作步骤下来,可能还是会错。
3.安装时要多想想为什么,照搬命令行代码,到时无法运行时就会连错哪里都不知道。
我的步骤,仅供参考:
1.下载moinmoin安装包(我的版本是最新的1.81),解压后在命令行运行setup.py。我ubuntu8.10内置了puyhon2.5。所以能运行.pyd 文件。
2.安装apache2,用命令行好了。
3. 然后,两个软件的目录有必要介绍一下
#apache网站实例的目录,我们要把我们的wiki放在那里
etc/apache2/
#apache2的设置文件的存放目录,我们待会要修改其中的一个文件
usr/share/moin/
#moin wiki的目录
var/log/apache2/
#记录apache网站错误的日志文件目录
4.在www中新建一个目录mywiki,存放我们的wiki实例,并把moin目录下data和underlay两个文件夹复制到mywiki。其中data用来存放我们的数据,underlay存放moin的默认文档。htdocs放了主题元素。把server文件夹里的moin.cgi和config里面的wikiconfig.py也复制到mywiki。同时修改文件夹所有权(不用这步后面会出错)。
sudo cp -r /usr/share/moin/data /usr/share/moin/underlay /usr/share/moin/htdocs /usr/share/moin/server/moin.cgi /var/www/mywiki
sudo cp /etc/moin/config/wikiconfig.py /etc/moin/
sudo chown -R www-data:www-data /var/www/mywiki
5.配置 moin.cgi
当 moin.cgi 运行时,它导入 MoinMoin 模块,而 MoinMoin 模块接着导入其他模块和配置文件. 虽然 MoinMoin 模块在正确配置的系统中总可以被找到,但是配置文件不一定会存在。编辑 moin.cgi 脚本来纠正它。 在文件顶端添加这些文字:
sys.path.insert(0, '..')
你也可以使用包含wikiconfig.py文件的目录的绝对路径来代替 '..'. 我使用的是绝对路径。
6.配置apache2
修改apache2目录下的httpd.conf,增加下面几行代码
设置了一个 script alias,将把任何你希望的访问 (我们建议你使用例程的名字,比如/mywiki) 重定向到你刚刚拷贝的CGI脚本。
ScriptAlias /mywiki "/var/www/mywiki/moin.cgi"
7.配置 moinmoin
检查例程目录下的wikiconfig.py文件是否包含 htdocs url_prefix,例程的 data 目录,underlay 目录的正确路径。 你可以使用相对路径,但是注意它们应该是相对于GCI脚本而不是相对于配置文件的!你也可以使用绝对路径,这样不会出错。
我用了绝对路径
data_underlay_dir = '/var/www/mywiki/underlay'
url_prefix_static = '/wiki'
8.测试一下wiki
开启apache2
打开http://127.0.0.1/mywiki/
如果有页面显示那就ok了,不行就只能调试看看那里错了。
9.修改主题
下载主题包,在htdocs里建一个文件夹,以你的主题名命名,并放入主题包的images和css,把.py文件放入data/plugin/theme中,最后修改wikiconfig.py中的 theme_default = '你的主题名' 。
好了,我们的个人知识库算是建起来了!这篇文章是我在尝试很多方法失败后终于成功时写的,一方面总结一下成功过程,另一方面对别人来说可能会有用。文章可能有瑕疵,我会试着去完善。我也正在学习moinmoin和ubuntu,逐步加入到linux用户行列里去。
10.优化
cgi改用fastcgi
* 新建apache的配置文件
添加内容:
AddHandler fastcgi-script .fcgi .fcg
FastCgiServer /var/www/mywiki/moin.fcg -idle-timeout 60
ScriptAlias /mywiki "/var/www/mywiki/moin.fcg"
</IfModule>
* 从moinmoin的sever文件夹里找出moin.fc复制到/var/www/mywiki/,并修改内容
sys.path.insert(0, '..')
* 修改apache2目录下的httpd.conf,增加下面代码
* 好了,祝你好运!!
11.mod_python方式
首先安装mod_python
# Begin /etc/apache2/conf.d/moin_mop_python.conf
Alias /mywiki "/home/acm/mywiki/htdocs/"
<Location /wiki>
SetHandler python-program
# Add the path of your wiki directory
PythonPath "['/home/acm/mywiki/'] + sys.path"
PythonHandler MoinMoin.request.request_modpython::Request.run
</Location>
<Location /mywiki>
SetHandler None
</Location>
# End /etc/apache2/conf.d/moin_mop_python.conf
EOF
重启apache,搞定。注:httpd.conf的内容可以不要了
再补充几点:
1.由于在httpd.conf中把wiki定向到了htdocs上,于是wikiconfig.conf的默认主题位置就成了/wiki/而不是/moin_static181,所以 logo_string要改一下,不然logo就没了。注意/wiki左斜杠别丢了。
参考资料:
http://wiki.ubuntu.org.cn/MoinMoin%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AE
浙公网安备 33010602011771号