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,用命令行好了。

sudo apt-get install apache2

 

3. 然后,两个软件的目录有必要介绍一下

var/www/
#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 mkdir /var/www/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 脚本来纠正它。 在文件顶端添加这些文字: 

import sys
sys
.path.insert(0, '..')

你也可以使用包含wikiconfig.py文件的目录的绝对路径来代替 '..'.   我使用的是绝对路径。

6.配置apache2

修改apache2目录下的httpd.conf,增加下面几行代码

设置了一个 alias,将把对 /wiki/的访问 (in the URL) 重定向到 htdocs 目录
设置了一个 script alias,将把任何你希望的访问 (我们建议你使用例程的名字,比如/mywiki) 重定向到你刚刚拷贝的CGI脚本。
Alias /wiki/ /var/www/mywiki/htdocs/
ScriptAlias 
/mywiki "/var/www/mywiki/moin.cgi"

 

7.配置 moinmoin

检查例程目录下的wikiconfig.py文件是否包含 htdocs url_prefix,例程的 data 目录,underlay 目录的正确路径。 你可以使用相对路径,但是注意它们应该是相对于GCI脚本而不是相对于配置文件的!你也可以使用绝对路径,这样不会出错。

我用了绝对路径

data_dir = '/var/www/mywiki/data'
data_underlay_dir 
= '/var/www/mywiki/underlay'
url_prefix_static 
= '/wiki'

 

 8.测试一下wiki

开启apache2

sudo /etc/init.d/apache2 start

打开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的配置文件

sudo gedit /etc/apache2/conf.d/mywiki

添加内容:

<IfModule mod_fastcgi.c>
   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/,并修改内容

import sys
sys
.path.insert(0, '..')

 

  * 修改apache2目录下的httpd.conf,增加下面代码

Alias /wiki/ /var/www/mywiki/htdocs/

  * 好了,祝你好运!!

 11.mod_python方式

首先安装mod_python

sudo apt-get install libapache2-mod-python
写入配置文件
cat > /etc/apache2/conf.d/moin_mop_python.conf << "EOF"
# 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://moinmaster.wikiwikiweb.de/%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87MoinMoin/%E5%AE%89%E8%A3%85%E6%89%8B%E5%86%8C

http://wiki.ubuntu.org.cn/MoinMoin%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AE


posted @ 2009-01-14 16:47  sunjian  阅读(1530)  评论(0)    收藏  举报