MANUAL PARA ACCEDER AL SVN POR PAGINA WEB (APACHE-MOD_DAV_SVN)

Lo primero que tenemos que aclarar es que, obviamente, primero debemos tener un servidor SVN (Subversion) correctamente configurado y corriendo (MANUAL PARA MONTAR UN SERVIDOR SUBVERSION)

Ademas, tenemos que instalar (o tener instalado) un servidor Web Apache. Para ello podemos bajar la ultima versión de la pagina web http://www.apache.org/ .

O desde los repositorios:

apt-get install apache (Ubuntu)

aptitude install apache (Debian)

yum install apache (Centos)

Luego de configurar el servidor Apache (esto lo dejo para otro manual), debemos descargar un modulo para el servidor que hace accesible al repositorio SVN vía web. Este modulo se llama MOD_DAV_SVN. Para ello:

yum install mod_dav_svn (Centos)

aptitude install libapache2-svn (Debian/Ubuntu)

Estos módulos se instalaran directamente en el servidor apache. Si no lo hace de manera automática, hay que editar el fichero de configuración de apache (/etc/httpd/conf/httpd.conf) y en la sección “Dynamic Shared Object (DSO) Support” agregarle las siguientes lineas al final de todo

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

Una vez instalado, vamos al directorio de configuración de los módulos apache. Trabajando en Centos, se encuentra en /etc/httpd/conf.d.

Allí vamos a modificar a editar el fichero subversion.conf.

En este fichero le indicaremos al servidor web donde se encuentra el repositorio

<Location /svn>

DAV svn

SVNParentPath /opt/svn

AuthType Basic

AuthName «Autorización al repositorio»

AuthUserFile /etc/httpd/conf/svn-auth-file

Require valid-user

/Location>

Entre <> estará la definición de las opciones. En la primera linea le indicaremos con que nombre accederemos desde el explorador. En este caso sera http://x.x.x.x/svn (ya que es lo que le especificamos en el primer LOCATION).

Las opciones DAV y SVNParentPath son las obligatorios. Especialmente la segunda, ya que indicara en que directorio se encuentra nuestro repositorio SVN.

Si no marcamos las demás opciones, cualquiera que conozca la dirección IP podrá observar nuestro SVN.

svn1

Las demás opciones, harán mas seguro nuestro acceso vía web.

AuthType Basic

AuthName «Autorización al repositorio»

AuthUserFile /etc/httpd/conf/svn-auth-file

Require valid-user

Lo mas importante de estas 4 lineas es AuthUserFile. Las demás lineas indican, básicamente, que la seguridad esta habilitada. Pero sin dicha fila nada tendría sentido, ya que es ahí donde almacenaremos los usuarios y sus claves.

Para crear usuario con claves debemos estar situados en el directorio donde se creara el archivo y escribimos, la primera vez:

htpasswd -cm svn-auth-file user1

La opción -c indica que la fila sera creada, vn-auth-file es el nombre del archivo (puedes poner el que quieras) y user1 es el nombre del usuario. Veras que nos pedirá una contraseña

New password:

Re-type new password:

Adding password for user

Ya tenemos el usuario creado. A partir de este momento no es necesario agregar la opción -c al htpasswd ya que el fichero ya ha sido creado.

Ahora si, cuando queramos acceder nos pedirá usuario y contraseña.

svn2

Recordar que después de configurar todos los ficheros, es necesario reiniciar el servidor Apache:

service httpd restart (Centos)

/etc/init.d/apache2 restart (Ubuntu y Debian)

~ por chavodie en 31/07/2009.

4 respuestas to “MANUAL PARA ACCEDER AL SVN POR PAGINA WEB (APACHE-MOD_DAV_SVN)”

  1. Hola, gracias por los manuales, me ha sido de gran ayuda pero tengo un problema, despues de seguir este manual, ingreso el usuario y password y la página me devuelve un 403 Forbidden. ¿Tienes alguna idea de cual puede ser el problema?

    Muchas gracias!

    • Hola, me alegro que te hayan sido utiles los manuales. Eso es un problema de permisos del directorio. Revisa los permisos del mismoy otorgale para todos los usuarios o haz propietario de dicha carpeta al usuario svn. Saludos

  2. Efectivamente era un problema de permisos, finalmente hice propietario de la carpeta al usuario apache y funciono correctamente.

    Saludos y gracias de nuevo

  3. Estimado, muy bueno el manual, sólo que al instalarlo bajo CenOS 5.5 me daba error 403 igual que al amigo arriba… le di permisos pero nada…. buscando por ahí encontré que en la versión 1.6 de subversion en el archivo subversion.conf, en la línea SVNParentPath /opt/svn debe ser SVNPath /opt/svn ….. espero que aun les sirva y espero evitarles dolores de cabeza. Muchos saludos y ojalá sigan adelante con este proyecto del blog. Bendiciones.

Deja un comentario