## Please edit system and help pages ONLY in the moinmaster wiki! For more ## information, please see MoinMaster:MoinPagesEditorGroup. ##master-page:HelpOnInstalling/TroubleShooting ##master-date:2005-09-23 02:53:49 #acl MoinPagesEditorGroup:read,write,delete,revert All:read #format wiki #language zh '''如何处理常见错误''' = 首先遵循建议 = 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 ... """ }}} * 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' }}}