Instalar servidor subversion

¿Que es subversion?

Subversion (SVN) es una herramienta de control de versiones open source basada en un repositorio cuyo funcionamiento se asemeja enormemente al de un sistema de ficheros. Es software libre bajo una licencia de tipo Apache/BSD.

Utiliza el concepto de revisión para guardar los cambios producidos en el repositorio. Entre dos revisiones sólo guarda el conjunto de modificaciones (delta), optimizando así al máximo el uso de espacio en disco. SVN permite al usuario crear, copiar y borrar carpetas con la misma flexibilidad con la que lo haría si estuviese en su disco duro local. Dada su flexibilidad, es necesaria la aplicación de buenas prácticas para llevar a cabo una correcta gestión de las versiones del software generado.

Instalación:

root@subversion:~# apt-get install subversion

 

Creamos la carpeta donde se alojara el repositorio

root@subversion:~# mkdir /var/svn

 

 

A continuación creamos un proyecto que en nuestro caso lo llamare redorbita

root@subversion:~# svnadmin create /var/svn/redorbita

 

Iniciamos subversion

root@subversion:~# svnserve -d -r /var/subversion/

Comprobamos que a iniciado

root@subversion:~# ps -fea | grep subversion
root 3322 1 0 13:24 ? 00:00:00 svnserve -d -r /var/svn/

Procedemos a configurar el acceso al repisotiro. Está configuración la encontraremos en /var/subversion//conf/svnserve.conf

vi /var/svn/redorbita/conf/svnserve.conf
[general]

anon-access = none
auth-access = write
auth-access = read
password-db = passwd

 

A continuación configuramos un usuario y contraseña en /var/subversion/conf/passwd en mi caso el usuario se llamara rokitoh y su contraseña será 123456

vi /var/subversion/conf/passwd
[users]
rokitoh = 123456

mediante el comando svn info podemos obtener la información del repositorio.

root@subversion:~# svn info svn://127.0.0.1/redorbita
Reino de autentificación: <svn://127.0.0.1:3690> bc22cd4a-76a7-45a2-9c12-3e529fba6b20
Clave de ‘root’:
Reino de autentificación: <svn://127.0.0.1:3690> bc22cd4a-76a7-45a2-9c12-3e529fba6b20
Usuario: rokitoh
Clave de ‘123456’:

———————————————————————–
ATTENTION! Your password for authentication realm:

<svn://127.0.0.1:3690> bc22cd4a-76a7-45a2-9c12-3e529fba6b20

can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the ‘store-plaintext-passwords’ option to either ‘yes’ or ‘no’ in
‘/root/.subversion/servers’.
———————————————————————–
Almacenar la clave sin cifrar (sí/no)? no
Ruta: redorbita
URL: svn://127.0.0.1/redorbita
Raíz del repositorio: svn://127.0.0.1/redorbita
UUID del repositorio: bc22cd4a-76a7-45a2-9c12-3e529fba6b20
Revisión: 0
Tipo de nodo: directorio
Revisión del último cambio: 0
Fecha de último cambio: 2015-02-18 13:23:50 +0100 (mié 18 de feb de 2015)

Configurar subversion para poder acceder mediante un navegador web.

Instalamos apache y la libreria de subversion

apt-get install apache2 libapache2-svn php5 libapache2-mod-php5

Activamos los modulos

a2enmod dav_svn
a2enmod authz_svn

 Añadimos los modulos

vi /etc/apache2/apache2.conf
LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

 

Procedemos a configurar /etc/apache2/mods-available/dav_svn.conf en este fichero le indicaremos donde se encuentra el repositorio

 

 

<Location /redorbita>
DAV svn
SVNPath /var/svn/redorbita
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>

 

Creamos el usuario y el grupo

groupadd subversion

addgroup rokitoh subversion

Creamos el usuario destinado a subversion

htpasswd -c /etc/apache2/dav_svn.passwd rokitoh
New password:
Re-type new password:
Adding password for user rokitoh

htpasswd /etc/apache2/dav_svn.passwd jenkins

 

Configuramos tanto el archivo /etc/hostname como el /etc/hosts de la siguiente forma:

cat /etc/hostname
subversion.CDP.redorbita.com
cat /etc/hosts
127.0.0.1    localhost
127.0.1.1    subversion

192.168.1.57 subversion.CDP.redorbita.com subversion
127.0.0.1 localhost.subversion.CDP.redorbita.com localhost
192.168.1.57 subversion.CDP.redorbita.com

Creamos un script en /etc/init.d/ y lo configuramos para que arranque al iniciar el sistema.

cat /etc/init.d/subversion
svnserve -d -r /var/svn

 

update-rc.d subversion defaults
update-rc.d: using dependency based boot sequencing
insserv: warning: script ‘K01jboss’ missing LSB tags and overrides
insserv: warning: script ‘subversion’ missing LSB tags and overrides

 

Comprobamos que funciona correctamente el acceso por http:

svn co –username rokitoh –password 123456 http://192.168.1.57/svn/redorbita PRUCHECKOUT
svn: OPTIONS de ‘http://192.168.1.57/svn/redorbita’: 200 OK (http://192.168.1.57)

 

Un saludo, rokoth!

 

:wq!

One thought on “Instalar servidor subversion

  1. Pingback: Instalar servidor subversion | PlanetaLibre

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*