Como instalar subversion en Ubuntu server

Veremos como instalar subversion en ubuntu server, es decir crearemos un subversion linux server. El control de versiones es algo casi indispensable para llevar a cabo nuestros proyectos de desarrollo. Nos permite que varios usuarios puedan trabajar en el mismo proyecto al mismo tiempo, desahacer cambios y tener todo centralizado en un único sitio.

Cómo funciona el svn en un subversion server?

Sin entrar en tecnicismos, el servidor de svn (subversion server) tiene un repositorio ( un proyecto ) el cual nos descargaremos a nuestro pc con checkout. Para ello tendremos que meter la dirección http, el usuario y contraseña. Aunque hay una manera de hacerlo para red local no es aconsejable.

Una vez descargado trabajamos con nuestro proyecto y lo tendremos que volver a subir con el comando commit. Antes de subirlo, si estamos trabajando con mas compañeros deberíamos hacer update, para que en nuestro proyecto se acualicen los archivos que han modificado nuestros compañeros. Si hay conflictos, es decir, si un compañero ha modificado el archivo file.txt y nosotros también, el svn nos preguntará que hacemos si conservamos el viejo o subimos el nuevo.

Instalación

Será necesario apache2 con lo cual si no lo tienes instalado lo instalas con

sudo apt-get install apache2

Para instalar subversion en ubuntu server es nesesario instalar los siguientes paquetes

sudo apt-get install subversion subversion-tools

También es necesario instalar un módulo para apache:

sudo apt-get install libapache2-svn

Luego será necesario crear un grupo para los usuarios con permisos al svn. Para ello creamos el grupo subversion con:

sudo groupadd subversion

Luego agregamos el usuario que queramos al grupo

sudo usermod -G subversion myuser1.

Luego necesitaremos también crear el archivo que contengan los usuarios que les hemos dado permiso al svn con

sudo htpasswd -c /etc/apache2/dav_svn.passwd myuser1

Como puedes observar tiene la opción -c que es para que cree el fichero. Si este está creado omites esta opción -c

Crear un repositorio

Lo normal es que tengamos un servidor con muchos proyectos. En este caso guardaremos los repositorios en la carpeta /var/svn. Dentro de svn guardaremos los repositorios nuevos, por tanto para crear un nuevo repositorio creamos primero el directorio, y luego invocamos el comando para crear el repositorio, por ejemplo para un repositorio llamado test sería:

sudo mkdir /var/svn/test
sudo svnadmin create /var/svn/test

Luego creamos el archivo de configuración de los repositorios con

sudo nano /etc/apache2/mods-available/dav_svn.conf

con el siguiente contenido:

<Location /svn/test>
DAV svn
SVNPath /var/svn/test
SVNIndexXSLT "/svnindex.xsl"
AuthType Basic
AuthName "test"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>

Luego agregamos los permisos a la carpeta con:

sudo chown -R www-data:subversion /var/svn/test/
sudo chmod -R 770 /var/svn/test/

Si quisieramos agregar mas repositorios pues copiamos y pegamos este código cambiando la ubicación del nuevo repositorio. Luego reiniciamos el apache con:

sudo service apache2 restart.

Acceder al repositorio

Para acceder a nuestro repositorio, es decir hacer un checkout es con dirección_servidor/svn/test. Si todo ha ido bien nos pedirá el usuario y contraseña que hemos asignado al archivo htpasswd.

Si es la primera vez la carpeta que hemos descargado estará vacía. Metemos en ella los archivos que sea menester y hacemos commit para enviar los archivos al repositorio del servidor.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s