安装MoinMoin WiKi教程

Filed under: Python — 标签:, , , , , —  2011 年 04 月 30 日 admin @ 下午 2:44

网络上的Wiki程序有好多,包括asp,jsp,php的,但基于python的wiki程序MoinMoin也是非常经典,关键并不在于其功能的复杂,而是简单的功能带有很好的扩展能力,所以就此安装此wiki。

网络上关于此wiki的安装教程也很多,我就根据我自己安装实践写这个教程。

一,下载

官方网站:http://www.moinmo.in/

官方下载页面:http://www.moinmo.in/MoinMoinDownload

下载地址:http://static.moinmo.in/files/moin-1.9.2.tar.gz

为了下文叙述方便,假定 MoinMoin 包下载后解压缩至 /home/liusai/moin-1.9.2 目录。

clip_image002

到这一步就可以使用MoinMoin自带的服务器先睹为快,在命令栏中输入

liusai@liusai-laptop:~$ cd moin-1.9.2

liusai@liusai-laptop:~/moin-1.9.2$ python wikiserver.py

clip_image004

二,安装moinmoin 引擎

在终端进入 /home/liusai/moin-1.9.2 后,执行 MoinMoin 安装脚本 setup.py:

# python -v setup.py –quiet install –record=install.log

clip_image006
但我这出现这样的错误提示:

error: could not create ‘/usr/local/lib/python2.6/dist-packages/MoinMoin’: Permission denied

原因是没有权限,所以要使用sudo命令,即将命令改为

#sudo python -v setup.py –quiet install –record=install.log

安装完后,如未发现出错信息,可以在当前目录下看一看安装时输出的日志文件,可以看到 MoinMoin Wiki 引擎默认被安装在 /usr/local/lib/python2.6/site-packages/MoinMoin 目录下,MoinMoin Wiki 模板文件被安装在一般在 /usr/share/moin ,但我的是在/usr/share/local/moin目录下,为了规范,就用一般的/usr/share/moin作为例子。

clip_image002[4]

clip_image004[4]

像这些信息你都可以在刚刚的/home/liusai/moin-1.9.2目录下install.log文件里看出

clip_image006[4]

/usr/share/moin 目录下有这样一些重要目录:

· /usr/share/moin/data:存放WiKi Pages,Users,etc。只能被MoinMoin访问。

· /usr/share/moin/underlay:存放默认的WiKi Pages,有多种语言版本的帮助文档、默认页面文档等。只能被MoinMoin访问。

· /usr/share/moin/htdocs:存放网页元素,如图片、主题风格等。可被Web Server(Apache、IIS等)访问。

· /usr/share/moin/server:存放服务器启动脚本示例。

· /usr/share/moin/config:存放配置文件示例。

通过拷贝模板文件,就可生成不同的 Wiki 实例(即多个 Wiki 站点,Wiki Farm)。另外,MoinMoin 的软件升级也很简单,只需用新版本的模板文件覆盖旧的就可以了。

三,安装 moinmoin wiki 实例

注意:下面用的是wiki目录,一般情况下请不要用wiki目录,建议是用mywiki,这样会少很多不必要的麻烦。

这里只讲述一个 Wiki 实例的安装,多个 Wiki 实例的安装与此是同样的道理。关于多个 Wiki 实例的安装与配置请参考 Wiki Farming 文档。

首先选定 Wiki 实例的安装位置,本文假定是安装在 /var/www/wiki(一般是你的网站目录) 目录下。

然后将 MoinMoin Wiki 模板目录中的 data、underlay、wikiconfig.py 复制到Wiki 实例目录:

# cp -rf /usr/local/share/moin/data /var/www/wiki

# cp -rf /usr/local/share/moin/underlay /var/www/wiki

# cp /usr/local/share/moin/config/wikiconfig.py /var/www/wiki

# cp /usr/local/share/moin/server/moin.cgi /var/www/wiki

下一步是设置 Wiki 实例目录权限,以便 Web 服务器有权限访问页面,gentoo 下 apache 默认用户组与用户均为 apache(在 Debian、Ubuntu 系统中,apache 默认用户组与用户是 www-data),Wiki 实例目录权限设置如下:

# chown -R apache.apache /var/www/wiki

# chmod -R ug+rw /var/www/wiki

# chmod -R o-rwx /var/www/wiki

clip_image002[6]

这里出现了错误,就是默认情况下wiki默认已被系统保留使用,所以更改以下刚刚的文件夹名称为mywiki

clip_image004[6]

由于我的是ubuntu,所以有差异

# cd /var/www/

# chown -R apache.apache mywiki

# chmod -R ug+rw mywiki

# chmod -R o-rwx mywiki

四,配置 apache 环境

MoinMoin设置了多种运行环境,主流的是apache+WSGI。用cgi也是可以的,这里的例子中我是使用的cgi,其他的环境配置方法好多网站都有。

