## Please edit system and help pages ONLY in the moinmaster wiki! For more
## information, please see MoinMaster:MoinPagesEditorGroup.
##master-page:HelpOnInstalling/BasicInstallation
##master-date: 2006-03-11 07:54:40
#acl MoinPagesEditorGroup:read,write,delete,revert All:read
#format wiki
#language zh



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

'''目录'''
[[TableOfContents]]

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

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

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

= 检查Python是否正常工作 =

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

在Moin``Moin归档中的"CHANGES"文件中给出了需要的Python版本。Python2.3是Moin``Moin 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程序中类似的命令）将此脚本变为可执行文件，然后使用网络浏览器调用它。
{{{
#!/bin/sh
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 =

要下载发行包，请到 [http://sourceforge.net/project/showfiles.php?group_id=8482 下载区] 获得最近的归档。

下一步是解压发行包（如果你现在读的这些文字在硬盘上，说明你已经上完成了此项工作）。如果你在网络上读到这些文字，发行包是一个 带有版本号的`.tar.gz`压缩包，你可以按照下面的方法来解压。
 * 在Window下
    * 你可以使用最近版本的解压程序，比如Win``Zip，Win``Rar，and Win``Ace，他们可以处理.tar.gz类型的压缩包。
    * 在命令行下，可以使用[http://gnuwin32.sourceforge.net/packages/gzip.htm GNU gzip] and [http://gnuwin32.sourceforge.net/packages/tar.htm GNU tar] 的Window版本。
 * 在Linux下
    * 你可以使用喜欢的文件管理器 -- 它应该可以解压它们。
    * 在任意shell提示符下，你可以使用`tar`命令。

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

这个例子演示你如何（使用GNU tar）解压发行包，并进入Moin``Moin文件所在的目录：
{{{
> tar xzf moin-1.5.0.tar.gz
> cd moin-1.5.0
}}}

= 安装 MoinMoin =

你可以将Moin``Moin安装到以下任意一个目录：
 * 系统目录（如果你有权限这样做 -- 在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
}}}
这个命令把Moin``Moin安装系统默认位置（一般是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
}}}

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

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

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

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

比如，如果你使用网络服务器和标准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`。

= 安装了什么 =

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

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

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

看一看`install.log`，找到下面这些重要的位置：

 * `MoinMoin` 目录，通常是`PREFIX/lib/pythonX.Y/site-packages/MoinMoin` - 这是 Moin``Moin '''源代码'''的位置。
 * `share` 目录，通常是`PREFIX/share/moin` - 这是 ''模板''的位置。
  * `data` 目录 (wiki pages, users, etc.) - 只有Moin``Moin能够访问它。
  * `underlay` 目录 (wiki pages) - 只有Moin``Moin能够访问它。
  * `htdocs` 目录以及html支持文件 (不同主题相应的图片等) - 网络服务器需要访问它。
  * `server` - Moin``Moin 启动文件范例 (例如用于CGI的`moin.cgi` , 以及其他启动方法对应的启动文件)
  * `config` - Moin``Moin 配置文件范例 (例如`wikiconfig.py`)
 * `bin` -  此目录下有一些脚本，可以帮你使用 Moin``Moin shell命令。

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

此页的英文版本：HelpOnInstalling/BasicInstallation
