miércoles, 10 de octubre de 2007

Servidor SVN junto con Apache en Ubuntu

Una herramienta importante a la hora de desarrollar un proyecto es el control de las versiones del código de nuestra aplicación. Para instalar un servidor SVN (Subversion) en una máquina con sistema operativo Ubuntu Linux tenemos que llevar a cabo las siguientes operaciones:

Primero debemos descargar los siguientes paquetes
sudo apt-get install apache2 subversion subversion-tools libapache2-svn
Descripción de los paquetes:
  • subversion: este paquete contiene todas las aplicaciones de SVN (incluyendo el servidor)
  • apache2 y libapache2-svn: con el servidor apache y el módulo libapache2-svn podremos revisar nuestros archivos vía http.
Segundo debemos crear el repositorio svn con el siguiente comando: :~$ sudo svnadmin create /home/svn

Ahora tenemos que modificar el módulo libapapache2-svn para que trabaje junto con el servidor svn. Para eso tenemos que modificar el archivo /etc/apache2/mods-available/dav_svn.conf ($sudo nano /etc/apache2/mods-available/dav_svn.conf) y colocar:

DAV svn

SVNPath /home/svn

AuthType Basic

AuthName “Repositorio Ubuntu”

AuthUserFile /etc/apache2/dav_svn_passwd
Require valid-user

AuthzSVNAccessFile /etc/apache2/svn_access_control

Ahora tenemos que crear los usuarios para el servidor. Si no hay ningún usuario creado podemos usar el siguiente comando:
sudo htpasswd2 -mc /etc/apache2/dav_svn_passwd usuario ó
sudo htpasswd -mc /etc/apache2/dav_svn_passwd usuario

Si ya hay algún usuario registrado utilizemos este:
sudo htpasswd2 -m /etc/apache2/dav_svn_passwd usuario
sudo htpasswd -m /etc/apache2/dav_svn_passwd usuario

Enseguida tendrás que crear tu clave.

Como siguiente paso pasamos a configurar el archivo ($ sudo nano
svn_access_control) de acceso al servidor SVN:
  • Creamos los grupos de usuarios:
    [groups]
    dev=user1, user2, user3
    guest=user4, user5
  • Asignamos los permisos a los grupos:
    Si queremos que cualquiera pueda ver los archivos del servidor colocamos esto
    [/]
    * = r
    Para restringir el acceso de lectura y escritura a los usuarios dentro del grupo
    dev colocamos lo siguiente:
    [/]
    dev=rw
  • Guardamos el archivo y procedemos a reiniciar el servidor apache (sudo /etc/init.d/apache2 restart).
Espero les sea de gran ayuda, cualquiera consulta mi correo danilo.dope at gmail dot com

No hay comentarios: