Je suis en train de configurer deux instances de Trac afin d'y accéder via un navigateur chacun avec un autre url:comportement bizarre avec deux instances de Trac sous Apache + mod_wsgi
http://trac.domain.com/trac1
http://trac.domain.com/trac2
première fois que je les accéder à la réponse Apache est bien, je reçois le premier Trac avec/trac1, puis le second dans/trac2. Mais quand j'accède à/trac1 à nouveau, il continue à me donner le contenu du second Trac (/ trac2). Si je touche le fichier de configuration .wsgi pour le premier (disons trac1.wsgi), puis demande à nouveau/trac1 avec le navigateur, j'obtiens à nouveau le contenu attendu.
Le cas contraire fonctionne égal: accès/trac2, puis/trac1, puis/trac2 continue à donner le contenu de/trac1 jusqu'à ce que je touche trac2.wsgi ...
Il semble donc Python, mod_wsgi et/ou Apache sont des résultats de mise en cache ou quelque chose. Je ne suis pas sysadmin et ne peux pas aller plus loin sur cette question.
Les fichiers .wsgi et http.conf pour Apache:
trac1.wsgi:
import os
os.environ['TRAC_ENV'] = '/home/myuser/trac/trac1'
os.environ['PYTHON_EGG_CACHE'] = '/tmp/'
import trac.web.main
application = trac.web.main.dispatch_request
trac2.wsgi:
import os
os.environ['TRAC_ENV'] = '/home/myuser/trac/trac2'
os.environ['PYTHON_EGG_CACHE'] = '/tmp/'
import trac.web.main
application = trac.web.main.dispatch_request
http.conf :
<VirtualHost trac.domain.com:8080>
WSGIScriptAlias /trac1 /home/myuser/public_html/trac1/apache/trac1.wsgi
WSGIScriptAlias /trac2 /home/myuser/public_html/trac2/apache/trac2.wsgi
<Directory /home/myuser/public_html/trac1/apache>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
<Location "/trac1">
AuthType Basic
AuthName "Trac1 Trac Auth"
AuthUserFile /home/myuser/public_html/trac1/apache/trac1.htpasswd
Require valid-user
</Location>
<Directory /home/myuser/public_html/trac2/apache>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
<Location "/trac2">
AuthType Basic
AuthName "Trac2 Trac Auth"
AuthUserFile /home/myuser/public_html/trac2/apache/trac2.htpasswd
Require valid-user
</Location>
</VirtualHost>
Si quelqu'un suggère une configuration alternative ou autre, il sera également le bienvenu. Merci!
Hector
Il est pas aussi simple que ce que la section « Remarque importante » a dit et par lui-même la configuration qu'ils décrivent ne devrait pas poser un problème. Donc, je ne suis pas d'accord avec leur exemple précis. Je vous suggère de lire "http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac" et "http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Application_Environment_Variables". Ce dernier décrit le problème de l'utilisation de os.environ. Pour Trac, cependant, cela ne devrait poser problème que lorsque vous mélangez TRAC_ENV et TRAC_ENV_PARENT_DIR. Réponse courte pour éviter les problèmes est utilisé le mode démon mod_wsgi comme indiqué dans le premier lien. –