Agregar usuarios para acceso a Subversion usando autentificación Apache httpd

Actualmente existen varios esquemas de autentificación para los repositorios de Subversion, desde el uso de un archivo de passwords (a la manera del clásico /etc/passwd) a comunicación con servidores LDAP.

En el caso más simple de autentificación utilizamos el modelo de seguridad del servidor Apache, considerando que Subversion en si mismo funciona directamente como un módulo del servidor Web, facilitando el acceso. Por lo tanto, en la configuración del directorio virtual de svn encontramos algo como lo siguiente:

<Location /svn/Pruebas>
DAV svn
SVNParentPath /var/svn/Pruebas
AuthType Basic
AuthName "Repositorio Subversion de pruebas"
AuthUserFile /etc/svn-auth
Require valid-user
</Location>

En este extracto del archivo subversion.conf vemos que estamos utilizando autentificación básica, y que el archivo sobre el cual debemos autentificar es /etc/svn-auth.

Para crear un usuario o modificar su contraseña, ejecutamos el siguiente comando:

htpasswd /etc/svn-auth usuario

donde usuario es el login que queremos crear o cambiar. A continuación htpasswd preguntará dos veces la contraseña, y con eso el usuario ya tiene acceso al repositorio. Este último está configurado de modo que el usuario apache puede entrar y modificar contenidos (por supuesto autentificando antes), por lo que no necesitamos más cambios para terminar esta configuración.