Trac / Apache显示脚本内容(WSGI)

我正在苦苦做一个新的Trac 1.0.3安装(在通过easy_install安装相同的问题之后,从源码安装)。

  • Debian 7.8
  • Apache 2.2.22
  • Python 2.7.3
  • Genshi 0.6
  • sqlite 3.7.13
  • WSGI 3.3

我在/var/trac创build了Trac环境, /var/trac /var/trac/cgi-bin保存了trac.wsgi 。 我已经更新了Apache … LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so和我的网站的conf …

 WSGIScriptAlias /trac /var/trac/cgi-bin/trac.wsgi <Directory /var/trac/cgi-bin> WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all </Directory> <Location /trac> Order deny,allow Allow from all </Location> 

我的/var/trac/log/trac.log (这是空的)在trac.iniconfiguration…

 [logging] log_file = /var/trac/log/trac.log log_level = DEBUG log_type = file 

我的Apache错误日志…

 [Thu Jan 29 18:38:46 2015] [debug] util_ldap.c(1990): LDAP merging Shared Cache conf: shm=0x7f4d8661f0f0 rmm=0x7f4d8661f148 for VHOST: hostname.example.net [Thu Jan 29 18:38:46 2015] [info] APR LDAP: Built with OpenLDAP LDAP SDK [Thu Jan 29 18:38:46 2015] [info] LDAP: SSL support available [Thu Jan 29 18:38:46 2015] [debug] mod_wsgi.c(10080): mod_wsgi (pid=12945): Socket for 'My-WSGIDaemonProcess' is '/var/run/apache2/wsgi.12945.0.1.sock'. [Thu Jan 29 18:38:46 2015] [notice] Apache/2.2.22 (Debian) mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations [Thu Jan 29 18:38:46 2015] [info] mod_wsgi (pid=12951): Starting process 'My-WSGIDaemonProcess' with uid=33, gid=33 and threads=15. [Thu Jan 29 18:38:46 2015] [info] mod_wsgi (pid=12951): Initializing Python. [Thu Jan 29 18:38:46 2015] [info] Server built: Dec 23 2014 22:48:32 [Thu Jan 29 18:38:46 2015] [debug] worker.c(1757): AcceptMutex: sysvsem (default: sysvsem) [Thu Jan 29 18:38:46 2015] [info] mod_wsgi (pid=12952): Initializing Python. [Thu Jan 29 18:38:46 2015] [info] mod_wsgi (pid=12953): Initializing Python. [Thu Jan 29 18:38:46 2015] [info] mod_wsgi (pid=12952): Attach interpreter ''. [Thu Jan 29 18:38:46 2015] [info] mod_wsgi (pid=12951): Attach interpreter ''. [Thu Jan 29 18:38:46 2015] [info] mod_wsgi (pid=12953): Attach interpreter ''. 

Apache访问日志中的浏览器请求…

 1.2.3.4 - - [29/Jan/2015:18:44:20 -0500] "GET /trac HTTP/1.1" 304 188 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:35.0) Gecko/20100101 Firefox/35.0" 

问题: Apache服务于/var/trac/cgi-bin/trac.wsgi内容 …我看到Python代码。

我不知道我哪里错了,但你的帮助将不胜感激。 谢谢。

更新1:正如你可以看到上面的信息围绕做一个GET /trac请求。 我发现虽然做了一个GET /trac/login请求结果在Apache抛出一个HTTP 500

更新2:我禁用了错误configuration的LDAP身份validation,并且UPDATE 1中的HTTP 500错误现在是HTTP 404

在您的cgi-bin指令中,尝试添加“ExecCGI”选项并添加cgi脚本处理程序:

 <Directory /var/trac/cgi-bin> WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all Options ExecCGI SetHandler cgi-script </Directory> 

解决了我的问题…

Apacheconfiguration…

 WSGIScriptAlias / /var/trac/cgi-bin/trac.wsgi <Directory /var/trac/cgi-bin> AllowOverride None WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all Options ExecCGI </Directory> 

比较这个configuration与问题中发布的configuration。