此举是让 apache2 配合 python 生成 MoinMoin Wiki 页面,但是 apache2 与 python 的配合需要由apache 模块 mod_python 的支持才能实现。

首先要安装 mod_python,Gentoo Linux 下可以使用 emerge 安装,其他 Linux 发行版的软件仓库中通常也有 mod_python,请按照相应的安装方法进行。

# emerge -avt mod_python

在 Gentoo Linux 下可以修改 /etc/conf.d/apache2 文件启用 apache 的 Python 选项(其他 Linux 发行版,请参阅相应的 apache 配置文档),即在 “APACHE2 OPTS” 项中添加 “-D PYTHON”:

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D PYTHON"

注:我在之前的教程已写了详细的教程,可以参考

最后还需要让 apache 能够找到 Wiki 实例所在位置,可在 apache2 配置文件 (通常是 /etc/apache2/httpd.conf) 底部中添加以下信息:

ScriptAlias /mywiki "/var/www/mywiki/moin.cgi"

#这一句是调用cgi脚本,前提是将/usr/local/share/moin/server/目录下的moin.cgi复制到mywiki目录下。

Alias /moin_static192 "/usr/share/moin/htdocs"

<Directory /usr/share/moin/htdocs> ### 开放目录权限

Order allow,deny

Allow from all

</Directory>

上述 apache2 配置文件的修改,在使用 Alias 指令指定 MoinMoin Wiki 系统模板的别名后,应当开放其访问权限,这一点很重要,如果不这样设定,那么 MoinMoin 安装完毕后,可能无法访问 Wiki 主题样式。

修改完后,重启 apache2:

# /etc/init.d/apache2 restart

clip_image006[6]
这是重启后提示的错误,发现mywiki的权限还没有设置好,还有就是moin的环境还没配置好。

五,配置 moinmoin 环境

这是最后一步,对 Wiki 实例目录下的 wikiconfig.py 文件进行一些修改。由于这个文件默认是 iso-8859-1 编码的,若在该文件中输入中文,保存时会出现乱码,所以在修改之前,自己想办法把文件转换为 utf-8 编码的,可以使用 iconv 进行编码转换。

对该文件几处必要的修改处如下:

# -*- coding: utf-8 -*- #使用UTF-8编码

from MoinMoin.multiconfig import DefaultConfig

class Config(DefaultConfig):

# 要用绝对路径!

instance_dir = ‘/var/www/mywiki/’

url_prefix = ‘/moin_static160′ #模板文件的设置,如果主题样式显示有问题,就是这里设置

# 在此预先设定管理员账户名,待 MoinMoin Wiki 配置完成后,

# 再注册该账户,该即成为管理员

superuser = [u"silence", ]

navi_bar = [

u'%(page_front_page)s',

u'RecentChanges',

u'FindPage',

u'HelpContents',

]

#设定页面主题,也就是页面样式或者皮肤

theme_default = ‘modern’

# 设置默认语言环境为中文

language_default = ‘zh’

page_category_regex = u’^Category[A-Z]‘

page_dict_regex = u’[a-z]Dict$’

page_form_regex = u’[a-z]Form$’

page_group_regex = u’[a-z]Group$’

page_template_regex = u’[a-z]Template$’

show_hosts = 1

ok,配置工作基本完成了,现在如果不放心,再重新启动一次 apache2,然后就可以访问你的 MoinMoin wiki 了。

clip_image002[8]

当我登录的时候,发现样式没了,查看源文件,发现这与wikiconfig.py文件里设置有关,所以解决这种情况有很多种方法假设url_prefix_static = ‘/mystyle’。

clip_image004[8]

方法一,使用alias定义别名,在httpd.conf里加入一句

Alias ‘/mystyle’ "/usr/local/share/moin/htdocs"

# 保证目的htdocs的存在,如果不存在可以到安装文件中找到,moin-1.9.2/MoinMoin/web/static/htdocs。所以可以使用cp命令进行复制。

方法二,建立软链接

sudo ln -s /usr/local/share/moin/htdocs /var/www/mystyle

如果接触链接可以使用unlink

方法三,直接将htdocs文件拷贝到mystyle目录下

sudo cp -R /usr/local/share/moin/htdocs /var/www/mystyle

这样就可以解决问题了。

六,与django共存

因为我的服务器原来是安装了django的,所以就要为wiki的目录添加例外,添加

<location "/mywiki">

SetHandler None

</location>

<location "/mystyle">

SetHandler None

</location>

clip_image006[8]
这样就可以了。看下效果



“安装MoinMoin WiKi教程”2条留言

  1. 楼主太给力了!!最近倒腾MoinMoin1.9.3,也遇到一些问题,我怀疑没装好,想重装,试试楼主的方法先!

    • 不同的平台不一样,但基本程序都差不多

发表留言



Powered by WordPress  登陆

无觅相关文章插件,快速提升流量