MoinMoin安装简明指南
MoinMoin是用 Python语言写的一个开源Wiki引擎,由德国人开发,基于GNU GPL协议发布。MoinMoin 的软件架构很灵活,通过 Python 能很容易进行功能扩展,现在已开发出大量的 Plugins。MoinMoin 不使用后台数据库存放数据,而是以文本的形式存放在服务器目录中。Moin是德国北部方言"好"、"早上好"的意思,MoinMoin是"很好"的意思。
许多知名网站使用了 MoinMoin,比如 Fedora项目 Wiki、Ubuntu社区 Wiki、Gnome Live 等。可以看一看 MoinMoin 的ScreenShots ,然后再决定是否要装一个来玩。
注意:如果打算安装 MoinMoin,首先要确认系统有没有安装 Python 与 Apache2。
下载[ ]
下载地址:http://static.moinmo.in/files/moin-1.6.0.tar.gz
为了下文叙述方便,假定 MoinMoin 包下载后解压缩至 /opt/moinmoin-1.6.0 目录。
安装moinmoin 引擎[ ]
在终端进入 /opt/moinmoin-1.6.0 后,执行 MoinMoin 安装脚本 setup.py:
# python -v setup.py --quiet install --record=install.log
安装完后,如未发现出错信息,可以在当前目录下看一看安装时输出的日志文件,可以看到 MoinMoin Wiki 引擎默认被安装在 /usr/lib/python2.x/site-packages/MoinMoin 目录下,MoinMoin Wiki 模板文件被安装在 /usr/share/moin 目录下。
/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 实例的安装与此是同样的道理。关于多个 Wiki 实例的安装与配置请参考 Wiki Farming 文档,我曾经尝试过,但是很不幸,没有成功。后来用了一种好像很笨的方法才可以。
首先选定 Wiki 实例的安装位置,本文假定是安装在 /usr/local/var/wikis 目录下。
然后将 MoinMoin Wiki 模板目录中的 data、underlay、wikiconfig.py 复制到Wiki 实例目录:
# cp -rf /usr/share/moin/data /usr/local/var/wikis # cp -rf /usr/share/moin/underlay /usr/local/var/moin # cp /usr/share/moin/config/wikiconfig.py /usr/local/var/moin
下一步是设置 Wiki 实例目录权限,以便 Web 服务器有权限访问页面,gentoo 下 apache 默认用户组与用户均为 apache(在 Debian、Ubuntu 系统中,apache 默认用户组与用户是 www-data),Wiki 实例目录权限设置如下:
# chown -R apache.apache /usr/local/var/wiki # chmod -R ug+rw /usr/local/var/wiki # chmod -R o-rwx /usr/local/var/wiki
配置 apache + mod_python 环境[ ]
此举是让 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) 底部中添加以下信息:
Alias /moin_static160 "/usr/share/moin/htdocs" <Directory /usr/share/moin/htdocs> ### 开放目录权限 Order allow,deny Allow from all </Directory> <Location /moin> SetHandler python-program PythonPath "['/usr/local/var/wiki/'] + sys.path" PythonHandler MoinMoin.request::RequestModPy.run </Location>
上述 apache2 配置文件的修改,在使用 Alias 指令指定 MoinMoin Wiki 系统模板的别名后,应当开放其访问权限,这一点很重要,如果不这样设定,那么 MoinMoin 安装完毕后,可能无法访问 Wiki 主题样式。
修改完后,重启 apache2:
# /etc/init.d/apache2 restart
配置 moinmoin 环境[ ]
这是最后一步,对 Wiki 实例目录下的 wikiconfig.py 文件进行一些修改。由于这个文件默认是 iso-8859-1 编码的,若在该文件中输入中文,保存时会出现乱码,所以在修改之前,自己想办法把文件转换为 utf-8 编码的,可以使用 iconv 进行编码转换。
对该文件几处必要的修改处如下:
# -*- coding: utf-8 -*- #使用UTF-8编码 from MoinMoin.multiconfig import DefaultConfig class Config(DefaultConfig): # 要用绝对路径! data_dir = '/usr/local/var/wiki/data/' data_underlay_dir = '/usr/local/var/wiki/underlay/' 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 了。
访问 moinmoin wiki[ ]
在IE 地址栏里键入“http://localhost/wiki” ,看看是否可以正常显示 Wiki 页面。
MoinMoin Wiki 安装完后,还是要配置一些东西,但这只是美化页面的事情,待日后慢慢讲来。