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

安装MoinMoin服务器

阅读更多
转自肥肥世家 http://www.ringkee.com

8.12. 安装MoinMoin服务器

MoinMoin是用Python语言写的一个开源WiKi服务器。它基于GNU GPL协议,使用简便、功能强大,通过Python很容易进行功能扩展。MoinMoin不使用后台数据库存放数据,而是以文本的形式存放在服务器中。 debin Wiki网站使用的WiKi系统就是MoinMoin。

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

*

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

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

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

MoinMoin的源码被安装到/usr/lib/python2.4/site-packages/MoinMoin目录。/usr/share /moin目录存放MoinM

oin系统的模板,内容大致有以下几类:
o

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

/usr/share/moin/underlay目录存放WiKi Pages。只能被MoinMoin访问。
o

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

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

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

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

创建MoinMoin实例

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

debian:~# mkdir mywiki

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

debian:~# cp -rf /usr/share/moin/data ~/mywiki
debian:~# cp -rf /usr/share/moin/underlay ~/mywiki
debian:~# cp /usr/share/moin/config/wikiconfig.py ~/mywiki
debian:~# cp /usr/share/moin/server/mointwisted mointwisted.py ~/mywiki

*

设置实例目录权限

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

debian:~# chown -R www-data.www-data ~/mywiki
debian:~# chmod -R ug+rw ~/mywiki
debian:~# chmod -R o-rwx ~/mywiki

*

配置TwistedWeb

TwistedWeb的MoinMoin配置文件是mointwisted.py,在上面我们已从模板目录拷贝到实例目录。用vim等文本编辑器打开,需 修改两个地方,以指向正确的配置文件路径,修改后的内容如下:

"""
twisted.web based wiki server

Run this server with mointwisted script on Linux or Mac OS X, or
mointwisted.cmd on Windows.

@copyright: 2004-2005 Thomas Waldmann, Oliver Graf, Nir Soffer
@license: GNU GPL, see COPYING for details.
"""

# System path configuration

import sys

# Path of the directory where wikiconfig.py is located.
# YOU NEED TO CHANGE THIS TO MATCH YOUR SETUP.
#sys.path.insert(0, '/etc/moin')
sys.path.insert(0,'/root/mywiki') #修改1:指向你的wikiconfig.py文件所在的目录
# Path to MoinMoin package, needed if you installed with --prefix=PREFIX
# or if you did not use setup.py

# Path to the directory where farmconfig is located (if different).
#sys.path.insert(0, '/etc/moin') #修改2:注释掉该行内容

# Debug mode - show detailed error reports
## import os
## os.environ['MOIN_DEBUG'] = '1'

from MoinMoin.server.twistedmoin import TwistedConfig, makeApp


class Config(TwistedConfig):

# Server name
# Used to create .log, .pid and .prof files
name = 'mointwisted'

# Path to moin shared files (default '/usr/share/moin/wiki/htdocs')
docs = '/usr/share/moin/htdocs'

# The server will run with as this user and group (default 'www-data')
user = 'www-data'
group = 'www-data'

# Port (default 8080)
# To serve privileged port under 1024 you will have to run as root
port = 8080

# Interfaces (default [''])
# The interfaces the server will listen to.
# [''] - listen to all interfaces defined on the server
# ['red.wikicolors.org', 'blue.wikicolors.org'] - listen to some
# If '' is in the list, other ignored.
interfaces = ['']

# How many threads to use (default 10, max 20)
# The more threads you use, the more memory moin uses. All thread
# use one CPU, and will not run faster, but might be more responsive
# on a very busy server.
threads = 10

# Set logfile name (default commented)
# This is the *Apache compatible* log file, not the twisted-style logfile.
# Leaving this as None will have no Apache compatible log file. Apache
# compatible logfiles are useful because there are quite a few programs
# which analyze them and display statistics.
## logPath = 'mointwisted.log'

# Memory profile (default commented)
# Useful only if you are a developer or interested in moin memory usage
## from MoinMoin.util.profile import TwistedProfiler
## memoryProfile = TwistedProfiler('mointwisted',
## requestsPerSample=100,
## collect=0)

# Hotshot profile (default commented)
# Not compatible with threads.
## hotshotProfile = name + '.prof'


# Create the application
application = makeApp(Config)

*

配置MoinMoin Wiki系统

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

# -*- coding: iso-8859-1 -*-
# IMPORTANT! This encoding (charset) setting MUST be correct! If you live in a
# western country and you don't know that you use utf-8, you probably want to
# use iso-8859-1 (or some other iso charset). If you use utf-8 (a Unicode
# encoding) you MUST use: coding: utf-8
# That setting must match the encoding your editor uses when you modify the
# settings below. If it does not, special non-ASCII chars will be wrong.

"""
MoinMoin - Configuration for a single wiki

If you run a single wiki only, you can omit the farmconfig.py config
file and just use wikiconfig.py - it will be used for every request
we get in that case.

Note that there are more config options than you'll find in
the version of this file that is installed by default; see
the module MoinMoin.multiconfig for a full list of names and their
default values.

Also, the URL http://moinmoin.wikiwikiweb.de/HelpOnConfiguration has
a list of config options.

@copyright: 2000-2005 by Juergen Hermann <jh@web.de>
@license: GNU GPL, see COPYING for details.
"""

