Trac authentification LDAP (apache) - Logiciels d'entreprise - Systèmes & Réseaux Pro
Marsh Posté le 20-07-2007 à 22:10:04
Je pense que t'as config LDAP est ok.
Ton erreur est due au fait que tu n'as pas de fichier VERSION dans le répertoire de ton projet Trac.
Perso le fichier VERSION contient chez moi "Trac Environment Version 1"
Un autre truc aussi... Il manque NONE à la fin de la ligne AuthLDAPURL "....." NONE
Ca dit que tu n'utilise pas SASL pour l'authentification.
Essaye ca et dit moi quoi
Julien
Marsh Posté le 20-07-2007 à 23:02:00
hep, en fait le probleme venait d autre part...
et meme exactement d ici :
PythonOption TracEnv /opt/trac-test/NOMDUPROJET
PythonOption TracUriRoot /trac-test/NOMDUPROJET
bon, du coup pour l instant l auth ne marche que sur un seul projet, mais je travaille pour que ca marche sur tous...
et aussi il y avait le fait que la demande d auth se faisait tout de suite, mais cela etait du a la non presence d utilisateur anonymous..
enfin bref, j ai bien avancer, mais j ai pas fini !!
merci kan meme, j ai rajoute NONE ;-)
Marsh Posté le 21-07-2007 à 19:39:58
Je te copie ma config si tu veux. Pour que ca marche pour plusieurs projet il faut changer les options.
<VirtualHost *:80>
ServerName trac.example.com
DocumentRoot /var/lib/trac
<Location />
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/lib/trac
PythonOption TracUriRoot /
</Location>
<LocationMatch "/([^/]+)/login">
AuthType Basic
AuthName "Trac login"
AuthBasicProvider "ldap"
AuthLDAPURL "ldap://192.168.100.3:389/ou=tracusers,ou=trac,dc=example,dc=com?uid?sub?(objectClass=account)" NONE
AuthzLDAPAuthoritative Off
Require valid-user
</LocationMatch>
</VirtualHost>
Marsh Posté le 22-07-2007 à 16:25:29
yes !
c etait ca en fait...
si on met l option TracEnv, il faut mettre le chemin d un projet, si on met TracEnvParentDir, on peut mettre le dossier parents des projets..
Merki !!
Marsh Posté le 23-07-2007 à 20:16:50
Bon, prochaine etape : l'authentification anonyme..
Pour ca, il faut mettre 2 3 options en plus, nottament :
AuthBasicProvider anon ldap
ldap pour LDAP, et anon pour anonyme..
Si je met juste ldap, je ne peux m'authentifier qu'avec les users LDAP, si je met juste anon, je peux acceder a tout, mais en anonyme (et du coup je ne peux rien modifer)
Mon but est de pouvoir ouvrir la page en anonyme, lire les infos, changer de projet, de page... tout ca en restant anonyme ; puis de se logger si on veut (pour modifier une page du wiki par ex.).
Mon probleme est que avec cette option, je suis soit anonyme, soit loggé, mais pas les 2...
- Si je me log sans login//pass (OK a la fenetre de log), je suis en anonyme, mais impossible de se logger pour faire des modif. ("Internal Error : Authentication information not available. Please refer to the installation documentation." )
- Si je me log avec un login//pass LDAP, je suis loggé avec cet user, mais pas possible de me delogger.
quelqu'un aurait une petite idée ?? Ou pourrait me dire au moins si c est possible ou pas..
Marsh Posté le 23-07-2007 à 20:31:57
<Location /trac-test/>
SetHandler mod_python
PythonOption TracEnvParentDir /opt/trac-test
PythonOption TracUriRoot /trac-test
PythonHandler trac.web.modpython_frontend
</Location>
<LocationMatch "/([^/]+)/login">
Order deny,allow
Deny from all
Allow from 192.168.0.0/17 192.168.128.0/17
AuthType Basic
AuthName "Trac"
AuthBasicProvider ldap
AuthLDAPURL "ldap://192.168.0.101:3268/DC=agiledss,DC=local?sAMAccountName" NONE
AuthLDAPBindDN "CN=Administrator,CN=Users,DC=agiledss,DC=local"
AuthLDAPBindPassword "###admin's password###"
authzldapauthoritative Off
require valid-user
require group CN=TracUsers,CN=Users,DC=agiledss,DC=local
Anonymous_MustGiveEmail off
Anonymous_VerifyEmail off
Anonymous_LogEmail off
Anonymous_NoUserID on
Anonymous anonymous
</LocationMatch>
Marsh Posté le 20-07-2007 à 21:06:21
Bonjour,
J'essaie d'authentifier mes utilisateurs Trac avec mon LDAP (MS Active Directory)
J'ai l'impression que je ne suis vraiment pas loin, mais j'ai un probleme de config de apache2.2
Quand j'accede a la page de mon serveur trac, j ai une pop up qui me demande mon login // password.
Si j'entre 3 mauvais mot de passes, la page affiche : "Authorization Required"..
Si je rentre un login//pass qui est contenu dans LDAP, j'obtiens une erreur 500 : Internal Server Error.
Cela indique (du moins, je pense...) que je peux m'authentifier, mais que j'ai une erreur dans mon httpd.conf
Voici la partie du httpd.conf que je modifie
<Location /trac-test/>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /opt/trac-test/
PythonOption TracUriRoot /trac-test/
Order deny,allow
Deny from all
Allow from all
AuthType Basic
AuthName "Trac"
AuthBasicProvider "ldap"
AuthLDAPURL "ldap://192.168.0.101:3268/DC=agiledss,DC=local?sAMAccountName?sub?(objectClass=user)"
AuthLDAPBindDN "CN=Administrator,CN=Users,DC=agiledss,DC=local"
AuthLDAPBindPassword "###(Administrator's password)###"
authzldapauthoritative Off
require valid-user
require group CN=VPNUsers,CN=Users,DC=agiledss,DC=local
</Location>
Et voici le /var/log/httpd/error_log quand je me connecte avec le bon couple login//pass
toute les lignes sont precedees de : [Fri Jul 20 11:53:04 2007] [error] [client 192.168.0.126] (retirée pour la visibilité)
PythonHandler trac.web.modpython_frontend: Traceback (most recent call last):
PythonHandler trac.web.modpython_frontend: File "/usr/lib/python2.4/site-packages/mod_python/apache.py", line 299, in HandlerDispatch\n result = object(req)
PythonHandler trac.web.modpython_frontend: File "/usr/lib/python2.4/site-packages/trac/web/modpython_frontend.py", line 87, in handler\n gateway.run(dispatch_request)
PythonHandler trac.web.modpython_frontend: File "/usr/lib/python2.4/site-packages/trac/web/wsgi.py", line 87, in run\n response = application(self.environ, self._start_response)
PythonHandler trac.web.modpython_frontend: File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 377, in dispatch_request\n env = _open_environment(env_path, run_once=run_once)
PythonHandler trac.web.modpython_frontend: File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 58, in _open_environment\n env_cache[env_path] = open_environment(env_path)
PythonHandler trac.web.modpython_frontend: File "/usr/lib/python2.4/site-packages/trac/env.py", line 434, in open_environment\n env = Environment(env_path)
PythonHandler trac.web.modpython_frontend: File "/usr/lib/python2.4/site-packages/trac/env.py", line 126, in __init__\n self.verify()
PythonHandler trac.web.modpython_frontend: File "/usr/lib/python2.4/site-packages/trac/env.py", line 174, in verify\n fd = open(os.path.join(self.path, 'VERSION'), 'r')
PythonHandler trac.web.modpython_frontend: IOError: [Errno 2] No such file or directory:'/opt/trac-test/VERSION'
Je ne suis pas tres a l'aise avec Apache.. c'est peut etre une erreur stupide, toujours est il que je ne la trouve pas..
Quelqu'un peut il m'aider ?
Merci d'avance,
Ben