MoinMoin的安装笔记

来源:互联网 发布:世界财经数据 编辑:程序博客网 时间:2024/05/05 21:23

由于这半年需要将文档放在共享平台上,所以决定要部署个wiki。选了一天,最终选了MoinMoin,一个基于Python并且完全不使用数据库的wiki engine来搭建。虽然最后并没有很成功的搭好,不过能够看到页面显示出来,已经破高兴的了~~(另外推荐一个TiddlyWiki,完全使用一个html写成的,可以用来作为个人记事本,当然对于用熟vim和emacs写文档的就可能有些多余了)

  1. 从moin的压缩包里面解压。然后有两种安装方式,一种是moin自带的默认模式,也就是直接使用wikiserver.py就可以启动wiki,这是最方便的方式。第二种是手动的安装,涉及很多文件的移动和配置,还需要有服务器和相应一些插件的配置经验,我也就是在这方面不太熟悉,所以在这里花了很久时间。
  2. 一下主要记录手动安装的过程。里面可能会提到一些简略的操作,具体可以看moin的installation guide。
  3. 首先使用setup.py将文件安装到/usr/local/,这样会将2种不同的文件放置在不同地方,一种是wiki具体涉及的页面数据文件,包括图片、CSS、JS等,放在/usr/local/lib/python2.5/site-packages/MoinMoin/里面;另外的是moin相关的配置文件,包括moin内部的配置,服务器到Moin的配置,还有一些备份数据的路径等,配置在/usr/local/share/moin/里面。
  4. 然后是moin内部的配置,在/usr/local/share/moin/config/wikiconfig.py里面配置,需要将备份数据的路径(data_dir)和帮助页面(underlay_dir)的路径给设置,这里是/usr/local/share/moin/data和/usr/local/share/moin/。同时在wikiconfig.py里面还有sitename的设置,这个是显示在wiki上面的名字。
  5. 然后配置moin的服务器配置,需要修改/usr/local/share/moin/server/moin.wsgi。需要增加的是sys.path.insert这行,需要增加两个moin存放数据的路径,分别是wiki网站数据目录和wiki的配置文件,在这里是/usr/local/lib/python2.5/site-packages和/usr/local/share/moin/config.
     
  6. 然后需要在apache里面设置moin的启动脚本的路径,在/etc/httpd/config/httpd.conf里面增加下面的代码WSGIScriptAlias /wiki /usr/local/share/moin/server/moin.wsgi。这么设置的意思是将wiki/命名域对应到该脚本去,那么当输入www.domain.com/wiki的时候就是打开wiki的网址。我在这里使用的是single wiki的配置,也就是只用moin搭建一个moin的实体。并且我使用的是apache的embeded模式,也就是moin是由apache来负责启动。
  7. 接下来需要设置将/usr/local/share/moin/这个目录的权限设置成apache的进程的用户权限,使得apache可以读写这个目录里面的东西。这里需要注意,如果你的apache是使用apache:apache启动的话,那么就将moin安装的目录(/usr/local/lib/python2.5/site-packages/MoinMoin/和/usr/local/share/moin/)的权限,输入下面的命令来修改(下面以/usr/local/share/moin为例)。
    cd /usr/local/share
    chown -R apache:apache moin
    chmod -R ug+rwX moin
    chmod -R o-rwx moin
  8. 接下来这步很重要,因为他会影响到wiki上面的图片的显示。修改/usr/local/share/moin/config/wikiserver.py里面的url_prefix_static = '/wiki' + url_prefix_static。这里的/wiki对应之前apache里面的命名域,这一部使得moin可以找到static数据的位置。注意如果之前命名域里面使用了/的话,这一步可以省略掉。
  9. 重启apache,然后wiki就会启动了。在浏览器里面输入localhost/wiki就可以看到moinwiki了~~

最后终于可以正常的运行Moin了~~

 

另外需要注意以下几个地方:

  1. 如果使用了inline_latex这个parser插件,那么会在从WORD往GUI编辑器里面贴东西的时候发生pluginMissingException这个错误。所以建议还是不要使用这个插件了。有一个text_x_mathtran这个插件比较好用。
  2. 如果在CentOS上面安装WSGI的话,要注意不能同时安装了mod_python。这样会导致mod_wsgi不能正常的启动。

 

PS: 选用moinmoin的原因是他是完全不使用数据库,这样省得我去配置。并且还是用python写的,我之后也会学到,所以就选了这个来当学习材料~~

其实在安装Apache上面的应用的时候,要多查看/var/log/httpd/里面的输出,这样比较容易差错。

 

参考资料:

  1. http://moinmo.in/HowTo/CentOSQuick
  2. http://wiki.centos.org/MoinMoin/InstallDocs