Changes between Version 2 and Version 3 of TracModWSGI


Игнорировать:
Время:
10 апр. 2011 г., 17:54:27 (15 лет назад)
Автор:
trac
Комментарий:

--

Обозначения:

Без изменений
Добавлено
Удалено
Изменено
  • TracModWSGI

    v2 v3  
    7474''Note: using mod_wsgi 2.5 and Python 2.6.1 gave an Internal Server Error on my system (Apache 2.2.11 and Trac 0.11.2.1). Upgrading to Python 2.6.2 (as suggested [http://www.mail-archive.com/modwsgi@googlegroups.com/msg01917.html here]) solved this for me[[BR]]-- Graham Shanks''
    7575
     76== Apache Basic Authentication for Trac thru mod_wsgi ==
     77
     78Per the mod_wsgi documentation linked to above, here is an example Apache configuration that a) serves the trac from a virtualhost subdomain and b) uses Apache basic authentication for Trac authentication.
     79
     80
     81If you want your trac to be served from e.g. !http://trac.my-proj.my-site.org, then from the folder e.g. {{{/home/trac-for-my-proj}}}, if you used the command {{{trac-admin the-env initenv}}} to create a folder {{{the-env}}}, and you used {{{trac-admin the-env deploy the-deploy}}} to create a folder {{{the-deploy}}}, then:
     82
     83create the htpasswd file:
     84{{{
     85cd /home/trac-for-my-proj/the-env
     86htpasswd -c htpasswd firstuser
     87### and add more users to it as needed:
     88htpasswd htpasswd seconduser
     89}}}
     90(for security keep the file above your document root)
     91
     92create this file e.g. (ubuntu) {{{/etc/apache2/sites-enabled/trac.my-proj.my-site.org.conf}}} with these contents:
     93
     94{{{
     95<Directory /home/trac-for-my-proj/the-deploy/cgi-bin/trac.wsgi>
     96  WSGIApplicationGroup %{GLOBAL}
     97  Order deny,allow
     98  Allow from all
     99</Directory>
     100
     101<VirtualHost *:80>
     102  ServerName trac.my-proj.my-site.org
     103  DocumentRoot /home/trac-for-my-proj/the-env/htdocs/
     104  WSGIScriptAlias / /home/trac-for-my-proj/the-deploy/cgi-bin/trac.wsgi
     105  <Location '/'>
     106    AuthType Basic
     107    AuthName "Trac"
     108    AuthUserFile /home/trac-for-my-proj/the-env/htpasswd
     109    Require valid-user
     110  </Location>
     111</VirtualHost>
     112
     113}}}
     114
     115
     116(for subdomains to work you would probably also need to alter /etc/hosts and add A-Records to your host's DNS.)
     117
    76118== Trac with PostgreSQL ==
    77119
     
    90132
    91133== Getting Trac to work nicely with SSPI and 'Require Group' ==
    92 If like me you've set Trac up on Apache, Win32 and configured SSPI, but added a 'Require group' option to your apache configuration, then the SSPIOmitDomain option is probably not working.  If its not working your usernames in trac are probably looking like 'DOMAINuser' rather than 'user'.
     134If like me you've set Trac up on Apache, Win32 and configured SSPI, but added a 'Require group' option to your apache configuration, then the SSPIOmitDomain option is probably not working.  If its not working your usernames in trac are probably looking like 'DOMAIN\user' rather than 'user'.
    93135
    94136This WSGI script 'fixes' things, hope it helps:
     
    101143
    102144def application(environ, start_response):
    103     if "\" in environ['REMOTE_USER']:
    104         environ['REMOTE_USER'] = environ['REMOTE_USER'].split("\", 1)[1]
     145    if "\\" in environ['REMOTE_USER']:
     146        environ['REMOTE_USER'] = environ['REMOTE_USER'].split("\\", 1)[1]
    105147    return trac.web.main.dispatch_request(environ, start_response)
    106148}}}