这个HTML页面包含基本的安装文档,其英文文档保留在 http://moinmaster.wikiwikiweb.de/MoinMoin/InstallDocs. 它包含有WIKI的安装、运行的所有必要的信息,甚至不必在线就可看到。假如你永久的连接到Internet,那么你可以在安装页面的帮助目录看到这些最新的文档。

遵照这个页面的安装步骤执行之后,你的WIKI就能正常运行并且能浏览在线文档的其他部分。

如何安装 MoinMoin Wiki

这个页面描述了MoinMoin的安装步骤。在下一节,将有具体环境中的安装简介,那会帮助你理解怎样把这些指令应用到各个不同的环境中去。假如你已经有了一个正在运行的Wiki想升级,请看 HelpOnUpdating。

一个MoinMoin的安装过程可以分为以下几个基本的步骤:

不同网络服务器和操作系统下的安装步骤

以下链接向你演示了具体的安装过程,包括使用的命令及其作用。在进行实际安装之前,你必须阅读上面关于安装的一般信息

Linux:

Long-Running-Process Setup:

Mac OS X:

Windows:

如何在你的系统上实现MoinMoin的基本安装

目录

在你把MoinMoin整合到网络环境之前,必须使用Python标准的distutils机制(setup.py')安装MoinMoin源代码和数据文件。本页面向你解释其一般实现步骤。对于distutils安装的详细过程,请参考你的Python文档 Installing Python Modules

在Windows下和Linux下的安装过程是类似的,简单起见,我们在此文档中以"Linux"为例。

(!) 我们使用类似> command arguments这样的文字来表示你应该在命令行(或者shell, 终端等)下输入的命令。 在我们的例子中,是提示符,你不需要输入它,需要输入的是跟在它后面的文字。不是以开头的那些行表示输入命令后得到的结果。请仔细阅读。

检查Python是否正常工作

MoinMoin需要Python才能运行,所以第一步就是要检查是否安装了可以使用的Python版本以及安装是否正确。如果有问题,你必须先修复它。

在MoinMoin归档中的"CHANGES"文件中给出了需要的Python版本。Python2.3是MoinMoin 1.5所需要的最低版本,但是我们建议你使用最新的Python版本。

你可以在 http://www.python.org/download/下载Python。

如果你非常肯定已经安装了可接受的Python版本,但是下面的命令却不能正常工作,那么可能是因为你的Python文件不在搜索路径中。关于正确设置所索路径,已经超出了本文档的范围了;请在你喜欢的Python,Linux,或者Window讨论区提问。

如果你可以使用shell,检查Python的状态就非常简单了。只要输入下面的命令,然后看看结果就可以:

> python -V
Python 2.3.4

如果你不能使用shell,可以使者使用下面这个pythontest.cgi脚本(假设你使用的是Linux类型的网络服务器)。将此脚本上载到你的cgi-bin目录,使用chmod a+rx pythontest.cgi(或者在你的FTP程序中类似的命令)将此脚本变为可执行文件,然后使用网络浏览器调用它。

echo Content-Type: text/plain
echo
echo "Your web server is running as:"
id
echo "CGI scripts work"
echo "Now we try to invoke Python interpreters and get their versions:"
python -V 2>&1
python2.3 -V 2>&1
python2.4 -V 2>&1
echo "Finished."

如果没有显示"CGI scripts work",那么CGI脚本没有正常工作。如果没有显示一个或者多个Python版本号,那么Python没有正确安装。这两种情况下,你必须与服务器的系统管理员联系以便修正这些问题。

在你已经完成了这里说明的?../BasicInstallation,请一定要读一读 ?../ApacheOnLinuxFtp。

下载MoinMoin

要下载发行包,请到 下载区 获得最近的归档。

下一步是解压发行包(如果你现在读的这些文字在硬盘上,说明你已经上完成了此项工作)。如果你在网络上读到这些文字,发行包是一个 带有版本号的.tar.gz压缩包,你可以按照下面的方法来解压。

  • 在Window下
    • 你可以使用最近版本的解压程序,比如WinZip,WinRar,and WinAce,他们可以处理.tar.gz类型的压缩包。

    • 在命令行下,可以使用GNU gzip and GNU tar 的Window版本。

  • 在Linux下
    • 你可以使用喜欢的文件管理器 -- 它应该可以解压它们。
    • 在任意shell提示符下,你可以使用tar命令。

发行包通常会解压到一个名字为moin-<verion>的目录下,比如moin-1.5

这个例子演示你如何(使用GNU tar)解压发行包,并进入MoinMoin文件所在的目录:

> tar xzf moin-1.5.0.tar.gz
> cd moin-1.5.0

安装 MoinMoin

你可以将MoinMoin安装到以下任意一个目录:

  • 系统目录(如果你有权限这样做 -- 在Linux上你必须是根用户)
  • 某一指定位置,比如你的home目录(Linux)或者C:\moin (Windows)。

安装到系统目录比较容易,所以尽量选择这种方式。

/!\ 如果你安装了多个版本的Python,请使用相同版本的Python来安装和运行wiki。通常,最新版的Python会有最好的结果。

如果你在安装中使用setup.py有问题,请试一下这个命令:

> python -v setup.py --quiet install --record=install.log

附加的-v标志会给你提供安装过程中每一步的详细信息。

/!\ 在Linux上,如果得到类似Invalid Python installation: cannot find /usr/lib/Python2.x/config/Makefile的错误,可能是因为没有安装Python模块distutils,它通常是Python开发库 (python-dev)的一部分。一些Linux发行版可能缺省状态下没有安装它。例如,在Mandrake上,你要安装python-devel 包, 在Debian上它的名字是python-dev.

安装到系统默认位置

> python setup.py --quiet install --record=install.log

这个命令把MoinMoin安装系统默认位置(一般是Python目录,例如在Linux下,在/usr/lib/usr/share里)。在install.log文件里可以看到安装的你容以及安装位置。

  • Mac OS X 注意:使用下面的命令:
    python setup.py install --install-data='/usr/local'

它把共享文件安装到'/usr/local/share/moin',取代不方便的系统目录。

安装到home目录或者其他指定位置

Linux例子,安装到home目录:

> python setup.py --quiet install --prefix=$HOME --record=install.log

Windows例子,安装到C:\moin目录:

> python setup.py --quiet install --prefix="C:\moin" --record=install.log

所有的MoinMoin文件将被安装到这些目录中,install.log记录着那些文件被安装以及它们的安装位置。

注意: 你可能会看到下面的警告:

  • warning: install: modules installed to 'C:\moin\', which
    is not in Python's module search path (sys.path) -- you'll
    have to change the search path yourself

警告中给出了信息,你需要把你的安装目录增加到Python的搜索路径中,否则它没法找到MoinMoin代码。

比如,如果你使用网络服务器和标准CGI,那么编辑moin.cgi,把你的安装目录增加到Python路径中,就像这样:

import sys
sys.path.insert(0, 'C:/moin')

安装测试

最后一步,如果你能使用shell或者命令行,可以检查安装是否正确可以运行。运行Python并输入import MoinMoin。对此命令应该没有任何东西显示。例如:

> python
Python 2.3.4 (#1, May 29 2004, 17:05:23)
[GCC 3.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MoinMoin
>>>

如果你得到这样的结果:

>>> import MoinMoin
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: No module named MoinMoin
>>>

那么你不得不调整你的安装了。试着像上面所说的那样修改sys.path

安装了什么

现在,你有一个随时可以运行的MoinMoin了。祝贺你!在继续配置它之前,看一看已经被安装的文件以及它们所在的目录。

/!\ 这一步很重要,你应该了解MoinMoin安装中使用的不同目录,所以请仔细阅读。

在下面的描述中,PREFIX是随setup.py一起使用的选项,或者如果你没有使用--prefix选项时的默认位置。(一般Linux上的默认位置 是/usr and /usr/localX.Y是Python的版本。一般是2.3或者2.4

看一看install.log,找到下面这些重要的位置:

  • MoinMoin 目录,通常是PREFIX/lib/pythonX.Y/site-packages/MoinMoin - 这是 MoinMoin 源代码的位置。

  • share 目录,通常是PREFIX/share/moin - 这是 模板的位置。

    • data 目录 (wiki pages, users, etc.) - 只有MoinMoin能够访问它。

    • underlay 目录 (wiki pages) - 只有MoinMoin能够访问它。

    • htdocs 目录以及html支持文件 (不同主题相应的图片等) - 网络服务器需要访问它。

    • server - MoinMoin 启动文件范例 (例如用于CGI的moin.cgi , 以及其他启动方法对应的启动文件)

    • config - MoinMoin 配置文件范例 (例如wikiconfig.py)

  • bin - 此目录下有一些脚本,可以帮你使用 MoinMoin shell命令。

share目录我们谈到模板, 因为你通常不会使用那些目录下的文件,而是当需要时把它们拷贝到其他地方。这样,你可以建立多个wiki,而且容易升级到新MoinMoin版本。

此页的英文版本:HelpOnInstalling/BasicInstallation



使用 Apache 和 Linux

本页面记述在 Linux 上使用 Apache 服务器安装 MoinMoin 维基例程的步骤。 在此之前,你应该完成../基本安装。在其他类Unix操作系统上,比如FreeBSD,安装步骤是类似的。

有两种可能情况。你可能是服务器的管理员(root),可以安装和修改计算机上的每一个文件,特别是可以修改 Apache 的配置文件。你也可能只是普通用户,只能对自己 home 目录下的文件进行写操作,不能修改Apache的配置文件。下面讨论这两种情况。

目录

管理员 (root)

大多数 GNU/Linux 发行版事先安装好了 Apache。但是,Apache文件的具体位置可能有所不同。你应该查阅发行版手册,或者在适当的讨论区上寻求答案。在接下来的章节中,我们假设一个文件系统的(几乎标准的)布局如下:

  • /etc/httpd/httpd.conf - Apache 主配置文件

  • /var/log/httpd/error_log - 包含 Apache 错误信息的日志文件

有些发行版使用 apache 代替 httpd 作为目录名,其他的发行版也可能使用奇怪的设置。

创建维基例程

创建维基例程的操作包括拷贝文件和设置适当权限。在继续操作之前,你应该明确Apache服务器以什么用户和组运行。最简单的方法是运行下面的命令:

> egrep "^User|^Group" /etc/httpd/httpd.conf
User wwwrun
Group nogroup

上面显示了一个典型的结果: "wwwrun.nogroup"。其他常见结果包括 "nobody.nogroup", "apache.apache" 和 "www-data.www-data"。你当然可以使用自己的方式来设置。重要的你应该知道到底是哪一个结果,因为你还需要利用它们来设置文件权限。

这个信息清楚之后,请阅读../创建维基例程,然后按照下面的步骤来做。

安装 moin.cgi

需要拷贝 moin.cgi。它用于连接 MoinMoin 和 Apache。你可以把这个脚本放在任何位置 (MoinMoin文件的路径可以任意配置,以适合文件系统的布局)。但是为了简单和安全起见,我们建议你按照下面的例子进行操作,除非你认为自己可以做的更好。

我们将在例程目录下创建一个 cgi-bin 子目录。使用../创建维基例程中定义的环境变量,运行下面的命令:

> cd $WIKILOCATION/$INSTANCE
> mkdir cgi-bin
> cp $SHARE/server/moin.cgi cgi-bin
> chown -R $USER.$GROUP cgi-bin
> chmod -R ug+rx cgi-bin
> chmod -R o-rwx cgi-bin

配置 moin.cgi

moin.cgi 运行时,它导入 MoinMoin 模块,而 MoinMoin 模块接着导入其他模块和配置文件. 虽然 MoinMoin 模块在正确配置 (如../基本安装所述) 的系统中总可以被找到,但是配置文件不一定会存在。编辑 moin.cgi 脚本来纠正它。 在文件顶端添加这些文字:

import sys
sys.path.insert(0, '..')

你也可以使用包含wikiconfig.py文件的目录的绝对路径来代替 '..'.

配置 Apache

现在所有文件都到位了,并且正确的设定了权限,我们需要配置 Apache。但是,由于不同的发行版中其默认的 Apache 配置各不相同,而且管理员经常会对配置文件作出不同的添加和更改,我们无法给出涵盖所有情况的精确建议。相反,我们首先大致的描述有哪些要做的操作,然后给出一些特定的配置,你可以把它们添加到Apache配置文件的适当位置。

你的Apache安装后应该是这样的:

  • 访问例程目录是被拒绝的 (安全的 Apache 配置应该拒绝对对整个服务器的的访问,而仅仅开放一些特定的目录)。
  • 设置了一个 alias,将把对 /wiki/的访问 (in the URL) 重定向到 htdocs 目录(如../基本安装所述,在 share 目录下)。

  • 设置了一个 script alias,将把任何你希望的访问 (我们建议你使用例程的名字,比如/mywiki) 重定向到你刚刚拷贝的CGI脚本。

下面的命令会在你的 Apache 配置文件底部增加两行。它们只涵盖上述的最后两条。你应该自己检查第一条 (Linux发行版中的变化实在是多种多样)。注意你可能需要将这两行拷贝到配置文件中适当的位置 -- 也许在其他类似的某些行配置的附近。

> echo "" >>/etc/httpd/httpd.conf
> echo "Alias /wiki/ \"$SHARE/htdocs/\"" >>/etc/httpd/httpd.conf
> echo "ScriptAlias /mywiki \"$WIKILOCATION/$INSTANCE/cgi-bin/moin.cgi\"" >>/etc/httpd/httpd.conf

你只需要定义 htdocs 的 alias 一次。你需要对不同维基例程定义不同的 script alias。

配置 MoinMoin

最后,检查例程目录下的wikiconfig.py文件是否包含 htdocs url_prefix,例程的 data 目录,underlay 目录的正确路径。 你可以使用相对路径,但是注意它们应该是相对于GCI脚本而不是相对于配置文件的!你也可以使用绝对路径,这样不会出错。

如果你一直听从我们之前的建议,那么这个配置文件中的设置应该如下所示:

    data_dir = '../data/'
    data_underlay_dir = '../underlay/'
    url_prefix = '/wiki'

还有一些其他设置可以更改,详细内容请看../创建维基例程

测试维基

现在一切都应该工作正常了。现在应该 重新启动 Apache 服务器 (通常使用 "/etc/init.d/apache restart", 有时候是 "apachectl restart") ,然后操作如下:

  • 运行 MoinMoin CGI Diagnosis: 连接 "http://127.0.0.1/mywiki?action=test" (或者是你在 Apache 配置文件中设置的名字和端口)。确认显示了正确的信息。检查 Checking directories... 下面列出的目录状态都是 OK.

  • 使用 "http://127.0.0.1/mywiki/" 访问你的新维基(或者是你在 Apache 配置文件中设置的名字和端口)。应该可以看到 FrontPage.

  • 如果上面操作正常,试着编辑并保存。
  • 如果上面操作正常,查看你的更改是否在最新改动页面上体现出来了。

  • 如果上面操作正常,祝贺你,你的维基可以正常运行了!

如果有错误发生,请看页面底部的问题解答

Apache 技巧

高级配置和其他技巧,请看 帮助-其他

普通用户 (安装在 home 目录)

在多人共享的计算机上,普通用户没有管理员权限,不能修改 httpd.conf 文件,不能将文件拷贝到系统所属的 cgi-binhtdocs 目录。在这种情况下,无法在 Apache 中设置 UserDir 使得每个用户都可以在 home 目录下建立网站。如果管理员却是如此设置服务器,那么所有以 "/~username" 开始的 URLs 都会被重定向到用户的 home 目录下的子目录,用户对这些目录有写权限,可以安装MoinMoin.

下面,我们以用户 "mm" 为例。当然,下面所有的 "mm" 都可以替换成你自己的用户名。

确认 /~username 工作正常

只有管理员 (root) 允许的情况下,home 目录安装方式才可以正常工作。所以,第一步是检查其是否可以正常工作。一般来说,Apache 会被配置成使用 home 目录中的 public_html 子目录作为网站的根目录。所以,第一步是检查这个目录是否存在。

> ls -ld ~/public_html
drwxr-xr-x   2 mm       users        4096 Nov 30 00:29 public_html

如果目录不存在,就新建一个,确保它可以被网络服务器读取和访问。

> mkdir public_html
> chmod a+rx public_html
> ls -ld ~/public_html
drwxr-xr-x   2 mm       users        4096 Nov 30 00:35 public_html

现在检查 "/~mm" URL 是否工作正常:

> lynx -error_file=/dev/stderr -dump http://localhost/~mm/ >/dev/null
URL=http://localhost/~mm/ (GET)
STATUS=HTTP/1.1 200 OK

如果是 "200 OK" 的结果,那表明它工作正常,你可以进行下一步检查了。如果是 "403 Forbidden" 或者是 "404 Not Found",那么可能是目录有些问题,或者可能是管理员禁止了这些功能。

  • 检查home (~) 和 public_html目录的权限,它们的权限应该分别是 "--x" 和 "r-x"。

  • 也有可能是管理员设置了其他的个人网站的目录名字。默认值是 "public_html",但也可能使用其它值。你必须向管理员(root)询问详细信息。

  • 如果个人网站功能被禁用了,也许你可以让管理员打开这个功能?

如果可以读取该目录下的文件,你还需要检查在这个目录下是否能够执行CGI脚本。使用下面的命令在适当的位置新建一个简单的CGI脚本:

> mkdir -p ~/public_html/cgi-bin
> cat > ~/public_html/cgi-bin/test.cgi
#!/bin/sh
echo Content-Type: text/plain
echo
echo "CGI scripts work"
<CTRL-D>
> chmod a+rx ~/public_html/cgi-bin/test.cgi
> lynx -dump http://localhost/~jh/cgi-bin/test.cgi
CGI scripts work

如果结果不是"CGI scripts work", 那说明又有问题了。检查目录的权限,试试其他的名字。最糟糕的情况是你没有权限运行CGI脚本。你必须让管理员(root)给你设置权限。

如果有了权限,你就可以在 public_html 目录下创建维基例程了。 :)

创建维基例程

创建维基例程的操作包括拷贝文件和设置适当权限。请阅读 ../创建维基例程,按照其所描述的步骤进行操作。

安装 htdocs 文件

网络服务器需要访问这些文件,所以我们要把它们拷贝到"public_html"目录。

> cd ~/public_html
> cp -R ~/share/moin/htdocs wiki
> chmod -R a+rX wiki

安装 moin.cgi

需要拷贝 moin.cgi。它用于连接 MoinMoin 和 Apache。你要把它放在可以运行CGI脚本的目录。下面是默认的情况:

> cd ~/public_html
> mkdir cgi-bin
> cp $SHARE/server/moin.cgi cgi-bin
> chmod -R a+rx cgi-bin

配置 moin.cgi

moin.cgi 运行时,它导入 MoinMoin 模块,而 MoinMoin 模块接着导入其他模块和配置文件. 由于所有文件都安装到了home目录,所以它们可能都无法找到。编辑 moin.cgi 脚本来纠正它。 在文件顶端添加这些文字:

When moin.cgi is launched, it imports a MoinMoin module (that in turn imports other modules and the configuration file). Since everything has been installed in your home directory, it is likely none of these will be found. Edit the moin.cgi script to correct that. Add these lines near the top of the file:

import sys
sys.path.insert(0, '/home/mm/lib/python2.3')
sys.path.insert(0, '/home/mm/lib/python2.3/site-packages')
sys.path.insert(0, '/home/mm/share/moin/mywiki')

当然,你应该根据实际情况修改这些路径。前两行用于定位 MoinMoin 模块,最后一行用于定位 wikiconfig.py 文件。

注意: 可能需要编辑这个文件的第一行,将它指向 Python 的正确版本,默认值应该可以运行,如果不行的话可以使用 "#! /usr/bin/python2.3"。

注意 2: 在这个文件中有一行 request = RequestCGI(). 如果你使用复杂的 mod_rewrite,可以在括号中添加 properties = {'script_name': '/mywiki'} 。这样 MoinMoin 可以生成以 /mywiki 开头的URLs:

def handle_request(req, env, form):
    request = RequestCGI(req, env, form, properties = {'script_name': '/mywiki'})
    request.run()

配置 MoinMoin

最后,检查例程目录下的 wikiconfig.py 文件中是否包含正确的htdocs目录,例程data目录,underlay目录的路径。可以使用相对路径,但注意它们是相对于CGI脚本的,而不是相对于配置文件的!你也可以使用绝对路径,这样不会出错

    data_dir = '/home/mm/share/moin/mywiki/data/'
    data_underlay_dir = '/home/mm/share/moin/mywiki/underlay/'
    url_prefix = '/~mm/wiki'

测试维基

现在一切都应该工作正常了。现在按照下面的步骤来操作:

  • 运行 MoinMoin CGI Diagnosis: > lynx -dump http://localhost/~mm/cgi-bin/moin.cgi?action=test

  • 使用 "http://127.0.0.1/~mm/cgi-bin/moin.cgi" 访问你的新维基(或者是你在 Apache 配置文件中设置的名字和端口)。应该可以看到 FrontPage。

  • 如果上面操作正常,试着编辑并保存。
  • 如果上面操作正常,查看你的更改是否在最新改动页面上体现出来了。

  • 如果上面操作正常,祝贺你,你的维基可以正常运行了!

如果有错误发生,请看下面的问题解答

问题解答

你可以在 ../问题解答中看到更多信息。

当维基工作不正常的时候,首先应该使用命令 "tail /var/log/httpd/error_log" 来显示最近的错误。通常,你可以看到发生了什么错误,比如说缺少权限之类的。

Adding permission to serve the htdocs directory

In some (sane) Linux distributions (like SuSE 9.0) serving directories other than the document-root "/srv/www/htdocs" with Apache is switched off by default for security reasons in "/etc/httpd/httpd.conf" (or for Apache2 "/etc/apache2/httpd.conf"):

# forbid access to the entire filesystem by default
<Directory />
  Options None
  AllowOverride None
  Order deny,allow
  Deny from all
</Directory>

To allow Apache to serve directories outside of the document root you have to add these lines to "/etc/httpd/httpd.conf" (in SuSE it is recommended to create a new "http.conf.local" and include this file in "/etc/sysconfig/apache2"):

Alias /wiki/ "/usr/share/moin/htdocs/"
<Directory "/usr/share/moin/htdocs/">
   Order deny,allow
   Allow from all
</Directory>

ScriptAlias /mywiki "/usr/share/moin/mywiki/cgi-bin/moin.cgi"
<Directory "/usr/share/moin/mywiki/cgi-bin">
   Order deny,allow
   Allow from all
</Directory>

Of course, you need to adapt the paths to your particular situation.

此页的英文版本: HelpOnInstalling/ApacheOnLinux


引数"帮助-安装/FastCgi, 使用 Apache/Lighttpd 和 FastCGI", 1"が不正です。



使用 Twisted


使用独立服务和 Linux

安装和配置独立服务

同时参考:HelpOnConfiguration/IntegratingWithApache

独立服务专门用于本地维基,因为它不需要安装网络服务器,需要的仅仅是Python和Moin。

要安装并运行独立服务:

  1. 如果MoinMoin还没有安装,请先进行 ../基本安装

  2. 按照[../创建维基例程]里面所叙述的,创建一个维基实例。
  3. moin.py 拷贝到你的维基目录, 即wikiconfig.py所在的地方。

  4. 如果你使用--prefix选项进行安装,必须编辑moin.py并正确设置docs的路径。

  5. 运行moin.py

  6. 通过 http://localhost:8000/ 访问你的维基。

大多数情况下,默认的设置就可以正常工作。你可以按照后面一节描述的内容来编辑moin.py,改动其中一些选项。

配置 moin.py

系统路径配置

如果你进行了标准安装,而且你不是开发者,那么你可以跳过这一节。如果不是那样,你可以把路径加入moin和配置文件,就像这样:

import sys
sys.path.insert(0, '/path/to/moin')
sys.path.insert(0, '/path/to/wikiconfig')

配置类选项

选项

默认值

注释

name

'moin'

服务器名称,默认用于日志和pid文件。 (!) New in 1.5

docs

'/usr/share/moin/wiki/htdocs'

moin共享文件路径。如果你使用 --prefix 安装,那么默认路径不能正常工作,你必须把路径设置成'PREFIX/share/moin/wiki/htdocs'

user

'www-data'

如果你以根用户运行,则服务会按照该用户的设置来运行。

group

'www-data'

如果你以根用户运行,则服去会按照该用户组的设置来运行。

port

8000

服务端口。如要想在1024端口之内运行,你必须是根用户才可以 。

interface

'localhost'

服务监听接口。默认情况下只监听localhost。设置为 '' 就可以监听所有的。

logPath

name + '.log'

日志文件。推荐使用默认设置。

serverClass

'ThreadPoolServer', 'ThreadingServer', 'ForkingServer', 'SimpleServer'

使用的服务类型,请参考moin.py中的注释。 默认类型是 'ThreadPoolServer',它创建线程池,并且在有新连接时重复使用它们。 (!) New in 1.3.5

threadLimit

10

创建多少线程。 (!) New in 1.3.5

requestQueueSize

50

被操作系统缓冲的socket连接请求数目。 (!) New in 1.3.5

properties

 {} 

在该字典中设置键值,允许不顾其任意请求性质,比如properties = {'script_name': '/mywiki'}. (!) New in 1.5

  • (!) 对于moin开发者来说,还有其他有用的选项,请看moin.py中的注释

配置 wikiconfig.py

给定的配置文件范例应该可以正常工作。

选项

默认值

注释

url_prefix

'/wiki'

你不应该改变这一项,否则image和css文件都不能使用了!

启动服务

从命令行运行 moin.py

$ ./moin.py
Serving on localhost:8000

通过 http://localhost:8000/ 测试维基

在Windows上,你可以双击moin.py来启动服务。新的终端窗口会打开。关闭该窗口或者按下Control+Pause来停止服务。

在Unix上,使用Control+C来关闭服务。

在Unix上使用80端口

在GNU/Linxu, Mac OS X 或者其他Posix类操作系统,你可以使用标准的80端口服务,但是你必须作为根用户运行才可以。

port设置为80,并确认usergroup在你的系统上存在。如果不是的话,把它们设置为已存在的用户(对于网络服务来说)。如果有必要,把你的维基目录chown到该用户和用户组。

使用根用户运行moin.py

$ sudo moin.py
Password:
Serving on localhost:8000
Running as uid/gid 70/70

通过 http://localhost:8000/ 测试维基

在后台运行

如果运行在Unix上,你可以把moin.py运行在后台:

  1. 有用一个正常工作的 moin.py (像上面所描述的那样)。

  2. prefix/share/moin/server/moin拷贝到维基目录。

  3. 运行moin服务:

./moin start

要停止服务:

./moin stop

直接运行moin不加任何参数,可以得到更多信息。

如果想从系统启动脚本中启动moin,你需要把路径添加到moin.py的顶端:

# Add the path to moin.py directory 
import sys
sys.path.insert(0, '/path/to/moin')
  • (!) New in release 1.5

此页的英文版本:HelpOnInstalling/StandaloneServer


使用 Apache 和 Mac OS X



使用 IIS 和 Windows


问题解答

如何处理常见错误

首先遵循建议

Moin为常见使用方法提供了建议. 试着根据建议的默认值创建维基. 这样你的维基会和我们的一样被存储, 而且被命名为mywiki ... 但是在你有一个可以工作的维基之后, 你可以改变位置和名字. 默认值的选择是很谨慎的, 大多数人在大多数平台上都可以正常工作, 或者至少有一个好的开始.

  • 首先遵循建议
  • 如无必要,不要改变任何配置.
  • 在你试图自定义维基之前,现在一个正常运行的维基上使用.

一次改动一个

当你的维基运行时, 根据你的需要去自定义它既可, 但记住每次只改变一个选项. 也许你不能完全理解所有的选项是如何工作的, 如果在同一步中改动了一些东西而出现问题, 你会发现很难解决出现的问题.

检查你的网络服务器是否可以使用Python

这在帮助-安装/基本安装中也有提及. 使用这个脚本:

echo Content-Type: text/plain
echo
echo "Your web server is running as:"
id
echo "CGI scripts work"
echo "Now we try to invoke Python interpreters and get their versions:"
python -V 2>&1
python2.3 -V 2>&1
python2.4 -V 2>&1
echo "Finished."

来检查cgi是否工作. 然后你也会知道哪一个版本的python是可用的. 对于没有根用户权限的用户这非常有用.

内置测试

安装时, 有一个内置的诊断模式非常有用; 只需在你的维基URL后面添加"?action=test":

lynx --dump http://`hostname`/mywiki?action=test

如果你看到import error, 但是

python -c "import MoinMoin"

正常, 那可能是缺少文件权限或者网络服务器环境下错误的PYTHONPATH设置.

决战Pythons

你可能遇到的最常见的问题是,当你有一个较老的Python版本安装在"/usr"下, 而一个较新的Python发行版安装在"/usr/local"下; 这在GNU/Linux发行版中是很典型的情况,他们有时仍然捆绑了较老的Python版本.

在这种情况下, 如果在提示符下键入"python", 你一般可以使用较新的Python解释器, 因为"/usr/local/bin"在你的PATH中. 在网络服务器环境下情况是不同的, 因此你可能不得不改变"moin.cgi"的bang path, 就像这样:

"""
    MoinMoin - CGI Driver Script
...
"""
  • Debian stable user might want to look for backport of newer Python, or download and build Python from source.
  • 安装时, 确保使用你希望用以运行moin的python来安装. python setup.py install 会使用路径中第一个python来安装, 而这也许不是你希望使用的版本! /usr/local/bin/python2.4 会使用指定的python进行安装. 你需要在moin服务器脚本中使用相同的路径.

文件权限缺失

如果你是根用户, 则安装的文件只能被根用户读取, 但是在维基工作之前它们也必须能够被网络服务器读取. 这包括Python模块和网站本身. 对于data目录, 维基引擎也需要write权限. 为了解决这个问题, 应首先找到Python模块的目录所在; 察看install.log, 或者运行命令:

python -c "import sys; print '%s/lib/python%s/site-packages' % ( sys.prefix, sys.version[:3] )"

对于下面的这个例子, 我们假设Python模块目录是/usr/local/lib/python2.3/site-packages. 使用下面的命令是文件是全局可读的:

cd /usr/local
chmod -R a+rX lib/python2.3/site-packages/MoinMoin

小心的设置Python变量

当重新输入而不是剪切和粘贴操作时,应特别小心. 在wikiconfig.py中引用错误会导致失败. 其后的条目也是变量. 还有, 一些功能只有在wikiconfig.py或者farmconfig.py中开启他们对应的选项后才能正常使用.

moin.cgi找到, Moin不运行

如果你不得不将moin代码位置加入系统路径, 请确保指定这个路径是MoinMoin本身的上级, 这样MoinMoin这个词汇在导入时可以找到.

CSS文件不工作

丢失CSS样式是很常见的错误. 你的维基看起来很丑陋, 一点也不像现在这个漂亮的维基. 大多数情况下, 是因为你没有阅读建议而弄错了配置, 或者因为你比我们聪明,而试图自定义这些建议. :-)

解决问题很简单: 确保你的Apache Alias和?ScriptAlias是一样的. 这个Apache设置永远不能工作:

Alias /wiki/ "/prefix/share/moin/htdocs/"
ScriptAlias /wiki/ "/var/www/wiki/moin.cgi"

Alias用于静态文件: css, 图片等等. ?ScriptAlias用于将moin.cgi从url中隐藏. 你必须使用不同的值! 对于?ScriptAlias, 或者Alias, 你可以使用任何值, 但是Alias必须匹配url_prefix的设置. 这是一个可以工作的例子(默认设置):

# Apache config
Alias /wiki/ "/prefix/share/moin/htdocs/"

# Wiki config
    url_prefix = '/wiki'