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.
Los comentarios están cerrados.