Para começar, você deve ter:
WSGIProcessGroup trac
e não% {GLOBAL} como você tem.
A forma como você o possui, ainda em execução no modo incorporado e algum outro módulo do Apache ou aplicativo WSGI integrado pode estar interferindo.
Eu tenho a configuração abaixo do Apache. Os seguintes serviços estão em cada porta:
8022 - Apache. Testing port, in the long run it will be port 80.
8002 - XDV, a themeing proxy which sits in front of a number of other services.
8202 - Trac, Python based bug tracker, which is one of the services xdv needs to sit in front of, hence the separation.
8082 - Plone CMS. Not shown in apache. XDV proxies requests to it.
A idéia é que todos os pedidos vêm via Apache (8022), através do proxy xdv (8002), que aplica um tema a cada uma das fontes de conteúdo (8082 & 8202)
No entanto, notei que durante o teste, se eu acessar o site do Trac via 8202, os erros do site 8022 com RuntimeError: instance.__dict__ not accessible in restricted mode
e não funcionarão novamente até que o Apache seja reiniciado. O 8202 ainda funciona independentemente de o 8022 estar com erro ou acessado.
Isso parece relacionado a esse bug do Trac . Mas eu não estou usando mod_python e WSGIProcessGroup e WSGIApplicationGroup são o mesmo valor.
Por que isso está acontecendo Existe uma maneira melhor de configurar o Apache? Ou seja, o elemento wsgi?
Em uma iteração anterior dessa configuração estava dentro do host 8022, mas isso significava que também servia dessa porta e evitava o proxy
<VirtualHost foo.bar.com:8022>
ServerName foo.bar.com
ServerAlias foo.bar.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost On
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^/(.*) http://0.0.0.0:8002/$1 [P]
</VirtualHost>
<VirtualHost foo.bar.com:8202>
ServerName foo.bar.com
ServerAlias foo.bar.com
<Directory "/home/web/foo/parts/trac/tracwsgi/cgi-bin">
WSGIDaemonProcess trac stack-size=524288 python-path=/usr/lib/python2.5/site-packages
WSGIScriptAlias /trac /home/web/foo/parts/trac/tracwsgi/cgi-bin/trac.wsgi
WSGIProcessGroup %{GLOBAL}
WSGIApplicationGroup %{GLOBAL}
Options +Indexes FollowSymLinks
AllowOverride None
Allow from all
Order allow,deny
</Directory>
<Location "/trac">
AuthBasicProvider ldap
AuthType Basic
AuthzLDAPAuthoritative off
AuthName "Login"
AuthLDAPURL "ldap://127.0.0.1:389/dc=foo-bar,dc=org?uid"
AuthLDAPBindDN "cn=admin, dc=foo-bar, dc=org"
AuthLDAPBindPassword secretword
require valid-user
</Location>
</VirtualHost>
Para começar, você deve ter:
WSGIProcessGroup trac
e não% {GLOBAL} como você tem.
A forma como você o possui, ainda em execução no modo incorporado e algum outro módulo do Apache ou aplicativo WSGI integrado pode estar interferindo.
Tags python apache-2.2 mod-wsgi trac