Instalación de Subversion y Apache en Ubuntu


Instalación de Subversion y Apache en Ubuntu


Índice de contenidos.

1. Introducción

Este tutorial muestra los pasos necesarios para instalar un Subversion accesible a través de un servidor Apache en un sistema operativo Linux (concretamente Ubuntu). Hay muchas formas de configurar el acceso y seguridad de Subversion, la que se muestra en este tutorial es una de ellas pero no necesariamente se considera la mejor.

2. Entorno.

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil Asus G50Vseries (Core Duo P8600 2.4GHz, 4GB RAM, 320 GB HD).
  • Sistema operativo: Ubuntu Desktop 8.04 (Hardy), Kernel: 2.6.24
  • Subversion 1.4.6
  • Apache 2.2.8

3. Instalación de Subversion

Para instalar subversion seguimos los pasos planteados en el siguiente tutorial de Alejandro. Instalar Subversion

Los resumimos aquí:

Creamos el usuario y grupo svn. Creamos el directorio /var/lib/svn donde almacenaremos el repositorio y le asignamos los permisos necesarios al grupo svn.

4. Instalación de Apache

Para hacer accesible nuestro subversion a través de HTTP vamos a instalar Apache. Para ello instalamos el módulo de apache-svn

5. Configuración del repositorio

Para crear el repositorio lo haremos a través de la configuración de Apache. Para ello vamos al directorio /etc/apache2/mods-enabled y editamos el fichero dav_svn.conf

Descomentamos la línea y ponemos el nombre a nuestro repositorio, por ejemplo

Habilitamos el repositorio descomentando la línea DAV svn

Indicamos el path a nuestro repositorio SVNPath /var/lib/svn/repoJuan

Habilitamos la seguridad descomentando las siguientes líneas

AuthType Basic

AuthName “Subversion Repository”

AuthUserFile /etc/apache2/dav_svn.passwd

Bloqueamos el acceso al repositorio para que no sea accedido por ningún usuario que no esté permitido

Finalmente el fichero queda así

6. Añadir usuarios al Subversion

Para añadir los usuarios con permisos de acceso a nuestro repositorio los añadimos al grupo svn de la siguiente forma:

Para que el subversion pueda gestionar las credenciales de los usuarios creamos el fichero /etc/apache2/dav_svn.passwd que anteriormente habilitamos en el fichero de configuración del repositorio dav_svn.conf (nos pedirá introducir la contraseña para el usuario):

7. Creación del repositorio

Ya únicamente nos queda crear el repositorio que configuramos anteriormente llamado repoJuan. Para ello utilizamos la herramienta svnadmin instalada anteriormente mediante el paquete subversion-tools

Una vez creado el repositorio es aconsejable crear los directorios base del subversrion trunk, tags y branches.

Si todo ha ido bien nos aparecerá algo como

Por último queda dar permisos al usuario del Apache para que pueda acceder al repositorio

Ya solo nos queda reiniciar el Apache para que coja la configuración que acabamos de montar.

Al reiniciar el Apache puede que nos de el siguiente error:

apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

Para solucionarlo editamos el fichero /etc/apache2/httpd.conf y le añadimos la línea:

Finalmente para acceder a nuestro repositorio entramos con el navegador a la dirección http://localhost/repoJuan

8. Conclusión

Como véis la instalación de Subversion y Apache no tiene mucho más misterio por lo que no hay excusas para montarlo en cualquier organización o incluso en cualquier proyecto personal que estemos realizando. De esta manera tendremos un control de versiones de nuestros archivos y estaremos siempre a salvo de pérdidas o errores.