Instalación de SVN en CentOS

0
Instalación de SVN en CentOS

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. Es una herramienta poderosa para el control de versiones, muy utilizada en entornos de desarrollo y administración de proyectos. 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.



Requisitos para la instalación de Subversion

Es requisito para esta instalación tener los siguientes conocimientos de linux:


  • Creación de usuarios
  • Instalación de paquetes de software
  • Otorgar privilegios sobre directorios
  • Configurar la red
  • Crear reglas en el firewall
  • Configuración de SELinux
  • Configuración de inicio de aplicaciones

Estas tareas no son parte de este tutorial pero necesarias para una correcta 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)


Proceso de instalación

A continuación vamos a realizar paso a paso la instalación de SVN


Instalar Subversion (SVN)

Utilizando el comando yum instalamos el paquete necesario.


# yum –y install subversion


Crear la 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


Crear el repositorio

Para ello utilizamos el comando apuntando al directorio que creamos.


# svnadmin create /proyecto01/repositorio


Verificar 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


Crear un directorio temporal

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


# mkdir /tmp/proyecto01


Copiar todos los archivos

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


Importar 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"


Eliminar 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


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


Finalizar la instalación

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


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


Problemas Comunes en la Instalación de SVN en CentOS

Si está intentando instalar SVN en CentOS, tal vez se puedan presentar algunos problemas, aquí adjunto una lista de los más comunes y cómo solucionarlos de manera eficaz.


No se encuentra el paquete Subversion: Este es uno de los problemas más comunes y se debe a que el repositorio EPEL (Extra Packages for Enterprise Linux) no está habilitado en su sistema. Para solucionar esto, debe habilitar el repositorio EPEL primero, y luego proceder con la instalación de SVN. Aquí le muestro cómo hacerlo:


sudo yum install epel-release -y
sudo yum install subversion -y

Con estos comandos, debería poder instalar Subversion sin problemas.


Error "Permission Denied": Al ejecutar comandos de SVN, este problema suele ocurrir cuando el usuario que está intentando ejecutar los comandos de SVN no tiene los permisos adecuados. Para solucionarlo, asegúrese de que está utilizando un usuario con los permisos correctos o bien, ejecute los comandos como superusuario (`root`) utilizando `sudo`. Si continúa teniendo problemas, verifique los permisos de los directorios en los que está trabajando:


sudo chown -R usuario_designado:grupo_designado /directorio/donde/esta/su/repositorio
sudo chmod -R 775 /directorio/donde/esta/su/repositorio

Esto debería otorgar los permisos necesarios para que pueda trabajar con SVN sin problemas de permisos.


Error "Could Not Resolve Hostname": Este error suele aparecer cuando SVN no puede resolver el nombre del host del servidor donde reside el repositorio. Primero, verifique que puede hacer ping al servidor desde su máquina:


ping nombre_del_servidor

Si el ping no es exitoso, verifique su archivo `/etc/hosts` para asegurarse de que el nombre del servidor esté correctamente configurado. También puede agregar el nombre del servidor y su dirección IP a este archivo manualmente si es necesario.


Error "SVN Command Not Found": Si recibe este error, significa que el comando `svn` no está disponible en su PATH, lo que indica que la instalación no se realizó correctamente o que Subversion no está instalado. Primero, verifique si SVN está instalado:


svn --version

Si el comando no está disponible, vuelva a intentar la instalación de Subversion:


sudo yum install subversion -y

Asegúrese también de que su variable PATH incluye el directorio donde SVN está instalado. Si no lo está, puede agregarlo a su PATH en el archivo `~/.bash_profile` o `~/.bashrc`.


Error "Repository Moved Temporarily": al intentar conectar a un repositorio remoto, este error suele indicar que la URL del repositorio SVN ha cambiado. Para solucionarlo, asegúrese de que está utilizando la URL correcta del repositorio. Si el repositorio se ha movido a una nueva ubicación, actualice la URL en su archivo de configuración o en su comando de checkout:


svn switch --relocate http://antigua_url_del_repositorio http://nueva_url_del_repositorio

Este comando actualizará la URL del repositorio en su copia de trabajo actual.


Error "Authorization Failed": al acceder a un repositorio, este error indica que las credenciales proporcionadas no son correctas o no tienen permisos suficientes para acceder al repositorio. Asegúrese de que está utilizando el nombre de usuario y la contraseña correctos. Puede limpiar las credenciales almacenadas en su sistema y volver a intentar la conexión:


svn auth --remove
svn checkout url_del_repositorio

Al hacerlo, SVN le solicitará nuevamente las credenciales y debería poder acceder al repositorio si proporciona las credenciales correctas.


Error "Post-commit Hook Failed": si recibe este error después de realizar un commit, significa que el hook post-commit no se ejecutó correctamente. Revise el archivo de logs del hook para identificar la causa del fallo. Asegúrese de que el script del hook tiene los permisos de ejecución adecuados y que cualquier comando o ruta utilizado en el script es correcto y accesible:


chmod +x /ruta/a/su/repositorio/hooks/post-commit

También puede ejecutar el script manualmente desde la terminal para ver si hay errores adicionales que necesitan ser corregidos.


Conclusión

Instalar SVN en CentOS es un proceso sencillo y esencial para cualquier proyecto que requiera control de versiones y colaboración eficiente. Siguiendo los pasos detallados en este artículo, desde la instalación del paquete SVN hasta la configuración del repositorio, puedes establecer un sistema de control de versiones robusto y confiable. SVN proporciona una solución efectiva para mantener un historial de cambios y asegurar la integridad de los archivos del proyecto.


Tal vez te interesen estas entradas

No hay comentarios