from MoinMoin.multiconfig import DefaultConfig


class Config(DefaultConfig):

# Wiki identity ----------------------------------------------------

# Site name, used by default for wiki name-logo [Unicode]
sitename = u'Untitled Wiki'

# Wiki logo. You can use an image, text or both. [Unicode]
# Example: u'<img src="http://images.cnblogs.com/cnblogs_com/doujiu/wiki/mywiki.png" alt="My Wiki">My Wiki'
# For no logo or text, use ''
logo_string = sitename

# The interwiki name used in interwiki links
interwikiname = None


# Critical setup ---------------------------------------------------

# Misconfiguration here will render your wiki unusable. Check that
# all directories are accessible by the web server or moin server.

# If you encounter problems, try to set data_dir and data_underlay_dir
# to absolute paths.

# Where your mutable wiki pages are. You want to make regular
# backups of this directory.
data_dir = './data/'

# Where read-only system and help page are. You might want to share
# this directory between several wikis. When you update MoinMoin,
# you can safely replace the underlay directory with a new one. This
# directory is part of MoinMoin distribution, you don't have to
# backup it.
data_underlay_dir = './underlay/'

# This must be '/wiki' for twisted and standalone. For CGI, it should
# match your Apache Alias setting.
url_prefix = '/wiki'


# Security ----------------------------------------------------------

# Security critical actions (disabled by default)
# Uncomment to enable options you like.
#allowed_actions = ['DeletePage', 'AttachFile', 'RenamePage']

# Enable acl (0 to disable)
acl_enabled = 1

# IMPORTANT: grant yourself admin rights! replace YourName with
# your user name. See HelpOnAccessControlLists for more help.
# All acl_rights_xxx options must use unicode [Unicode]
#acl_rights_before = u"YourName:read,write,delete,revert,admin"

# Link spam protection for public wikis (Uncomment to enable)
# Needs a reliable internet connection.
#from MoinMoin.util.antispam import SecurityPolicy


# Mail --------------------------------------------------------------

# Configure to enable subscribing to pages (disabled by default)
# or sending forgotten passwords.

# SMTP server, e.g. "mail.provider.com" (empty or None to disable mail)
mail_smarthost = ""

# The return address, e.g "My Wiki <noreply@mywiki.org>"
mail_from = ""

# "user pwd" if you need to use SMTP AUTH
mail_login = ""


# User interface ----------------------------------------------------

# Add your wikis important pages at the end. It is not recommended to
# remove the default links. Leave room for user links - don't use
# more than 6 short items.
# You MUST use Unicode strings here, but you need not use localized
# page names for system and help pages, those will be used automatically
# according to the user selected language. [Unicode]
navi_bar = [
# Will use page_front_page, (default FrontPage)
u'%(page_front_page)s',
u'RecentChanges',
u'FindPage',
u'HelpContents',
]

# The default theme anonymous or new users get
theme_default = 'modern'

# Language options --------------------------------------------------

# See http://moinmoin.wikiwikiweb.de/ConfigMarket for configuration in
# YOUR language that other people contributed.

# The main wiki language, set the direction of the wiki pages
default_lang = 'en'

# You must use Unicode strings here [Unicode]
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$'

# 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 WiKi服务器

debian:~/mywiki# ./mointwisted start

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

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

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

debian:~/mywiki# ./mointwisted
error: nothing to do

mointwisted - MoinMoin daemon

usage: mointwisted command

commands:
start start the server
stop stop the server
restart stop then start the server
kill kill the server

@copyright: 2004-2005 Thomas Waldmann, Nir Soffer
@license: GNU GPL, see COPYING for details.


分享到:
评论

