如何处理常见错误

首先遵循建议

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

一次改动一个

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

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

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

#!/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是否工作. 然后你也会知道哪一个版本的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, 就像这样:

#!/usr/local/bin/python

"""
    MoinMoin - CGI Driver Script
...
"""

文件权限缺失

如果你是根用户, 则安装的文件只能被根用户读取, 但是在维基工作之前它们也必须能够被网络服务器读取. 这包括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'

帮助-安装/问题解答 (zuletzt geändert 2009-11-15 23:40:38)