-- hd [2004-08-08 21:57:19]
Contents
MoinMoin For Freebsd安装Howto
moinmoin的安装总是让人感觉很迷惑,其实在FreeBSD下的安装还是让人很愉快的。因为ports中已经准备了moinmoin的Makefaile。
本文使用的Freebsd版本为4.10 stable,moinmoin为1.2.3。
安装需要的软件环境
python
你需要安装python:
cd /usr/ports/lang/python make install make clean
apache
你可以选择你安装apache的版本,但是我使用了apache 2,因为我希望使用mod_python 3(使用它的多线程功能)。
cd /usr/ports/www/apache2 make install make clean
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
安装moinmoin
Freebsd为你准备了moinmoin 1.2.3的ports,安装会非常的简单:
cd /usr/ports/www/moinmoin make install make clean
配置moinmoin
配置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这个程序了。
配置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会根据你的浏览器所使用的语言来显示对应的本地化字符。
测试moinmoin的安装
使用浏览器访问 http://youhostname/moin 试试,如果没有问题哪么就成功了。如果出现问题请检查以下内容:
- cgi-bin中的程序的权限
/usr/local/share/moin/cgi-bin中的程序的权限
/usr/local/share/moin/data的权限
- moin_config.py文件中的配置
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 呢?
Moinmoin 插件
latex 插件
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已包含)
- 安装:
从 http://johannes.sipsolutions.net/Projects/new-moinmoin-latex/parser?action=raw 获取 parser 代码(见原文的code section) (用"显示源码"方式) 保存在Wiki的Path/plugin/parser下取名latex.py. (win下, 我的存在f:\Python24\Lib\site-packages\MoinMoin\parser\latex.py)
从 http://johannes.sipsolutions.net/Projects/new-moinmoin-latex/macro?action=raw 获取 macro code 代码 (见原文的 code section) 保存在Wiki的Path/plugin/macro. (win下, 我的存在f:\Python24\Lib\site-packages\MoinMoin\parser\latex.py)
在你的wikiconfig.py 中开启上传文件功能 (allowed_actions = ['AttachFile']) (如果尚未开启)
测试, 将[[latex(\usepackage{dsfont} % $$\mathds{C}$$)]] 拷贝到你的页面, 得到反馈"<<latex(\usepackage{dsfont} % $$\mathds{C}$$)>>" , 完成
Windows 安装注记
Windows下出于安全等因素考虑, 新版本依赖于runlimit.exe这个程序, 从runlimit.zip (built by Alexander Schremmer)下载源码和可执行版本. 然后将runlimit.exe放在搜索路径, 或者修改\parser\latex.py中的相应位置.
inline latex
使用{}使用环境会产生换行 ,想将latex嵌入到moin的行中有两种方法:
用 <<latex( ... )>>形式, 如 [[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公式了
例子
%%anchor: red-square \usepackage{graphics,color} %%end-prologue%% \newsavebox{\mysquare} \savebox{\mysquare}{\textcolor{red}{\rule{1in}{1in} } } \usebox{\mysquare}
TODO:
- 用户权限配置
- skin配置
- 管理权限配置
- 使用mod_python配置
- 其它
-- samhoo 2004-08-11 18:32:18