Hola a todos, hoy en este tutorial instalaremos Apache SVN, también popular como Subversion en nuestro CentOS 7 o RHEL 7, que es una herramienta increíble para el sistema de control de versiones que es adecuada para proyectos pequeños y grandes. Entonces, aquí hay información sobre lo que realmente es Apache SVN (Subversion).
Apache Subversion (a menudo abreviado SVN, después del nombre de comando svn) es un sistema de control de versiones y revisión de software distribuido como software gratuito bajo la Licencia Apache. Los desarrolladores usan Subversion para mantener versiones actuales e históricas de archivos como código fuente, páginas web y documentación. Su objetivo es ser un sucesor mayoritariamente compatible del Sistema de Versiones Concurrentes (CVS) ampliamente utilizado.
La comunidad de software libre ha utilizado Subversion ampliamente:por ejemplo, en proyectos como Apache Software Foundation, Free Pascal, FreeBSD, GCC, Mono y SourceForge. Google Code también proporciona alojamiento Subversion para sus proyectos de software libre. CodePlex ofrece acceso a Subversion así como a otros tipos de clientes.
El mundo corporativo también ha comenzado a adoptar Subversion. Un informe de 2007 de Forrester Research reconoció a Subversion como el único líder en la categoría de gestión de configuración de software independiente (SCM) y como un gran actor en la categoría de gestión de cambios y configuración de software (SCCM).
Entonces, instalemos SVN en nuestra máquina CentOS o RHEL 7. Primero necesitaremos instalar un servidor web para que nuestra Subversión funcione. Estos son los pasos a continuación que nos permitirán configurarlo completamente fuera de la caja.
1. Instalación de un servidor web
Entonces, antes de instalar un servidor web, necesitaremos actualizar el repositorio de paquetes de yum:
# yum update
Ahora, instalaremos el servidor Apache como servidor web para el repositorio SVN.
# yum -y install httpd httpd-tools
Ahora, necesitaremos permitir http a través de nuestro firewall. Puede hacerlo con el siguiente comando.
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --reload
Si obtiene un error como el anterior, debe asegurarse de que Firewalld no esté instalado o no se esté ejecutando. Por lo tanto, deberá instalar firewalld usando "yum install firewalld" e inicie el servicio con "systemctl start firewalld " sin comillas ("") como se muestra arriba.
Ahora, querremos iniciar nuestro Apache y verificar si funciona bien visitando http://localhost o http://ip-address.
# systemctl start httpd.service
2. Instalando Subversión
Una vez que el servidor web Apache esté instalado, necesitaremos ejecutar el siguiente comando para instalar subversion.
# yum -y install subversion subversion-tools mod_dav_svn
3. Configuración de subversión
Una vez que hayamos terminado de instalar Subversion, ahora podemos comenzar a crear repositorios según los requisitos. En nuestro caso, crearemos /svn como base y crearemos el repositorio en él.
Nota:puede seleccionar el directorio donde desea crear su Repositorio y reemplazar /svn con él.
# mkdir /svn
Ahora, crearemos un repositorio llamado "linoxiderepo" en el directorio "/svn/" como
# svnadmin create /svn/linoxiderepo
Cambie el permiso del repositorio de tal manera que Apache pueda leerlo y escribirlo.
# chown -R apache:apache /svn/linoxiderepo/
Si tiene habilitado SELinux en el sistema, ejecute el siguiente comando.
# chcon -R -t httpd_sys_content_t /svn/linoxiderepo/
# chcon -R -t httpd_sys_rw_content_t /svn/linoxiderepo/
4. Configuración del servidor Apache
Configurar host virtual en Apache.
# nano /etc/httpd/conf.d/svn.conf
Coloque el siguiente contenido.
<location /svn>
DAV svn
SVNParentPath /svn
</location>
Luego, necesitaremos reiniciar el servidor apache para que surta efecto.
# systemctl reload httpd.service
Ahora, deberíamos poder acceder al SVN usando su navegador favorito, necesitaremos ir a http://our-ip-address/svn/linoxiderepo . No nos pedirá ninguna contraseña para ver, por lo que hace que nuestro repositorio SVN sea de acceso público. Si queremos proteger nuestro repositorio SVN, debemos seguir los pasos a continuación.
5. Protección de SVN:(Opcional)
La configuración anterior permitiría a los usuarios anónimos ver y confirmar los archivos. Para detener el acceso anónimo, debe editar la configuración de Apache que se creó solo dos pasos antes.
# nano /etc/httpd/conf.d/svn.conf
Agregaremos los siguientes contenidos en ese archivo.
<location /svn>
DAV svn
SVNParentPath /svn/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/svn.users
Require valid-user
</location>
Creó el archivo de contraseña para el usuario.
# htpasswd -cm /etc/subversion/svn.users arun
Ahora, reinicie el servidor apache.
# systemctl reload httpd.service
6. Subversión de prueba
Finalmente, podemos visitar la url http://nuestra-dirección-ip/svn/linoxiderepo en nuestro navegador para ver el contenido, se le pedirá que ingrese el nombre de usuario y la contraseña (si ha configurado el SVN seguro).
Al iniciar sesión correctamente, los contenidos se enumerarán como se muestra a continuación.
Crea un directorio de plantillas e impórtalo a SVN.
# mkdir -p /tmp/repository/project/{trunk,branches,tags}
# svn import -m 'Initial Import' /tmp/repository/project/ http://192.168.12.103/svn/linoxiderepo
En el navegador después de la importación.
Conclusión
¡Viva! Hemos instalado con éxito Apache SVN (Subversion) junto con Apache Web Server para alojar el repositorio en nuestro CentOS 7. Este tutorial también se aplica a RHEL 7 (Hat Enterprises Linux). Apache SVN es una herramienta impresionante para el sistema de control de versiones que es adecuado desde pequeños proyectos de desarrollo hasta grandes proyectos. Necesitaremos un cliente SVN como Tortoisesvn para Windows y Rapidsvn para Linux, que son una buena interfaz gráfica de usuario para el sistema de revisión de Subversion. Por lo tanto, si tiene alguna pregunta, comentario, comentario, escriba en el cuadro de comentarios a continuación y háganos saber qué cosas deben agregarse o mejorarse. ¡Gracias! Disfrute de Apache SVN (Subversión).