试图配置apache/mercial,但遇到以下错误。。
[Tue Aug 27 22:51:21 2013] [error] [client xxx.xxx.xxx.xxx] mod_wsgi (pid=32758): Target WSGI script '/var/www/vhosts/hg.xxxxx.net/cgi-bin/hgweb.wsgi' cannot be loaded as Python module.
[Tue Aug 27 22:51:21 2013] [error] [client xxx.xxx.xxx.xxx] mod_wsgi (pid=32758): Exception occurred processing WSGI script '/var/www/vhosts/hg.xxxxx.net/cgi-bin/hgweb.wsgi'.
将hgweb.wsgi替换为helloworld测试脚本可以正常工作。所有软件均来自CentOS repos。
以下是error.log 的回溯
[Tue Aug 27 22:57:59 2013] [error] Traceback (most recent call last):
[Tue Aug 27 22:57:59 2013] [error] File "/var/www/vhosts/hg.xxxxx.net/cgi-bin/hgweb.wsgi", line 14, in <module>
[Tue Aug 27 22:57:59 2013] [error] from mercurial import demandimport; demandimport.enable()
[Tue Aug 27 22:57:59 2013] [error] ImportError: No module named mercurial
回溯表明服务器上没有安装mercurial(对于python),您需要安装python绑定,然后脚本才能使用它。
如果您没有管理员权限,则必须与管理员联系,否则您可以尝试,在服务器上运行:
sudo pip install mercurial
更新
这里有一篇关于在centos上设置mercurial的有趣博客文章,建议您需要从源代码安装和构建python-mercurial绑定。