相关推荐

    MoinMoin配置手册

    对于安装MoinMoin,首先需要确保已经安装了Python(推荐使用2.4以上版本,MoinMoin 1.8.5推荐使用2.5以上版本)和Apache web服务器。在Windows环境下,可以通过下载并安装Apache2.2和mod_python来实现Python与Apache...

    基于Python的MoinMoin.pdf

    2004年,MoinMoin 1.3版本发布,这是MoinMoin最重要的更新之一,它引入了模块化的设计理念,使得功能的扩展更为便利,同时还支持了UTF-8字符集,并使用高性能的Twisted服务器作为Web服务器,以提升处理能力,并支持...

    MoinMoinWiki

    安装MoinMoin通常涉及下载最新版本(如moin-1.5.7),解压后配置设置文件`farmconfig.py`,包括数据库连接、URL路径、主题等。然后使用Python运行wiki服务器,如`python wiki.py`。配置完成后,可以通过Web浏览器...

    基于Python的MoinMoin.zip

    3. **安装依赖**:根据安装指南安装MoinMoin所需的Python模块和其他依赖项。 4. **配置wiki**:创建并编辑配置文件,指定数据存储位置、主题、语言设置等。 5. **启动wiki服务**:运行MoinMoin的服务器脚本,使其...

    moin moin 个人维基

    - **运行服务**:启动moinmoin服务,可以通过Web服务器的配置文件将moinmoin集成到服务器中。 3. **使用指南** - **创建页面**:首次访问时,通常会引导你创建第一个页面。之后,可以点击“新页面”或通过URL直接...

    MoinWiki配置说明[借鉴].pdf

    在Ubuntu 8.04上安装MoinMoin 1.9.3和Python 2.5.2时,可以按照默认路径安装这两个组件。 要安装MoinMoin桌面版,你需要: 1. 从官方网站下载最新版本的MoinMoin。 2. 解压缩到你选择的安装目录。 3. 进入解压后的...

    MoinWiki配置说明

    1. **安装**: 在终端执行`sudo python -m pip install MoinMoin`安装MoinMoin。 2. **验证安装**: 通过命令`python -c "import MoinMoin"`检查是否安装成功。如果没有任何错误信息输出,则表示安装成功。 #### 3. ...

    Python维基系统MoinMoir.zip

    4. 配置web服务器,如Apache或Nginx,与MoinMoin集成。 5. 创建数据存储目录,并设置适当的权限。 6. 启动MoinMoin服务,开始使用。 **4. 使用与管理** - **页面编辑**: 用户可以通过网页表单直接编辑页面,保存后...

    利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程

    uwsgi是一个Web服务器网关接口(WSGI)服务器,用于处理MoinMoin的应用请求。 1. **安装Python开发工具和pip**: ```bash yum install python-devel python-setuptools ``` 2. **下载并安装pip**: ```bash ...

    Python维基系统MoinMoir.pdf

    此外,该版本开始使用UTF-8字符集,支持使用性能更为强大的Twisted服务器作为Web服务器,并引入了访问控制列表(ACL)安全设置,单实例多服务支持,以及更为优化的文本搜索引擎。 MoinMoin以其开源特性,以GPL协议...

    moin:MoinMoin Wiki开发(2.0+),不稳定,用于生产,请使用1.9.x

    它可以完成各种各样的角色,例如部署在笔记本电脑或家庭Web服务器上的个人笔记组织者,部署在Intranet上的公司知识库或向共享相同兴趣,目标或项目的个人开放的Internet服务器。 文档和支持 注意:moin2尚未发布,...

    moin-1.9.6

    MoinMoin可以运行在各种服务器环境下,如Apache或lighttpd,搭配FastCGI或WSGI协议。安装过程相对简单,只需几步即可启动一个基本的wiki站点。对于更复杂的需求,如集成其他服务或自定义主题,可以通过配置文件和...

    moin-1.9.3

    它支持多种操作系统,包括Linux、Windows和macOS,可以轻松地集成到各种Web服务器环境中,如Apache、lighttpd或内置的HTTP服务器。moinmoin以其易用性和灵活性而闻名,允许用户自定义界面、模板和功能,满足不同组织...

    howto webservice by phython

    - **案例研究**:MoinMoin是一个开源的Wiki系统,使用Python编写,可以通过WSGI接口部署。 2. **现代Web框架** - **Django**:是一个高级的Python Web框架,鼓励快速开发和干净、实用的设计。 - **特点**:内置...

    python入门资料

    - **在线游戏服务器**:许多在线游戏的后端服务器使用Python构建。 ### 二、第一个示例:Hello, World! - **命令行运行**: ```python &gt;&gt;&gt; print('Hello, world!') Hello, world! ``` - **特点**:Python是一...

    cat-wiki-server

    - **Wiki引擎**:是用于搭建Wiki站点的软件,如MediaWiki(维基百科使用的就是这个),DokuWiki,MoinMoin等。Cat-wiki-server可能是自定义或定制的Wiki引擎。 2. **服务器端开发**: - **编程语言**:通常,...

    Git权威指南(第二版)蒋鑫--整理目录版

    Git不仅能够与现有的SVN服务器协同工作,还能够与开发者的客户端Git协同,这为许多保守的公司提供了向Git靠拢的可能性。随着Git的普及,公司代码管理观念的改进,越来越多的公司将开始拥抱Git。 本书的组织结构分为...

    python入门培训.ppt

    - **文档处理和科学计算**:例如MoinMoin用于wiki平台,NumPy库支持科学计算。 - **Web应用开发**:流行的Web框架有Django、ZOPE、web.py和Flask等。 - **数据库开发**:Python可以轻松连接和操作SQL及NoSQL数据库,...

    python入门基础篇

    - **Zope**:一个开放源码的应用服务器,主要用于构建动态网站。 - **Plone**:基于Zope的内容管理系统。 - **Twisted**:一个事件驱动的网络引擎。 - **Django**:一个高级的Web框架,用于快速开发安全且维护简单的...

    python基础归纳

    6. **文档处理与科学计算:** moinmoin 和 numpy 等工具用于文档管理和科学计算。 7. **Web 应用开发:** Django、ZOPE、web.py 和 Quixote 等框架简化了 Web 开发流程。 8. **移动设备应用开发:** PyS60 和 PySide...

Global site tag (gtag.js) - Google Analytics