En el trabajo usamos bastante el software Zentyal para gestionar servidores, de hecho me saqué la certificación (otro dÃa hablaré de eso, porque está bastante bien).
Una de las cosas que más me gusta es que usa LDAP y es sencillo de integrar con muchas apps. En etse caso os propongo una receta para integrar un repositiorio SVN con el sistema de usuarios de Zentyal.
Lo primero es instalar todos los paquetes necesarios. Vamos a obviar los paquetes de zentyal que proveen la gestión de usuarios y la gestión del webserver. Deberemos instalar los siguientes paquetes extra:
apt-get install libapache2-svn subversion
Y activamos la auth LDAP de apache:
a2enmod authnz_ldap
Lo siguiente es decidir donde vamos a poner nuestro SVN. En este caso voy a usar un directorio en /srv ya que Zentyal usa esa misma estructura.
mkdir /srv/svn
Creamos el repositorio con la herramienta svnadmin
sudo svnadmin create /srv/svn
Ajustamos los permisos para el usuario de apache (www-data)
sudo chown -R www-data:www-data /srv/svn
sudo chmod -R g+ws /srv/svn
Ahora necesitamos crear una entrada para webserver en nuestro zentyal. Apuntamos el dominio que queramos y el soporte SSL serÃa muy recomendable (para que la información de usuario y contraseña no viaje en plano por la red)
También tenemos que obtener los datos del LDAP en el apartado Office>Usuarios y Grupos>Opciones de configuración del LDAP. Aquà debeos apuntar el valor del DN RaÃz (en el ejemplo  cn=ebox,dc=midominio,dc=com), la contraseña, y los DN de usuarios y grupos.
Ahora ya tenemos todos los datos para crea un fichero de configuración para apache. Zentyal tiene desigando un lugar para los ficheros de configuración personalizada de apache en /etc/apache2/sites-available/user-ebox-DOMINIO/. En esta caso vamos a crear el fichero /etc/apache2/sites-available/user-ebox-svn.midominio.com/svn.conf con la configuración para activar el soporte SVn e integrar la autenticación contra el LDAP de Zentyal, editar lo que corresponda.
<Location /> DAV svn SVNPath /srv/svn #Aquà podrÃamos usar SVNParent AuthName "Zentyal LDAP user required" AuthType Basic AuthBasicProvider ldap file AuthBasicAuthoritative On AuthzLDAPAuthoritative off #Editar dominio AuthLDAPURL ldap://localhost:389/ou=Users,dc=midominio,dc=com?uid #Editar dominio y contraseña AuthLDAPBindDN cn=ebox,dc=midominio,dc=com AuthLDAPBindPassword "Secreto" # Fichero de passwords para permitir el "require valid-user" AuthUserFile /dev/null # Primero que sea un usuario existente... pendiente una autz mas fina require valid-user # # require valid-user #require group # </Location>
Y reiniciamos apache
service apache2 restart
/etc/init.d/ebox webserver restart
Ahora ya podemos probar nuestro svn, por ejemplo con el navegador, veremos que nos pide user y pass
y después nos muestra nuestro nuevo repositorio.
Si queremos ver que pasa podemos consultar los logs de apache con multitail:
multitail /var/log/apache2/svn.midominio.com-access.log /var/log/apache2/svn.midominio.com-error.log
Espero que le sea de ayuda a alguien 🙂
Do you mind if I quote a couple of your articles as long as I provide credit and sources back to your site? My website is in the very same niche as yours and my visitors would truly benefit from some of the information you present here. Please let me know if this ok with you. Appreciate it!