-- hd [2004-08-08 21:57:19]

1. MoinMoin For Freebsd安装Howto

moinmoin的安装总是让人感觉很迷惑,其实在FreeBSD下的安装还是让人很愉快的。因为ports中已经准备了moinmoin的Makefaile。

本文使用的Freebsd版本为4.10 stable,moinmoin为1.2.3。

1.1. 安装需要的软件环境

1.1.1. python

你需要安装python:

cd /usr/ports/lang/python
make install
make clean

1.1.2. apache

你可以选择你安装apache的版本,但是我使用了apache 2,因为我希望使用mod_python 3(使用它的多线程功能)。

cd /usr/ports/www/apache2
make install
make clean

1.1.3. mod_python

如果你希望moinmoin使用mod_python来提高速度,哪么建议你安装这个port。如果只是使用cgi方式运行moinmoin,哪么这步可以省略。

cd /usr/ports/www/mod_python3
make install
make clean

之后编辑/usr/local/etc/apache2/httpd.conf,将

#LoadModule python_module      libexec/apache2/mod_python.so

前的#去除。 还需要在其中加入:

PythonPath "['/path/to/foo', '/path/to/bar']"
AddHandler python-program .py
PythonHandler foobar
PythonDebug On

上面几句的意思为:

  • 设置mod_python的pythonpath
  • 所有.py后娺的进入mod_python的解释
  • 所有的请求在处理前先调用foobar脚本
  • 打开python的debug

如果你的apache在编译时没有加入线程支持(而mod_python又需要启用线程支持),需要向/usr/local/sbin/envvars中加入以下定义:

LD_PRELOAD=/usr/lib/libc_r.so  # or libpthread.so
export LD_PRELOAD

1.2. 安装moinmoin

Freebsd为你准备了moinmoin 1.2.3的ports,安装会非常的简单:

cd /usr/ports/www/moinmoin
make install
make clean

1.3. 配置moinmoin

1.3.1. 配置moinmoin cgi

编辑/usr/local/etc/apache2/httpd.conf文件,加入cgi的alias:

ScriptAlias /moin/moin.cgi "/usr/local/www/cgi-bin/moin"

这样我们访问/moin.cgi就等同于访问/usr/local/www/cgi-bin/moin这个程序了。

1.3.2. 配置moinmoin设置

moinmoin的配置文件存储在/usr/local/share/moin/cgi-bin中的moin_config.py文件里。 编辑moin_config.py文件中以下相关内容:

   1 default_lang = "zh" #缺省语言
   2 sitename = 'Woodpecker Wiki' #改为你的wiki的名字
   3 charset = 'utf-8'  # 字符集,为什么不使用utf-8呢?
   4 navi_bar = ['[FrontPage 首页]', '[ProjectList 项目]', '[DeptList 部门]', '[BlogList Blog]', '[RecentChanges 最近更新]', '[FindPage 搜索]', '[HelpContents 帮助]'] #改变你的导航条,注意要把moin_config.py的编码方式改为UTF-8。
   5 upperletters = "A-Z"
   6 lowerletters = "0-9a-z"
   7 allowed_actions = ['DeletePage', 'AttachFile'] #允许删除页面和允许上传附件
   8 logo_url = url_prefix + '/classic/img/sina_logo.GIF' #修改页logo

在moinmoin 1.2.2版本以后集成了中文的国际化程序,所以你已经不再需要配置有关国际化的东东了,而且moinmoin会根据你的浏览器所使用的语言来显示对应的本地化字符。

1.3.3. 测试moinmoin的安装

使用浏览器访问 http://youhostname/moin 试试,如果没有问题哪么就成功了。如果出现问题请检查以下内容:

  • cgi-bin中的程序的权限
  • /usr/local/share/moin/cgi-bin中的程序的权限

  • /usr/local/share/moin/data的权限

  • moin_config.py文件中的配置

1.4. moinmoin高级配置

  • 如何定制导航条?
    • 看上面的关于moin_config.py的配置
  • 如何配置允许附件上传?
    • 看上面的关于moin_config.py的配置
  • 我经常会写一些格式相似的文档,我能自己定义模板么?
    • samhoo:可以,你只需要创建页面名称以Template为结尾页面就可以了,在创建其他新的页面的时候,你就会看到你的模板,选择它作为模板创建新页面就可以了。

  • 如何修改导航条呢?
    • samhoo:修改moin_config.py的navi_bar就可以了,格式象这样子:navi_bar = ['[FrontPage 首页]', '[ProjectList 项目]', '[DeptList 部门]', '[Blog]', '[RecentChanges 最近更新]', '[FindPage 搜索]', '[HelpContents 帮助]']

  • 如何使用InterWiki 呢?

    • samhoo:首先你要让管理员在data/intermap.txt文件中添加一个InterWiki 的映射项,如:otherwoodpecker http://wiki.otherwoodpecker.org.cn/moin.cgi?,你可以在InterWiki页面看到新增的InterWiki 项;然后你只需在你的页面中象这样写:[wiki:woodpecker/PyUss PyUss in woodpecker]]

1.5. Moinmoin 插件

1.5.1. latex 插件

1.5.1.1. HOWTO install

(courtesy of Bernhard Kast) (几乎为翻译原文)

  • 依赖:
    • LaTeX (debian package tetex-bin ; win上可选CTeX套件)
    • LaTeX的UTF-8支持 (debian package latex-ucs ; win上CTeX已包含)
    • dvipng (debian package dvipng ; win上CTeX已包含)

  • 安装:

1.5.1.2. Windows 安装注记

Windows下出于安全等因素考虑, 新版本依赖于runlimit.exe这个程序, 从runlimit.zip (built by Alexander Schremmer)下载源码和可执行版本. 然后将runlimit.exe放在搜索路径, 或者修改\parser\latex.py中的相应位置.

1.5.1.3. inline latex

使用{{{ #!latex ... }}}使用环境会产生换行 ,想将latex嵌入到moin的行中有两种方法:

  • latex error! exitcode was 2 (signal 0), transscript follows:
    
    
    形式, 如 [[latex(\usepackage{graphics,color} % \newsavebox{\mysquare} \savebox{\mysquare}{\textcolor{blue}{\rule{1cm}{1cm} } }  \usebox{\mysquare} )]] 为一个蓝色的方框
  • 更简洁的方法, 使用inline latex程序. 从inline下载代码, 保存在Path/plugin/parser中名为inline_latex.py, 对希望inline的页面加入#format inline_latex, 于是你就可以使用$ ... $的形式书写latex公式了

1.5.1.4. 例子

latex error! exitcode was 2 (signal 0), transscript follows:

TODO:

  • 用户权限配置
  • skin配置
  • 管理权限配置
  • 使用mod_python配置
  • 其它


-- samhoo 2004-08-11 18:32:18