`
doujiu
  • 浏览: 88809 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

MoinMoin服务器架设

阅读更多

MoinMoin是用Python语言写的一个开源WiKi服务器,由德国人开发,基于GNU GPL协议发布。MoinMoin的软件架构很灵活,通过Python能很容易进行功能扩展,现在已开发出大量的Plugins。MoinMoin不使用 后台数据库存放数据,而是以文本的形式存放在服务器目录中。debin Wiki网站使用的WiKi系统就是MoinMoin。Moin是德国北部方言"好"、"早上好"的意 思,MoinMoin是"很好"的意思。


MoinMoin不带Web服务器,需与Web服务器配合才能进行WiKi页面的发布。MoinMoin支持的Web服务器有 Apache+CGI、Apache+FastCgi、Apache+Mod_Python、IIS、TwistedWeb和WebLogic等。下面介 绍一下MoinMoin+TwistedWeb和Apache2+Mod_Python两种方式在Debian系统下的安装过程。

  • 在安装MoinMoin前请安装好Python,最好使用最 新的版本。安装MoinMoin的命令如下:

    debian:~# apt-get install python2.4-moinmoin moinmoin-common

    [Note]
    安装 软件包时要注意版本问题,2.3的包不能和2.4的包混用。

    MoinMoin的 源码被安装到/usr/lib/python2.4/site-packages/MoinMoin目录。/usr/share/moin目录存放 MoinMoin系统的模板,内容大致有以下几类:

    • /usr /share/moin/data目录存放WiKi Pages,Users,etc。只能被MoinMoin访问。

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

    • /usr/share/moin /htdocs目录存放网页元素,如图片、主题风格等。可被Web Server访问

    • /usr/share/moin /server目录存放服务器启动脚本示例。

    • /usr/share/moin/config目录存放配置文件示例。

    通 过拷贝模板目录中的文件,就可生成不同的WiKi实例。MoinMoin的软件升级也很简单,只需用新版的模板文件下覆盖旧文就可以了。

  • 创 建MoinMoin实例

    在服务器上创建一个目录用于存放实例,目录名不能是wiki,它已被系统保留使用,一个不错的选择是mywiki。

    debian:~# mkdir mywiki<br />

    从模板目录拷贝实例所需文件。

    debian:~# cp -rf /usr/share/moin/data ~/mywiki<br />debian:~# cp -rf /usr/share/moin/underlay ~/mywiki<br />debian:~# cp /usr/share/moin/config/wikiconfig.py ~/mywiki<br />
  • 设置实例目录权限

    Debian中的MoinMoin系统默认使用www-data用户运行WiKi服 务器。所以我们的权限设置是:

    debian:~# chown -R www-data.www-data ~/mywiki<br />debian:~# chmod -R ug+rw ~/mywiki<br />debian:~# chmod -R o-rwx ~/mywiki<br />
  • 配置TwistedWeb方式,这里介绍的MoinMoin版本是1.3.1的。

    • 首先,我们要安装好twisted,安装命令如下:

      debian:~# apt-get install python2.4-twisted python2.4-twisted-bin<br />
    • 安装完Twisted后,就可以开始配置了。TwistedWeb的MoinMoin配置文件是 mointwisted.py,执行文件是mointwisted,这两个文件我们可从模板目录拷贝到实例目录。如:

      debian:~# cp /usr/share/moin/server/mointwisted mointwisted.py ~/mywiki<br />

      用vim等文本编辑器打开mointwisted.py配置文件,需修改两个地方,以指向正确的配置文件路径,修改后的内容如下:

      """<br />    twisted.web based wiki server<br /><br />    Run this server with mointwisted script on Linux or Mac OS X, or<br />    mointwisted.cmd on Windows.<br />    <br />    @copyright: 2004-2005 Thomas Waldmann, Oliver Graf, Nir Soffer<br />    @license: GNU GPL, see COPYING for details.<br />"""<br /><br /># System path configuration<br /><br />import sys<br /><br /># Path of the directory where wikiconfig.py is located.<br /># YOU NEED TO CHANGE THIS TO MATCH YOUR SETUP.<br />#sys.path.insert(0, '/etc/moin')<br />sys.path.insert(0,'/root/mywiki')     #修改1:指向你的wikiconfig.py文件所在的目录<br /># Path to MoinMoin package, needed if you installed with --prefix=PREFIX<br /># or if you did not use setup.py<br /><br /># Path to the directory where farmconfig is located (if different).<br />#sys.path.insert(0, '/etc/moin')      #修改2:注释掉该行内容,从1.5版开始已默认注释该行<br /><br /># Debug mode - show detailed error reports<br />## import os<br />## os.environ['MOIN_DEBUG'] = '1'<br /><br />from MoinMoin.server.twistedmoin import TwistedConfig, makeApp<br />    <br />    <br />class Config(TwistedConfig):<br />    <br />    # Server name<br />    # Used to create .log, .pid and .prof files<br />    name = 'mointwisted'<br />    <br />    # Path to moin shared files (default '/usr/share/moin/wiki/htdocs')<br />    docs = '/usr/share/moin/htdocs'<br /><br />    # The server will run with as this user and group (default 'www-data')<br />    user = 'www-data'                   <br />    group = 'www-data'<br /><br />    # Port (default 8080)<br />    # To serve privileged port under 1024 you will have to run as root<br />    port = 8080                         <br /><br />    # Interfaces (default [''])<br />    # The interfaces the server will listen to. <br />    # [''] - listen to all interfaces defined on the server<br />    # ['red.wikicolors.org', 'blue.wikicolors.org'] - listen to some<br />    # If '' is in the list, other ignored.<br />    interfaces = ['']<br /><br />    # How many threads to use (default 10, max 20)<br />    # The more threads you use, the more memory moin uses. All thread<br />    # use one CPU, and will not run faster, but might be more responsive<br />    # on a very busy server.<br />    threads = 10<br /><br />    # Set logfile name (default commented)<br />    # This is the *Apache compatible* log file, not the twisted-style logfile.<br />    # Leaving this as None will have no Apache compatible log file. Apache<br />    # compatible logfiles are useful because there are quite a few programs<br />    # which analyze them and display statistics.<br />    ## logPath = 'mointwisted.log'<br /><br />    # Memory profile (default commented)<br />    # Useful only if you are a developer or interested in moin memory usage<br />    ## from MoinMoin.util.profile import TwistedProfiler<br />    ## memoryProfile = TwistedProfiler('mointwisted',<br />    ##                            requestsPerSample=100,<br />    ##                            collect=0)<br /><br />    # Hotshot profile (default commented)<br />    # Not compatible with threads.<br />    ## hotshotProfile = name + '.prof'<br /><br /><br /># Create the application<br />application = makeApp(Config)<br />
    • 配置MoinMoin Wiki系统

      Single Wiki的配置文件是wikiconfig.py,位于实例目录下,它默认已可很好工作。它的内容如下:

      # -*- coding: utf-8 -*-                 #为了在MoinMoin中使用中文,请用utf-8编码<br /># IMPORTANT! This encoding (charset) setting MUST be correct! If you live in a<br /># western country and you don't know that you use utf-8, you probably want to<br /># use iso-8859-1 (or some other iso charset). If you use utf-8 (a Unicode<br /># encoding) you MUST use: coding: utf-8<br /># That setting must match the encoding your editor uses when you modify the<br /># settings below. If it does not, special non-ASCII chars will be wrong.<br />    <br />""" <br />    MoinMoin - Configuration for a single wiki<br />    <br />    If you run a single wiki only, you can omit the farmconfig.py config<br />    file and just use wikiconfig.py - it will be used for every request<br />    we get in that case.<br />    <br />    Note that there are more config options than you'll find in<br />    the version of this file that is installed by default; see<br />    the module MoinMoin.multiconfig for a full list of names and their<br />    default values.<br />    <br />    Also, the URL http://moinmoin.wikiwikiweb.de/HelpOnConfiguration has<br />    a list of config options.<br />    <br />    @copyright: 2000-2005 by Juergen Hermann <jh@web.de><br />    @license: GNU GPL, see COPYING for details.<br />""" <br />    <br />from MoinMoin.multiconfig import DefaultConfig<br /><br />    <br />class Config(DefaultConfig):<br />    <br />    # Wiki identity ----------------------------------------------------<br />    <br />    # Site name, used by default for wiki name-logo [Unicode]<br />    sitename = u'Untitled Wiki'      #你的WiKi网站的名称<br />    <br />    # Wiki logo. You can use an image, text or both. [Unicode]<br />    # Example: u'<img src="http://images.cnblogs.com/cnblogs_com/doujiu/wiki/mywiki.png" alt="My Wiki" />My Wiki'<br />    # For no logo or text, use ''<br />    logo_string = sitename           #WiKi的logo<br />    <br />    # The interwiki name used in interwiki links<br />    interwikiname = None<br />    <br />    <br />    # Critical setup  ---------------------------------------------------<br /><br />    # Misconfiguration here will render your wiki unusable. Check that<br />    # all directories are accessible by the web server or moin server.<br />    <br />    # If you encounter problems, try to set data_dir and data_underlay_dir<br />    # to absolute paths.<br />    <br />    # Where your mutable wiki pages are. You want to make regular<br />    # backups of this directory.<br />    data_dir = './data/'<br />    <br />    # Where read-only system and help page are. You might want to share<br />    # this directory between several wikis. When you update MoinMoin,<br />    # you can safely replace the underlay directory with a new one. This<br />    # directory is part of MoinMoin distribution, you don't have to<br />    # backup it.<br />    data_underlay_dir = './underlay/'<br /><br />    # This must be '/wiki' for twisted and standalone. For CGI, it should<br />    # match your Apache Alias setting.<br />    url_prefix = '/wiki'<br />    <br />    <br />    # Security ----------------------------------------------------------<br />    <br />    # Security critical actions (disabled by default)<br />    # Uncomment to enable options you like.<br />    allowed_actions = ['DeletePage', 'AttachFile', 'RenamePage']  #允许删除、上传和改名操作,操作受ACL约束。<br /><br />    # Enable acl (0 to disable)<br />    acl_enabled = 1                            #开启ACL(访问控制列表)功能<br /><br />    # IMPORTANT: grant yourself admin rights! replace YourName with<br />    # your user name. See HelpOnAccessControlLists for more help.<br />    # All acl_rights_xxx options must use unicode [Unicode]<br />    acl_rights_before = u"YourName:read,write,delete,revert,admin"   #替换YourName,该用户具有管理员权限。<br /><br />    # Link spam protection for public wikis (Uncomment to enable)<br />    # Needs a reliable internet connection.<br />    #from MoinMoin.util.antispam import SecurityPolicy<br /><br /><br />    # Mail --------------------------------------------------------------<br /><br />    # Configure to enable subscribing to pages (disabled by default)<br />    # or sending forgotten passwords.<br /><br />    # SMTP server, e.g. "mail.provider.com" (empty or None to disable mail)<br />    mail_smarthost = ""<br /><br />    # The return address, e.g "My Wiki <noreply@mywiki.org>"<br />    mail_from = ""<br /><br />    # "user pwd" if you need to use SMTP AUTH<br />    mail_login = ""<br /><br /><br />    # User interface ----------------------------------------------------<br /><br />    # Add your wikis important pages at the end. It is not recommended to<br />    # remove the default links.  Leave room for user links - don't use<br />    # more than 6 short items.<br />    # You MUST use Unicode strings here, but you need not use localized<br />    # page names for system and help pages, those will be used automatically<br />    # according to the user selected language. [Unicode]<br />    navi_bar = [                                         #FrontPage中的导航栏,可根据自已需求增减。<br />        # Will use page_front_page, (default FrontPage)<br />        u'%(page_front_page)s',<br />        u'RecentChanges',<br />        u'FindPage',<br />        u'HelpContents',<br />    ]<br /><br />    # The default theme anonymous or new users get<br />    theme_default = 'modern'                             #默认的页面风格<br /><br />    # Language options --------------------------------------------------<br /><br />    # See http://moinmoin.wikiwikiweb.de/ConfigMarket for configuration in <br />    # YOUR language that other people contributed.<br /><br />    # The main wiki language, set the direction of the wiki pages<br />    default_lang = 'zh'                                  #默认语言<br /><br />    # You must use Unicode strings here [Unicode]        #页面默认正则式,<br />    page_category_regex = u'^Category[A-Z]'              #以Category字符串开头的页面是分类页面<br />    page_dict_regex = u'[a-z]Dict

      按保存,MoinMoin会把上面的DocBook文档自动转换成HTML文档输出。注意,DocBoo文档的encoding一定要 用utf-8。我是在python2.4环境下做以上测试的,在python2.3中测试不成功,会出现字符编码出错提示。还有一个问题就是不能使用本地 的dtd文件,会提示docbookx.dtd文档不存在错误。好象上面示例使用网上的dtd就没问题,但利用网上dtd时,HTML输出速度慢。从上面 的测试结果来看,在WiKi中自动转换DocBook还不是很实用,一个是速度问题,上面已说过。另一个是编辑器问题,基于Web的编辑界面大简单了,远 远比不上emacs等工具。

    有关MoinMoin的使用可参考自带的帮助文档,有很多都是中文版的了,查 询起来很方便的。在MoinMoin的官方网站http://moinmoin.wikiwikiweb.de/上也有最新的教材可参考。有关中文化方面,现在的 MoinMoin已支持I18n,会根据浏览器的设置自动显示多国语言。中文化支持也有很多志愿者在做,教材和帮助很多都是中文的了。如果你想为 MoinMoin的中文化做贡献,请到http://moinmaster.wikiwikiweb.de/注册个帐号,然后把你的帐号放到 MoinPagesEditorGroup页面就可以进行翻译了。

    小提示:

    • 任何用户在页面中添加ACL都需要有管理权限(admin)。

    • wikiconfig.py 配置文档编码需是UTF-8格式的,如果不是UTF-8格式,就不能在该文档中使用中文。我们可用Kwrite编辑器来把它保存成UTF-8格式的。

    • /usr /lib/python2.3/site-packages/MoinMoin/theme目录存放MoinMoin的各种主题处理脚本,修改这些脚本可 实现界面功能的增减,如取消标题搜索栏等。

    • /usr/share/moin/htdocs/目录下存放有各种主题的 CSS文档,修改这些文档可实现界面风格的改变,如布局、字体大小和背景颜色等。

    • 删除页面时,页面文件不会从 data/pages目录真正删除,它只是把文件的当前版本号增一,并在edit-log中记录删除日志。要真正删除页面,只能通过shell删除页面所 在的目录。

    • 当用户创建个人页面后,每当用户编辑完任意一个页面,都会生成一个备份,存放在 username/MoinEditorBackup目录下。个人页面是指以用户名命名的WiKi页面。

    #以Dict字符串结束的页面是字典页面
    page_form_regex = u'[a-z]Form

    按保存,MoinMoin会把上面的DocBook文档自动转换成HTML文档输出。注意,DocBoo文档的encoding一定要 用utf-8。我是在python2.4环境下做以上测试的,在python2.3中测试不成功,会出现字符编码出错提示。还有一个问题就是不能使用本地 的dtd文件,会提示docbookx.dtd文档不存在错误。好象上面示例使用网上的dtd就没问题,但利用网上dtd时,HTML输出速度慢。从上面 的测试结果来看,在WiKi中自动转换DocBook还不是很实用,一个是速度问题,上面已说过。另一个是编辑器问题,基于Web的编辑界面大简单了,远 远比不上emacs等工具。

有关MoinMoin的使用可参考自带的帮助文档,有很多都是中文版的了,查 询起来很方便的。在MoinMoin的官方网站http://moinmoin.wikiwikiweb.de/上也有最新的教材可参考。有关中文化方面,现在的 MoinMoin已支持I18n,会根据浏览器的设置自动显示多国语言。中文化支持也有很多志愿者在做,教材和帮助很多都是中文的了。如果你想为 MoinMoin的中文化做贡献,请到http://moinmaster.wikiwikiweb.de/注册个帐号,然后把你的帐号放到 MoinPagesEditorGroup页面就可以进行翻译了。

小提示:

  • 任何用户在页面中添加ACL都需要有管理权限(admin)。

  • wikiconfig.py 配置文档编码需是UTF-8格式的,如果不是UTF-8格式,就不能在该文档中使用中文。我们可用Kwrite编辑器来把它保存成UTF-8格式的。

  • /usr /lib/python2.3/site-packages/MoinMoin/theme目录存放MoinMoin的各种主题处理脚本,修改这些脚本可 实现界面功能的增减,如取消标题搜索栏等。

  • /usr/share/moin/htdocs/目录下存放有各种主题的 CSS文档,修改这些文档可实现界面风格的改变,如布局、字体大小和背景颜色等。

  • 删除页面时,页面文件不会从 data/pages目录真正删除,它只是把文件的当前版本号增一,并在edit-log中记录删除日志。要真正删除页面,只能通过shell删除页面所 在的目录。

  • 当用户创建个人页面后,每当用户编辑完任意一个页面,都会生成一个备份,存放在 username/MoinEditorBackup目录下。个人页面是指以用户名命名的WiKi页面。

#以Form字符串结尾的页同是表单页面
page_group_regex = u'[a-z]Group

按保存,MoinMoin会把上面的DocBook文档自动转换成HTML文档输出。注意,DocBoo文档的encoding一定要 用utf-8。我是在python2.4环境下做以上测试的,在python2.3中测试不成功,会出现字符编码出错提示。还有一个问题就是不能使用本地 的dtd文件,会提示docbookx.dtd文档不存在错误。好象上面示例使用网上的dtd就没问题,但利用网上dtd时,HTML输出速度慢。从上面 的测试结果来看,在WiKi中自动转换DocBook还不是很实用,一个是速度问题,上面已说过。另一个是编辑器问题,基于Web的编辑界面大简单了,远 远比不上emacs等工具。

有关MoinMoin的使用可参考自带的帮助文档,有很多都是中文版的了,查 询起来很方便的。在MoinMoin的官方网站http://moinmoin.wikiwikiweb.de/上也有最新的教材可参考。有关中文化方面,现在的 MoinMoin已支持I18n,会根据浏览器的设置自动显示多国语言。中文化支持也有很多志愿者在做,教材和帮助很多都是中文的了。如果你想为 MoinMoin的中文化做贡献,请到http://moinmaster.wikiwikiweb.de/注册个帐号,然后把你的帐号放到 MoinPagesEditorGroup页面就可以进行翻译了。

小提示:

  • 任何用户在页面中添加ACL都需要有管理权限(admin)。

  • wikiconfig.py 配置文档编码需是UTF-8格式的,如果不是UTF-8格式,就不能在该文档中使用中文。我们可用Kwrite编辑器来把它保存成UTF-8格式的。

  • /usr /lib/python2.3/site-packages/MoinMoin/theme目录存放MoinMoin的各种主题处理脚本,修改这些脚本可 实现界面功能的增减,如取消标题搜索栏等。

  • /usr/share/moin/htdocs/目录下存放有各种主题的 CSS文档,修改这些文档可实现界面风格的改变,如布局、字体大小和背景颜色等。

  • 删除页面时,页面文件不会从 data/pages目录真正删除,它只是把文件的当前版本号增一,并在edit-log中记录删除日志。要真正删除页面,只能通过shell删除页面所 在的目录。

  • 当用户创建个人页面后,每当用户编辑完任意一个页面,都会生成一个备份,存放在 username/MoinEditorBackup目录下。个人页面是指以用户名命名的WiKi页面。

#以Group字符串结尾的页面是组页面
page_template_regex = u'[a-z]Template

按保存,MoinMoin会把上面的DocBook文档自动转换成HTML文档输出。注意,DocBoo文档的encoding一定要 用utf-8。我是在python2.4环境下做以上测试的,在python2.3中测试不成功,会出现字符编码出错提示。还有一个问题就是不能使用本地 的dtd文件,会提示docbookx.dtd文档不存在错误。好象上面示例使用网上的dtd就没问题,但利用网上dtd时,HTML输出速度慢。从上面 的测试结果来看,在WiKi中自动转换DocBook还不是很实用,一个是速度问题,上面已说过。另一个是编辑器问题,基于Web的编辑界面大简单了,远 远比不上emacs等工具。

有关MoinMoin的使用可参考自带的帮助文档,有很多都是中文版的了,查 询起来很方便的。在MoinMoin的官方网站http://moinmoin.wikiwikiweb.de/上也有最新的教材可参考。有关中文化方面,现在的 MoinMoin已支持I18n,会根据浏览器的设置自动显示多国语言。中文化支持也有很多志愿者在做,教材和帮助很多都是中文的了。如果你想为 MoinMoin的中文化做贡献,请到http://moinmaster.wikiwikiweb.de/注册个帐号,然后把你的帐号放到 MoinPagesEditorGroup页面就可以进行翻译了。

小提示:

  • 任何用户在页面中添加ACL都需要有管理权限(admin)。

  • wikiconfig.py 配置文档编码需是UTF-8格式的,如果不是UTF-8格式,就不能在该文档中使用中文。我们可用Kwrite编辑器来把它保存成UTF-8格式的。

  • /usr /lib/python2.3/site-packages/MoinMoin/theme目录存放MoinMoin的各种主题处理脚本,修改这些脚本可 实现界面功能的增减,如取消标题搜索栏等。

  • /usr/share/moin/htdocs/目录下存放有各种主题的 CSS文档,修改这些文档可实现界面风格的改变,如布局、字体大小和背景颜色等。

  • 删除页面时,页面文件不会从 data/pages目录真正删除,它只是把文件的当前版本号增一,并在edit-log中记录删除日志。要真正删除页面,只能通过shell删除页面所 在的目录。

  • 当用户创建个人页面后,每当用户编辑完任意一个页面,都会生成一个备份,存放在 username/MoinEditorBackup目录下。个人页面是指以用户名命名的WiKi页面。

#以Template字符串结尾的页同是模板页面

# Content options ---------------------------------------------------

# Show users hostnames in RecentChanges
show_hosts = 1

# Enumerate headlines?
show_section_numbers = 0

# Charts size, require gdchart (Set to None to disable).
chart_options = {'width': 600, 'height': 300}

完整的配置选项可在MoinMoin/multiconfig.py文件找到,wikiconfig.py中的配置就是继承它的。 multiconfig.py文件里的选项是默认配置,不要去修改它。如果我们要修改这些默认配置,可在wikiconfig.py中重新设置它即可。

multiconfig.py 中默认权限配置选项说明

  • acl_enabled = 1选项配置是否记用ACL,1表示启用,0表示不启用。

  • acl_rights_default = u"Trusted:read,write,delete,revert Known:read,write,delete,revert All:read,write"选项设置了默认的WiKi页面权限。当WiKi页面没有设置ACL是,就统一采用该设置。

  • acl_rights_before = u""选项中的权限设置优先级高于WiKi页面中ACL的设置和上面的默认ACL设置。所以一般在该选项中配置我们MoinMoin系统的管理员。该选项 默认在multiconfig.py文件中没有设置。我们要在MoinMoin实例中的wikiconfig.py文件中设置,具体设置请见上同的 wikiconfig.py示例。

  • acl_rights_after = u""选项中的权限设置优先级低于WiKi页面中ACL的设置和上面的默认ACL设置。

  • acl_rights_valid = ['read', 'write', 'delete', 'revert', 'admin']选项列出了可以设置权限。

  • allowed_actions = []选项设置允许的系统定义操作。这些操作有删除页面、页面改名和上传附件等。这些操作的访问权限也会页面的ACL约束。

  • attachments = None选项设置可通过浏览器直接访问附件。如果要设置该选项,请确保上传到Web服务器上的附件不能被执行。设置方法可参考http://moinmoin.wikiwikiweb.de/HelpOnConfiguration/FileAttachments的 内容。

  • 启动MoinMoin WiKi服务器

    debian:~/mywiki# ./mointwisted start<br />

    在当前目录会生成一个叫twistd.log的日志文件。如果成功启动,日志文件的内容为:

    2005/12/13 11:48 CST [-] Log opened.<br />2005/12/13 11:48 CST [-] twistd 2.0.1 (/usr/bin/python2.4 2.4.2) starting up<br />2005/12/13 11:48 CST [-] reactor class: twisted.internet.selectreactor.SelectReactor<br />2005/12/13 11:48 CST [-] Loading mointwisted.py...<br />2005/12/13 11:48 CST [-] Enabling Multithreading.<br />2005/12/13 11:48 CST [-] Loaded.<br />2005/12/13 11:48 CST [-] MoinMoin.server.twistedmoin.MoinSite starting on 8080<br />2005/12/13 11:48 CST [-] Starting factory <MoinMoin.server.twistedmoin.MoinSite instance at 0xb76004cc><br />2005/12/13 11:48 CST [-] set uid/gid 33/33<br />

    MoinMoin成功启动后,在浏览器上打开http://server_name:8080网址即可访问。停止服务器用stop参数 即可。用不带参数的mointwisted命令可以查看命令参数,如:

    debian:~/mywiki# ./mointwisted <br />error: nothing to do<br /><br />mointwisted - MoinMoin daemon<br /><br />usage: mointwisted command<br /><br />commands:<br />  start     start the server<br />  stop      stop the server<br />  restart   stop then start the server<br />  kill      kill the server<br /><br />@copyright: 2004-2005 Thomas Waldmann, Nir Soffer<br />@license: GNU GPL, see COPYING for details.<br />
  • Apache2+Mod_Python方式,这里我选用了最新的1.5版的 MoinMoin软件包。

    • 第一步要先 安装Mod_Python模块,要求使用mod_python 3.1.3或以上版本的Mod_Python模块。安装命令如下:

      debian:~# apt-get install libapache2-mod-python2.3<br />

      下载完软件包后Debian系统会自动进行软件包的配置,回答"Yes"启用Mod_Python模块。这样在/etc /apache2/mods-enabled目录下会创建一个链接到/etc/apache2/mods-available /mod_python.load文件。该文件配置了装载mod_python模块的语句,如:

      LoadModule python_module /usr/lib/apache2/modules/mod_python.so<br />
    • 第二步是创建WiKi实例,步骤同上。

    • 第三步是配置wikiconfig.py, 内容如下:

      # -*- coding: utf-8 -*-                         #使用UTF-8编码<br /># IMPORTANT! This encoding (charset) setting MUST be correct! If you live in a<br /># western country and you don't know that you use utf-8, you probably want to<br /># use iso-8859-1 (or some other iso charset). If you use utf-8 (a Unicode<br /># encoding) you MUST use: coding: utf-8<br /># That setting must match the encoding your editor uses when you modify the<br /># settings below. If it does not, special non-ASCII chars will be wrong.<br /><br />"""<br />    MoinMoin - Configuration for a single wiki<br /><br />    If you run a single wiki only, you can omit the farmconfig.py config<br />    file and just use wikiconfig.py - it will be used for every request<br />    we get in that case.<br /><br />    Note that there are more config options than you'll find in<br />    the version of this file that is installed by default; see<br />    the module MoinMoin.multiconfig for a full list of names and their<br />    default values.<br /><br />    Also, the URL http://moinmoin.wikiwikiweb.de/HelpOnConfiguration has<br />    a list of config options.<br /><br />    ** Please do not use this file for a wiki farm. Use the sample file<br />    from the wikifarm directory instead! **<br /><br />    @copyright: 2000-2005 by Juergen Hermann <jh@web.de><br />    @license: GNU GPL, see COPYING for details.<br />"""<br /><br />from MoinMoin.multiconfig import DefaultConfig<br /><br /><br />class Config(DefaultConfig):<br /><br />    # Wiki identity ----------------------------------------------------<br /><br />    # Site name, used by default for wiki name-logo [Unicode]<br />    sitename = u'Untitled Wiki'                   #你的WiKi网站的名称<br /><br />    # Wiki logo. You can use an image, text or both. [Unicode]<br />    # For no logo or text, use '' - the default is to show the sitename.<br />    # See also url_prefix setting below!<br />    logo_string = u'<img src="http://images.cnblogs.com/cnblogs_com/doujiu/wiki/common/moinmoin.png" alt="MoinMoin Logo" />'    #网站Logo<br /><br />    # name of entry page / front page [Unicode], choose one of those:<br /><br />    # a) if most wiki content is in a single language<br />    #page_front_page = u"MyStartingPage"<br /><br />    # b) if wiki content is maintained in many languages<br />    page_front_page = u"FrontPage"                #启用首页<br /><br />    # The interwiki name used in interwiki links<br />    #interwikiname = 'UntitledWiki'<br />    # Show the interwiki name (and link it to page_front_page) in the Theme,<br />    # nice for farm setups or when your logo does not show the wiki's name.<br />    #show_interwiki = 1<br /><br /><br /><br />    # Critical setup  ---------------------------------------------------<br /><br />    # Misconfiguration here will render your wiki unusable. Check that<br />    # all directories are accessible by the web server or moin server.<br /><br />    # If you encounter problems, try to set data_dir and data_underlay_dir<br />    # to absolute paths.<br /><br />    # Where your mutable wiki pages are. You want to make regular<br />    # backups of this directory.<br />    data_dir = '/root/mywiki/data/'                #设置data目录路径,要用绝对路径<br /><br />    # Where read-only system and help page are. You might want to share<br />    # this directory between several wikis. When you update MoinMoin,<br />    # you can safely replace the underlay directory with a new one. This<br />    # directory is part of MoinMoin distribution, you don't have to<br />    # backup it.<br />    data_underlay_dir = '/root/mywiki/underlay/'   #设置underlay目录路径,要用绝对路径<br /><br />    # This must be '/wiki' for twisted and standalone. For CGI, it should<br />    # match your Apache Alias setting.<br />    url_prefix = '/wiki'                           <br /><br /><br />    # Security ----------------------------------------------------------<br /><br />    # This is checked by some rather critical and potentially harmful actions,<br />    # like despam or PackageInstaller action:<br />    superuser = [u"moin_admin", ]                  #设置超级用户,1.5版新增选项<br /><br />    # IMPORTANT: grant yourself admin rights! replace YourName with<br />    # your user name. See HelpOnAccessControlLists for more help.<br />    # All acl_rights_xxx options must use unicode [Unicode]<br />    #acl_rights_before = u"YourName:read,write,delete,revert,admin"   #设置管理权限<br /><br />    # Link spam protection for public wikis (Uncomment to enable)<br />    # Needs a reliable internet connection.<br />    #from MoinMoin.util.antispam import SecurityPolicy<br /><br /><br />    # Mail --------------------------------------------------------------<br /><br />    # Configure to enable subscribing to pages (disabled by default)<br />    # or sending forgotten passwords.<br /><br />    # SMTP server, e.g. "mail.provider.com" (None to disable mail)<br />    mail_smarthost = "smtp.21cn.com"             #使用21cn的smtp服务器发送邮件<br /><br />    # The return address, e.g u"Jürgen Wiki <noreply@mywiki.org>" [Unicode]<br />    mail_from = u"yjnet<yjnet@21cn.com>"         #发送者<br /><br />    # "user pwd" if you need to use SMTP AUTH<br />    mail_login = "yjnet 123456"                #SMTP服务器验证,以"user password"格式填写<br /><br /><br />    # User interface ----------------------------------------------------<br /><br />    # Add your wikis important pages at the end. It is not recommended to<br />    # remove the default links.  Leave room for user links - don't use<br />    # more than 6 short items.<br />    # You MUST use Unicode strings here, but you need not use localized<br />    # page names for system and help pages, those will be used automatically<br />    # according to the user selected language. [Unicode]<br />    navi_bar = [                                        #设置导航栏<br />        # If you want to show your page_front_page here:<br />        u'%(page_front_page)s',<br />        u'RecentChanges',<br />        u'FindPage',<br />        u'HelpContents',<br />    ]<br /><br />    # The default theme anonymous or new users get<br />    theme_default = 'modern'                            #设置网页主题峁<br /><br /><br />    # Language options --------------------------------------------------<br /><br />    # See http://moinmoin.wikiwikiweb.de/ConfigMarket for configuration in<br />    # YOUR language that other people contributed.<br /><br />    # The main wiki language, set the direction of the wiki pages<br />    language_default = 'zh'                             #设置默认语言<br /><br />    # You must use Unicode strings here [Unicode]<br />    page_category_regex = u'^Category[A-Z]'<br />    page_dict_regex = u'[a-z]Dict

      按保存,MoinMoin会把上面的DocBook文档自动转换成HTML文档输出。注意,DocBoo文档的encoding一定要 用utf-8。我是在python2.4环境下做以上测试的,在python2.3中测试不成功,会出现字符编码出错提示。还有一个问题就是不能使用本地 的dtd文件,会提示docbookx.dtd文档不存在错误。好象上面示例使用网上的dtd就没问题,但利用网上dtd时,HTML输出速度慢。从上面 的测试结果来看,在WiKi中自动转换DocBook还不是很实用,一个是速度问题,上面已说过。另一个是编辑器问题,基于Web的编辑界面大简单了,远 远比不上emacs等工具。

    有关MoinMoin的使用可参考自带的帮助文档,有很多都是中文版的了,查 询起来很方便的。在MoinMoin的官方网站http://moinmoin.wikiwikiweb.de/上也有最新的教材可参考。有关中文化方面,现在的 MoinMoin已支持I18n,会根据浏览器的设置自动显示多国语言。中文化支持也有很多志愿者在做,教材和帮助很多都是中文的了。如果你想为 MoinMoin的中文化做贡献,请到http://moinmaster.wikiwikiweb.de/注册个帐号,然后把你的帐号放到 MoinPagesEditorGroup页面就可以进行翻译了。

    小提示:

    • 任何用户在页面中添加ACL都需要有管理权限(admin)。

    • wikiconfig.py 配置文档编码需是UTF-8格式的,如果不是UTF-8格式,就不能在该文档中使用中文。我们可用Kwrite编辑器来把它保存成UTF-8格式的。

    • /usr /lib/python2.3/site-packages/MoinMoin/theme目录存放MoinMoin的各种主题处理脚本,修改这些脚本可 实现界面功能的增减,如取消标题搜索栏等。

    • /usr/share/moin/htdocs/目录下存放有各种主题的 CSS文档,修改这些文档可实现界面风格的改变,如布局、字体大小和背景颜色等。

    • 删除页面时,页面文件不会从 data/pages目录真正删除,它只是把文件的当前版本号增一,并在edit-log中记录删除日志。要真正删除页面,只能通过shell删除页面所 在的目录。

    • 当用户创建个人页面后,每当用户编辑完任意一个页面,都会生成一个备份,存放在 username/MoinEditorBackup目录下。个人页面是指以用户名命名的WiKi页面。


    page_form_regex = u'[a-z]Form

    按保存,MoinMoin会把上面的DocBook文档自动转换成HTML文档输出。注意,DocBoo文档的encoding一定要 用utf-8。我是在python2.4环境下做以上测试的,在python2.3中测试不成功,会出现字符编码出错提示。还有一个问题就是不能使用本地 的dtd文件,会提示docbookx.dtd文档不存在错误。好象上面示例使用网上的dtd就没问题,但利用网上dtd时,HTML输出速度慢。从上面 的测试结果来看,在WiKi中自动转换DocBook还不是很实用,一个是速度问题,上面已说过。另一个是编辑器问题,基于Web的编辑界面大简单了,远 远比不上emacs等工具。

  • 有关MoinMoin的使用可参考自带的帮助文档,有很多都是中文版的了,查 询起来很方便的。在MoinMoin的官方网站http://moinmoin.wikiwikiweb.de/上也有最新的教材可参考。有关中文化方面,现在的 MoinMoin已支持I18n,会根据浏览器的设置自动显示多国语言。中文化支持也有很多志愿者在做,教材和帮助很多都是中文的了。如果你想为 MoinMoin的中文化做贡献,请到http://moinmaster.wikiwikiweb.de/注册个帐号,然后把你的帐号放到 MoinPagesEditorGroup页面就可以进行翻译了。

    小提示:

    • 任何用户在页面中添加ACL都需要有管理权限(admin)。

    • wikiconfig.py 配置文档编码需是UTF-8格式的,如果不是UTF-8格式,就不能在该文档中使用中文。我们可用Kwrite编辑器来把它保存成UTF-8格式的。

    • /usr /lib/python2.3/site-packages/MoinMoin/theme目录存放MoinMoin的各种主题处理脚本,修改这些脚本可 实现界面功能的增减,如取消标题搜索栏等。

    • /usr/share/moin/htdocs/目录下存放有各种主题的 CSS文档,修改这些文档可实现界面风格的改变,如布局、字体大小和背景颜色等。

    • 删除页面时,页面文件不会从 data/pages目录真正删除,它只是把文件的当前版本号增一,并在edit-log中记录删除日志。要真正删除页面,只能通过shell删除页面所 在的目录。

    • 当用户创建个人页面后,每当用户编辑完任意一个页面,都会生成一个备份,存放在 username/MoinEditorBackup目录下。个人页面是指以用户名命名的WiKi页面。


    page_group_regex = u'[a-z]Group

    按保存,MoinMoin会把上面的DocBook文档自动转换成HTML文档输出。注意,DocBoo文档的encoding一定要 用utf-8。我是在python2.4环境下做以上测试的,在python2.3中测试不成功,会出现字符编码出错提示。还有一个问题就是不能使用本地 的dtd文件,会提示docbookx.dtd文档不存在错误。好象上面示例使用网上的dtd就没问题,但利用网上dtd时,HTML输出速度慢。从上面 的测试结果来看,在WiKi中自动转换DocBook还不是很实用,一个是速度问题,上面已说过。另一个是编辑器问题,基于Web的编辑界面大简单了,远 远比不上emacs等工具。

    有关MoinMoin的使用可参考自带的帮助文档,有很多都是中文版的了,查 询起来很方便的。在MoinMoin的官方网站http://moinmoin.wikiwikiweb.de/上也有最新的教材可参考。有关中文化方面,现在的 MoinMoin已支持I18n,会根据浏览器的设置自动显示多国语言。中文化支持也有很多志愿者在做,教材和帮助很多都是中文的了。如果你想为 MoinMoin的中文化做贡献,请到http://moinmaster.wikiwikiweb.de/注册个帐号,然后把你的帐号放到 MoinPagesEditorGroup页面就可以进行翻译了。

    小提示:

    • 任何用户在页面中添加ACL都需要有管理权限(admin)。

    • wikiconfig.py 配置文档编码需是UTF-8格式的,如果不是UTF-8格式,就不能在该文档中使用中文。我们可用Kwrite编辑器来把它保存成UTF-8格式的。

    • /usr /lib/python2.3/site-packages/MoinMoin/theme目录存放MoinMoin的各种主题处理脚本,修改这些脚本可 实现界面功能的增减,如取消标题搜索栏等。

    • /usr/share/moin/htdocs/目录下存放有各种主题的 CSS文档,修改这些文档可实现界面风格的改变,如布局、字体大小和背景颜色等。

    • 删除页面时,页面文件不会从 data/pages目录真正删除,它只是把文件的当前版本号增一,并在edit-log中记录删除日志。要真正删除页面,只能通过shell删除页面所 在的目录。

    • 当用户创建个人页面后,每当用户编辑完任意一个页面,都会生成一个备份,存放在 username/MoinEditorBackup目录下。个人页面是指以用户名命名的WiKi页面。


    page_template_regex = u'[a-z]Template

    按保存,MoinMoin会把上面的DocBook文档自动转换成HTML文档输出。注意,DocBoo文档的encoding一定要 用utf-8。我是在python2.4环境下做以上测试的,在python2.3中测试不成功,会出现字符编码出错提示。还有一个问题就是不能使用本地 的dtd文件,会提示docbookx.dtd文档不存在错误。好象上面示例使用网上的dtd就没问题,但利用网上dtd时,HTML输出速度慢。从上面 的测试结果来看,在WiKi中自动转换DocBook还不是很实用,一个是速度问题,上面已说过。另一个是编辑器问题,基于Web的编辑界面大简单了,远 远比不上emacs等工具。

    有关MoinMoin的使用可参考自带的帮助文档,有很多都是中文版的了,查 询起来很方便的。在MoinMoin的官方网站http://moinmoin.wikiwikiweb.de/上也有最新的教材可参考。有关中文化方面,现在的 MoinMoin已支持I18n,会根据浏览器的设置自动显示多国语言。中文化支持也有很多志愿者在做,教材和帮助很多都是中文的了。如果你想为 MoinMoin的中文化做贡献,请到http://moinmaster.wikiwikiweb.de/注册个帐号,然后把你的帐号放到 MoinPagesEditorGroup页面就可以进行翻译了。

    小提示:

    • 任何用户在页面中添加ACL都需要有管理权限(admin)。

    • wikiconfig.py 配置文档编码需是UTF-8格式的,如果不是UTF-8格式,就不能在该文档中使用中文。我们可用Kwrite编辑器来把它保存成UTF-8格式的。

    • /usr /lib/python2.3/site-packages/MoinMoin/theme目录存放MoinMoin的各种主题处理脚本,修改这些脚本可 实现界面功能的增减,如取消标题搜索栏等。

    • /usr/share/moin/htdocs/目录下存放有各种主题的 CSS文档,修改这些文档可实现界面风格的改变,如布局、字体大小和背景颜色等。

    • 删除页面时,页面文件不会从 data/pages目录真正删除,它只是把文件的当前版本号增一,并在edit-log中记录删除日志。要真正删除页面,只能通过shell删除页面所 在的目录。

    • 当用户创建个人页面后,每当用户编辑完任意一个页面,都会生成一个备份,存放在 username/MoinEditorBackup目录下。个人页面是指以用户名命名的WiKi页面。



    # Content options ---------------------------------------------------

    # Show users hostnames in RecentChanges
    show_hosts = 1

    # Enable graphical charts, requires gdchart.
    #chart_options = {'width': 600, 'height': 300}
  • 第四步是配置在Apache2中配置Mod_Python,在/etc/apache2/conf目录下创建一个 moin_mop_python.conf的配置文档,内容如下:

    Alias /wiki/ "/usr/share/moin/htdocs/" <br /><br /><Location /mywiki><br />  SetHandler python-program<br /># Add the path of your wiki directory<br />  PythonPath "['/root/mywiki/'] + sys.path"<br />  PythonHandler MoinMoin.request::RequestModPy.run<br /></Location><br />

    配置完成后,需重启Apache服务器,查询Apache日志可看到服务器的启动状态,Apache的日志存放在/var/log /apache2目录下。成功启动后,访问http://moinserver/mywiki即可打开进入MoinMoin。

  • 最 后,我们还要安装中文语言包。我们先要在MoinMoin中用登录界面创建一个有管理员权限的用户,在该例中就是moin_admin用户。以该用户登录 后再访问http://moinserver/mywiki/SystemPagesSetup网页安装中文语言包。如果你没有管理权限,访问该页面时在 语言包前面是不会显示"安装"按钮的。

  • 从moin1.5.1升级到moin1.5.3的操作很简单,首先备份好/usr /lib/python2.3/site-packages/MoinMoin目录和/usr/share/moin目录。接着删除这两个目录和实例目录 下的underlay目录,安装新版本的moinmoin系统。最后把/usr/share/moin/underlay目录拷贝到实例目录,修改该目录 的访问权限。升级完成要重启服务器。注意,如果你修改了/usr/lib/python2.3/site-packages/MoinMoin目录和 /usr/share/moin目录下文件的内容,升级完成后要重新修改或用旧文件覆盖。

  • 访 问控制列表(ACL)

    语法:

    #acl [+-]User[,SomeGroup,...]:[right[,right,...]] [[+-]OtherUser:...] [[+-]Trusted:...] [[+-]Known:...] [[+-]All:...] [Default]<br />参数说明:<br />User      用户名<br />SomeGroup 组名<br />Trusted   一个特殊组,包括所有通过HTTP-Basic-authentication验证的用户<br />Known     一个特殊组,包括所有有效用户 (使用 cookie 验证方法)<br />All       一个特殊组,包括所有用户 <br />Default   一个特殊项,使用配置文件中acl_rights_default中的值<br />right     表示权限,可以是 read、write、delete、revert 和 admin的组合,允许为空,表示没有任何权限。<br /><br />权限说明:<br />read     读权限<br />write    编辑权限<br />delete   删除页面和附件的权限<br />revert   有还原旧版本的权限<br />admin    具有管理ACL的权限<br /><br />

    ACL放在网页内容的前面,下面一个ACL示例,所有用户有浏览权限,moin_admin用户具有所有权限:

    #acl moin_admin:read,write,delete,revert,admin All:read<br /><br />这是网页正文。<br />MoinMoin ACL示例。<br />...<br />

    MoinMoin按ACL设置的顺序匹配用户,一旦匹配就不会搜索后面的配置。如上例,当我以moin_admin用户登录后访问该网 页,它匹配了第一个用户名,则MoinMoin的ACL执行过程就停止,不会去再去匹配后面的ACL。所以我们在设置ACL时,应按用户、特殊组、普通 组、Known、All的顺序设置。

    在MoinMoin中,组是用网页来维护的,在配置文件中的page_group_regex = u'[a-z]Group

    按保存,MoinMoin会把上面的DocBook文档自动转换成HTML文档输出。注意,DocBoo文档的encoding一定要 用utf-8。我是在python2.4环境下做以上测试的,在python2.3中测试不成功,会出现字符编码出错提示。还有一个问题就是不能使用本地 的dtd文件,会提示docbookx.dtd文档不存在错误。好象上面示例使用网上的dtd就没问题,但利用网上dtd时,HTML输出速度慢。从上面 的测试结果来看,在WiKi中自动转换DocBook还不是很实用,一个是速度问题,上面已说过。另一个是编辑器问题,基于Web的编辑界面大简单了,远 远比不上emacs等工具。

  • 有关MoinMoin的使用可参考自带的帮助文档,有很多都是中文版的了,查 询起来很方便的。在MoinMoin的官方网站http://moinmoin.wikiwikiweb.de/上也有最新的教材可参考。有关中文化方面,现在的 MoinMoin已支持I18n,会根据浏览器的设置自动显示多国语言。中文化支持也有很多志愿者在做,教材和帮助很多都是中文的了。如果你想为 MoinMoin的中文化做贡献,请到http://moinmaster.wikiwikiweb.de/注册个帐号,然后把你的帐号放到 MoinPagesEditorGroup页面就可以进行翻译了。

    小提示:

    • 任何用户在页面中添加ACL都需要有管理权限(admin)。

    • wikiconfig.py 配置文档编码需是UTF-8格式的,如果不是UTF-8格式,就不能在该文档中使用中文。我们可用Kwrite编辑器来把它保存成UTF-8格式的。

    • /usr /lib/python2.3/site-packages/MoinMoin/theme目录存放MoinMoin的各种主题处理脚本,修改这些脚本可 实现界面功能的增减,如取消标题搜索栏等。

    • /usr/share/moin/htdocs/目录下存放有各种主题的 CSS文档,修改这些文档可实现界面风格的改变,如布局、字体大小和背景颜色等。

    • 删除页面时,页面文件不会从 data/pages目录真正删除,它只是把文件的当前版本号增一,并在edit-log中记录删除日志。要真正删除页面,只能通过shell删除页面所 在的目录。

    • 当用户创建个人页面后,每当用户编辑完任意一个页面,都会生成一个备份,存放在 username/MoinEditorBackup目录下。个人页面是指以用户名命名的WiKi页面。

    选项规定,以任意的小写字母组合后接Group结尾命名的页面都是一个组,如:testGroup,网页内每个最高列表项代 表一个组成员,下例设置了test1,test2,test3三个用户。:

     

    #acl moin_admin:read,write,delete,revert,admin All:read<br /> *test1<br /> *test2<br /> *test3<br />... <br />

    在ACL设置中,MoinMoin引入"+"号和"-"号,改变ACL的配置规则,使ACL配置更灵活。当用户请求一个具有"+" 或"-"号的ACL的页面时,只在用户名和权限同时匹配时才动作,"+"表示授予权限用户权限,"-"号表示禁止用户的权限,并停止ACL匹配。如果用户 名和权限有一个不匹配,则继续搜索下一个ACL项。下面有一个示例:

    #acl SomeUser:read,write SomeGroup:read,write,admin All:read<br />可以写成:<br />#acl -SomeUser:admin SomeGroup:read,write,admin All:read<br />或<br />#acl +All:read -SomeUser:admin SomeGroup:read,write,admin<br />
  • 使用Apache basic auth进行用户验证

    MoinMoin的用户信息存放在 instance/data/user目录下,每个用户都有一个类似1137395855.97.12542的文件,里面记录着用户名、密码和显示样式等 信息,MoinMion利用这些信息来进行用户验证和权限的控制。MoinMoin默认是使用Cookis来验证用户的,从1.3版开始,我们也可使用基 于HTTP的用户验证,也就是说可以使用其它的用户数据库,如LDAP。不论使用Cookis还是HTTP方式,user目录下一定要存在一个与之对应的 用户文件。因为MoinMoin只会使用该用户文件中的信息进行权限控制,所以在MoinMoin的配置文件中有一个user_autocreate参 数,当把该选项设置为真时,当第一次用Apache basic auth方式登录MoinMion时,系统会自动在user目录下创建一个用户文件,该用户文件里不保存用户密码,只保存用户名和个人定制配置信息。采用 HTTP验证方式,要修改两个文件,一个是wikiconfig.py,一个是moin_mod_python.conf。

    wikiconfig.py 文件中修改的内容如下:

    ...<br />from MoinMoin.auth import http<br />...<br />class Config(DefaultConfig):<br />...<br />   user_autocreate=1<br />   auth=[http]<br />...<br />

    修改后的moin_mod_python.conf:

    Alias /wiki/ "/usr/share/moin/htdocs/"<br /><br /><Location /portal><br />  AuthType Basic<br />  AuthName "Portal"<br />  AuthUserFile "/etc/apache2/moinmoin.passwd"<br />  Require valid-user<br />  SetHandler python-program<br /># Add the path of your wiki directory<br />  PythonPath "['/data/moin/portal/'] + sys.path"<br />  PythonHandler MoinMoin.request::RequestModPy.run<br /></Location><br />

    moinmoin.passwd用户文件可用htpasswd2文件创建。需重启Apache服务器使配置生效。

  • 使 用Apache+LDAP进行用户验证

    原理同上,只是验证数据我们存放在LDAP目录数据库。我使用OpenLDAP做为LDAP服务器。 因为Apache+LDAP方式也是通过MoinMoin的HTTP验证模块进行的,所以wikiconfig.py的配置同上面的是一样的。这里的关健 是要配置好Apache与LDAP服务器的连接。Apache需安装有mod_ldap.so和auth_ldap.so模块,如果已安装,可在/usr /lib/apache2/modules目录下查询到。在Debian中这两个模块默认是不启动的,可在/etc/apache2/mods- enable目录下创建一个auth_ldap.load链接来启动它,如:

    debian:/etc/apache2/mods-enabled# ln -s /etc/apache2/mods-available/auth_ldap.load auth_ldap.load<br />

    auth_ldap.load文件会装载mod_ldap.so和auth_ldap.so这两个模块。下面配置 moin_mod_python.conf,修改后的内容如下:

    Alias /wiki/ "/usr/share/moin/htdocs/"<br />#LDAP连接Cache参数<br />LDAPSharedCacheSize 200000<br />LDAPCacheEntries 1024<br />LDAPCacheTTL 600<br />LDAPOpCacheEntries 1024<br />LDAPOpCacheTTL 600<br /><br /><Location /portal><br />  AuthType Basic                                    #验证类型<br />  AuthName "Portal"                                 #验证名,显示在验证栏<br />  AuthLDAPEnabled on                                #启用LDAP验证<br />  AuthLDAPBindDN cn=admin,dc=com                    #连接LDAP服务器的用户<br />  AuthLDAPBindPassword '1'                          #连接LDAP服务器的用户密码<br />  AuthLDAPURL ldap://127.0.0.1/dc=user,dc=company,dc=com?uid?   #连接URL<br />  AuthLDAPAuthoritative on                          #只允许LDAP验证方式<br />  Require valid-user<br />  SetHandler python-program<br /># Add the path of your wiki directory<br />  PythonPath "['/data/moin/portal/'] + sys.path"<br />  PythonHandler MoinMoin.request::RequestModPy.run<br /></Location><br />

    mod_ldap模块提供了一个监控LDAP认证连接Cache信息的功能,在配置文件中增加以下标签即可。

    <Location /cache-info><br />SetHandler ldap-status<br /></Location><br />~

    重启Apache服务器使配置生效。现在我们就可以通过LDAP服务器中的用户连接MoinMion了。访问 http://moinserver/cache-info即可显示LDAP认证连接Cache信息。

  • 如果你的系统中安 装了4suite这个XML处理软件包,MoinMoin可在线解析XML文档。

    MoinMoin会根据页面正文第一行是否 以

    debian:/usr/share/xml/docbook/stylesheet# chown -R www-data.www-data nwalsh  <br />

    修改完成后,重启MoinMoin服务器。创建一个DocBook格式的文档,如:

    #format docbook<br /><?xml version="1.0" encoding="utf-8"?><br /><!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"<br />                    "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"<br />                    ><br /><book><br />  <chapter><br />    <title>test</title><br />     <para>test</para><br />  </chapter><br /></book><br />

    按保存,MoinMoin会把上面的DocBook文档自动转换成HTML文档输出。注意,DocBoo文档的encoding一定要 用utf-8。我是在python2.4环境下做以上测试的,在python2.3中测试不成功,会出现字符编码出错提示。还有一个问题就是不能使用本地 的dtd文件,会提示docbookx.dtd文档不存在错误。好象上面示例使用网上的dtd就没问题,但利用网上dtd时,HTML输出速度慢。从上面 的测试结果来看,在WiKi中自动转换DocBook还不是很实用,一个是速度问题,上面已说过。另一个是编辑器问题,基于Web的编辑界面大简单了,远 远比不上emacs等工具。

  • 有关MoinMoin的使用可参考自带的帮助文档,有很多都是中文版的了,查 询起来很方便的。在MoinMoin的官方网站http://moinmoin.wikiwikiweb.de/上也有最新的教材可参考。有关中文化方面,现在的 MoinMoin已支持I18n,会根据浏览器的设置自动显示多国语言。中文化支持也有很多志愿者在做,教材和帮助很多都是中文的了。如果你想为 MoinMoin的中文化做贡献,请到http://moinmaster.wikiwikiweb.de/注册个帐号,然后把你的帐号放到 MoinPagesEditorGroup页面就可以进行翻译了。

    小提示:

    相关推荐

    Global site tag (gtag.js) - Google Analytics