Ahora vamos a cambiar el sistema de usuarios de trac que teníamos por defecto (el de htpasswd de apache) por uno que va a usar la base de datos de trac.
Lo primero será descargar el plugin y descomprimirlo en algún sitio del servidor. AccountManager Plugin
Lo descomprimimos y entramos en el directorio
root@epsilon-noc:/var/trac/capa8/plugins# unzip acct_mgr-0.4.4-15120.zip root@epsilon-noc:/var/trac/capa8/plugins# cd acct_mgr-0.4.4/
Ahora vamos a generar el .egg y moveremos el .egg en el directorio de plugins de nuestro proyecto trac
root@epsilon-noc:/var/trac/capa8/plugins/acct_mgr-0.4.4# ./setup.py bdist_egg root@epsilon-noc:/var/trac/capa8/plugins/acct_mgr-0.4.4# cp dist/TracAccountManager-0.4.4-py2.7.egg /var/trac/capa8/plugins/
Ahora añadiremos unas líneas en el fichero de configuración del proyecto trac
root@epsilon-noc:/var/trac/capa8/conf# vi trac.ini [components] ; be sure to enable the component acct_mgr.db.SessionStore = enabled ; choose one of the hash methods acct_mgr.pwhash.htdigesthashmethod = enabled acct_mgr.pwhash.htpasswdhashmethod = enabled trac.web.auth.loginmodule = disabled [account-manager] password_store = SessionStore ; choose one of the hash methods with corresponding supplemental option hash_method = HtDigestHashMethod db_htdigest_realm = TracDbRealm ;hash_method = HtPasswdHashMethod ;db_htpasswd_hash_type = sha
Antes de guardar el fichero, nos aseguramos que tenemos la sesión iniciada con el administrador de trac, ya que sino nos dará algunos dolores de cabeza :P
Vamos a admin en el trac > Conectores y veremos que ahora aparece TracAccountManager 0.4.3, lo desplegamos, lo marcamos todo y le damos a aplicar los cambios.
Si nos fijamos, ahora en admin aparece un nuevo menú a la izquierda que es accounts y en users añadimos los usuarios que queramos que accedan en el trac.
Ahora vamos al fichero de configuración de apache y comentamos las líneas referentes a la Location login
# < Location /login > # AuthType Basic # AuthName "Servidor trac Capa8" # AuthUserFile /var/trac/users.conf # Require valid-user # < /Location >
Guardamos y recargamos apache.
Si todo va bien, ahora sigue apareciendo login, pero al momento de pulsar nos sale un bonito menú de login! :D
Recuerdo, que tal como se dijo en el post anterior, que para añadir un usuario al rol de administrador se usaba ésta línea
root@epsilon-noc:/var/trac/capa8/conf# trac-admin /var/trac/capa8 permission add blackhold TRAC_ADMIN
Aunque también se puede hacer por la interfaz web en admin > permisos :P