howto: integrando subversion con zentyal ( el antiguo ebox )

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 🙂

Marcar como favorito enlace permanente.

Un comentario

  1. 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!

Deja una respuesta