Instalar un servidor de Subversion (SVN) en Ubuntu o Debian

Muchos de vosotros, estáis hartos de ver desde que estáis en el mundo de Ubuntu, información sobre los servidores Subversions. ¿ Y que son ? , pues lo explicare de un modo muy sencilo, para que a partir de ahora, sepas lo que es:

" Subversion " , es un sistema de control de versiones, o lo que es lo mismo, un sistema para REVISAR Y EDITAR UN SOTWARE, de tal modo que si tienes agregado este repositorio, la version del programa que tengas instalado ira experimentando automáticamente todos los cambios que se realicen y modificaciones. 

Por tanto, los respositorios subversion, son muy utiles para los desarrolladores, y también como se da el caso, para todos aquellos betatesters, que quieran ir probando las modificaciones que se van realizando en dicho subversion, yo personalmente, he usado estos repositorios para probar las últimas versiones de VLC.

Si quieres instalar un servidor Subversion, en Ubuntu o Debían ....

Primer paso: Instalación de las herramientas necesarias

Instalamos los paquetes que nos hacen falta para crear repositorios:

sudo apt-get install subversion subversion-tools

Necesitamos dos módulos de apache instalados en nuestro servidor, si haremos uso de svn a través de internet… (obvio, al menos para mí)

Los módulos son dav y dav_svn. Para comprobar que los tenemos:

a2enmod dav
a2enmod dav_svn

Si no estaban instalados, los instalamos:

sudo apt-get install libapache2-svn

Segundo paso: Creación de grupos y usuarios permitidos

Creamos un grupo subversion para manejar fácilmente los permisos

sudo groupadd subversion

Añadimos a dicho grupo los usuarios que queremos que usen de algún modo nuestro servidor

sudo usermod -G subversion user1
sudo usermod -G subversion user2
sudo usermod -G subversion user3

Ahora pasamos a crear los ficheros de acceso, que guardan los nombres y contraseñas de esos usuarios que harán uso del repositorio:

sudo htpasswd -c /etc/apache2/dav_svn.passwd user1
sudo htpasswd /etc/apache2/dav_svn.passwd user2
sudo htpasswd /etc/apache2/dav_svn.passwd user3

El primero lleva -c por la simple razón de que crea el fichero. Los demás se añaden a él.
Cada vez que introduzcamos un usuario, se nos pedirá su nueva contraseña.

Tercer paso: Creación de un repositorio

Ahora creamos la carpeta donde ubicaremos el repositorio:

sudo mkdir /home/SVN
sudo svnadmin create /home/SVN

Y le damos los correspondientes permisos

sudo chown -R www-data:subversion /home/SVN/
sudo chmod -R 770 /home/SVN/

Cuarto paso: Configurando Apache para los repositorios

Pasamos a configurar el fichero que gestiona el módulo de apache para el svn:

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

Dentro ponemos esta configuración:

##
# SVN
#
<Location /svn>
DAV svn
SVNPath /home/SVN
AuthType Basic
AuthName "Repositorio Subversion del proyecto"
AuthUserFile /etc/apache2/dav_svn.passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>

Si queremos quitar el modo lectura a cualquiera, porque nuestro proyecto sea confidencial o no queramos que sea visto desde fuera, basta reemplazar la sección:

<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

por

Require valid-user

Reiniciamos el servicio de apache para que nos arranque con los cambios introducidos.

sudo /etc/init.d/apache2 restart

Notas finales

Si queremos añadir usuarios a nuestros repositorios:

sudo htpasswd /etc/apache2/dav_svn.passwd otro_usuario

Si queremos crear nuevos repositorios repetiremos todo desde el tercer paso, creando fichero de contraseñas con otro nombre (seguridad), añadiendo al final del fichero /etc/apache2/mods-available/dav_svn.conf la configuración del nuevo servidor (seguramente cambia el path al fichero de contraseñas y el path al propio repositorio.

fuente: http://www.lopst.com  

You have already tagged this post. Your tags:

Noticia original: www.tuxapuntes.com

Valid XHTML 1.0 Strict