Please note: This is the read-only master18 wiki for moin 1.8.x content. For moin 1.9.x content, please see the same page in master19 wiki.

如何处理常见错误

首先遵循建议

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
...
"""

文件权限缺失

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

MoinMaster: 帮助-安装/问题解答 (last edited 2008-06-08 14:27:43 by localhost)