¿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.soLoadModule 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 rokitohhtpasswd /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 subversion192.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!
Una respuesta a “Instalar servidor subversion”