Instalación de un servidor de Subversion en Ubuntu

Subversion es una herramienta de control de versiones muy habitual en entornos de desarrollo. Ofrece características que permiten trabajar de forma concurrente a múltiples desarrolladores en un mismo proyecto minimizando los posibles problemas debidos a la concurrencia, y permitiendo también el trabajo desde diferentes ubicaciones. También mantienen un histórico de los cambios realizados en cada archivo, pudiendo realizar comparaciones entre versiones y controlando qué cambios se han realizado y por quién. Reciéntemente he comenzado a escribir la tesis, un trabajo de cierta envergadura en el que la pérdida de información puede suponer la pérdida de semanas de trabajo. Para evitar estos problemas estoy utilizando Subversion como repositorio de información en el que diariamente registro los avances realizados en los archivos LaTex, gráficos, bibliografía, etc.

En este post explico de forma sencilla cómo montar en Ubuntu un sistema de control de versiones en Ubuntu. El primer paso consiste en instalar los paquetes correspondientes.

sudo apt-get install subversion subversion-tools

A continuación crearemos las carpetas donde se guardarán los repositorios de información de SVN, en nuestro caso en /var/lib/svn.

sudo mkdir -p /var/lib/svn

Creamos también un repositorio con la estructura básica de Subversion para guardar el proyecto que queremos versionar, en este caso la tesis en la que estoy trabajando.

sudo mkdir -p /var/lib/svn/tesis
sudo svnadmin create /var/lib/svn/tesis
sudo svn mkdir /var/lib/svn/tesis/trunk -m "Trunk"
sudo svn mkdir /var/lib/svn/tesis/tags -m "Tags"
sudo svn mkdir /var/lib/svn/tesis/branches -m "Branches"

Una vez creado el repositorio ya es posible utilizar Subversion para realizar el control de versiones. Es posible utilizar directamente Subversion desde la propia máquina en la que se ha instalado el repositorio, pero lo habitual es instalar Subversion en una máquina y trabajar desde otras. Para ello es necesario instalar Apache y utilizar un módulo WebDav para Subversion.

sudo apt-get install apache2 libapache2-svn

Una vez instalado Apache y el módulo hay que configurar Apache para que haga uso de él. Esto se hace modificando el archivo
/etc/apache2/mods-available/dav_svn.conf, descomentando algunas de sus líneas para que quede tal como sigue (no se muestran los comentarios).

<location /svn>
  DAV svn
  SVNParentPath /var/lib/svn
  AuthType Basic
  AuthName "Acceso al Repositorio Subversion"
  AuthUserFile /etc/apache2/dav_svn.passwd
 
  Require valid-user
</location>

De esta forma se configura apache para que cuando se acceda a http://nombreservidor/svn se redirijan las peticiones al módulo WebDav que proporciona la conexión con Subversion. El acceso a los repositorios se controla mediante un archivo de autenticación básica ubicado en /etc/apache2/dav_svn.passwd. Para crear este archivo y autorizar a los usuarios hay que utilizar el comando htpasswd2, introduciendo a continuación la contraseña que se le quiere asignar.

sudo htpasswd2 -c /etc/apache2/dav_svn.passwd usuario
sudo chown -R www-data.www-data /var/lib/svn

A partir de este momento ya podemos utilizar los comandos de Subversion o herramientas como RapidSVN, TortoiseSVN o NetBeans para realizar el versionado de la información.

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

Los comentarios están cerrados.