如何处理常见错误
首先遵循建议
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中开启他们对应的选项后才能正常使用.
1. moin.cgi找到, Moin不运行
如果你不得不将moin代码位置加入系统路径, 请确保指定这个路径是!MoinMoin本身的上级, 这样!MoinMoin这个词汇在导入时可以找到.
2. 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'