Ver todos los artículos

Instalación de SVN en CentOS 7

Muchas veces necesitamos tener un repositorio de archivos; ya sea, de código fuente cuando estamos desarrollando sistemas informáticos para poder mantener las versiones de los diferentes programas o cuando estamos trabajando en un proyecto con una gran biblioteca de documentos, con la ventaja de mantener un rastro de los cambios que hacemos en estos.

Otra de las ventajas en tener un repositorio de archivos, es contar con un respaldo de nuestros programas o documentos en caso de que en nuestro computador se presente algún percance no esperado.

Existen varias soluciones de software para esta necesidad, son herramientas que funcionan como un sistema de ficheros para mantener los cambios en el repositorio. Así tenemos: CVS (descontinuado), Visual Source Safe (descontinuado), SVN, Git, Bazaar, Mercurial, entre otros.

Hoy, vamos a instalar Apache Subversion, conocido como SVN, que es un sistema de control de versiones open source. El lanzamiento de esta herramienta fue en el año 2000 y ha tenido una amplia aceptación a nivel empresarial hasta la presente fecha.

Este tipo de herramientas de control de versiones es tipo multiusuario cliente-servidor, vamos a realizar la instalación del lado del servidor y como cliente podemos usar en nuestro Ambiente Integrado de Desarrollo (IDE – Integrated Development Environment) preferido, que seguramente tiene un plugin para SVN o podemos usar TortoiseSVN, software que se integra con el explorador de archivos de Windows.


Es requisito para esta instalación tener los siguientes conocimientos de linux: creación de usuarios, instalación de paquetes de software en CentOS, otorgar privilegios sobre directorios, como configurar la red, crear reglas en el firewall, configuración de SELinux y configuración de aplicaciones para iniciar con CentOS. Estas tareas no son parte de este tutorial pero necesarias para una buena instalación.

Iniciamos la instalación usando un servidor con sistema operativo CentOS 7.5.1804, siguiendo estos pasos (con usuario root o con un usuario sudo para login):

Instalamos el software SVN

Utilizando el comando yum instalamos el paquete necesario.

#yum –y install subversion

Creamos una ubicación para el repositorio

Vamos a crear un directorio donde van a residir nuestros archivos /proyecto01/repositorio

#cd /
#mkdir proyecto01
#cd proyecto01
#mkdir repositorio

Creamos el repositorio

Para ello utilizamos el comando apuntando al directorio que creamos.

#svnadmin create /proyecto01/repositorio

Verificamos el nuevo repositorio en SVN

Luego de creado el repositorio nos vamos al directorio /proyecto01/repositorio, verificamos que se hayan creado varios archivos y directorios necesarios, listamos y se pueden visualizar los directorios: db, conf, hooks, locks y los archivos: format y README.txt

#cd /proyecto01/repositorio
#ls -lth

Creamos un directorio temporal

En esta ubicación vamos a colocar los archivos a importar al repositorio como una carga inicial.

#mkdir /tmp/proyecto01

Copiamos todos los archivos

Copiamos los directorios y archivos que deseemos colocar en el repositorio de SVN temporalmente en la ubicación /tmp/proyecto01.

Importamos el repositorio

La jerarquía de árbol que usemos en /tmp/proyecto01, se respetará en el repositorio.

#svn import /tmp/proyecto01 file:///proyecto01/repositorio -m "carga inicial"

Eliminamos los archivos temporales

Como ya fueron importados los archivos al repositorio SVN podemos eliminar el directorio temporal.

#cd /tmp/proyecto01
#rm *
#cd /tmp
#rmdir proyecto01

Para arrancar el servicio de SVN

Para que el repositorio este disponible para su uso, iniciamos el servicio así:

#svnserve -d --listen-port=3690 –r /proyecto01/repositorio

Finalizamos la instalación

Y Listo!!!!. Podemos usar desde nuestro cliente para acceder al repositorio, la información es:

svn://nombre_servidor:3690/proyecto01/repositorio/