La guía definitiva para configurar Apache Subversion SVN y TortoISSVN para el control de versiones
- 4806
- 413
- Berta Solano
Si su trabajo requiere manejo de documentos, páginas web y otro tipo de archivos que se actualizan regularmente, es posible que desee utilizar un mecanismo de control de versiones si aún no lo está haciendo.
Entre otras cosas, esto le permite (y un grupo de colaboradores potenciales también) rastrear los cambios realizados en un archivo determinado, y le permite regresar a una versión anterior si se encuentra un problema o cuando una actualización no ha producido el resultado esperado.
En el ecosistema de software libre, se llama el sistema de control de versiones más utilizado Subversión de apache (o SVN para abreviar). Con la ayuda de mod_dav_svn (Módulo de Apache para la subversión), puede acceder a un repositorio de subversión utilizando HTTP y un servidor web.
Dicho esto, enrolle las mangas e instale estas herramientas en un RHEL / CENTOS 7, Fedora 22-24, Debian 8/7 y Ubuntu 16.04-15.04 servidor. Para nuestras pruebas usaremos un Centos 7 servidor con IP 192.168.0.100.
En el lado del cliente (un Windows 7 máquina), instalaremos y usaremos Tortoisesvn (que se basa en la subversión de Apache) como una interfaz para SVN.
Nuestro entorno de prueba
Servidor - Centos 7 Dirección IP - 192.168.0.100 Cliente - Windows 7
Paso 1 - Instalar y configurar SVN en Linux
Como acabamos de mencionar, confiaremos en Apache para acceder al repositorio SVN utilizando una interfaz web. Si aún no está instalado, asegúrese de agregarlo a la lista de paquetes como se muestra a continuación:
------------------ En Centos / Rhel / Fedora ------------------ # Yum Update && Yum install Mod_dav_svn Subversion Httpd -y ------------------ En Debian / Ubuntu ------------------ # Apt-Get Update && apt-get install libapache2-svn subversion apache2 -y
Durante la instalación en Centos 7, Se creará un archivo de configuración de Apache para SVN como /etc/httpd/conf.módulos.d/10 subversión.confusión. Abra el archivo y agregue el siguiente bloque de configuración:
/etc/httpd/conf.módulos.d/10 subversión.confusiónDav Svn SvnParentPath/WebSRV/SVN AuthType Basic Authname "Bienvenido a SVN" AuthuserFile/Etc/Httpd/Subversion-Auth requiere un usuario válidoConfigurar el módulo Apache SVN
Nota: En Debian / Ubuntu Necesita agregar las líneas a continuación a /etc/apache2/mods-habilitado/dav_svn.confusión
archivo.
Dav Svn SvnParentPath/WebSRV/SVN AuthType Basic Authname "Bienvenido a SVN" AuthuserFile/Etc/Apache2/Subversion-Auth requiere un usuario válido
En Debian / Ubuntu, necesitas habilitar Dav_SVN Apache módulo:
# a2enmod dav_svn
Un par de aclaraciones:
- El Svnparentpath La directiva indica el directorio donde se crearán más tarde nuestros repositorios. Si este directorio no existe (lo más probable es que sea el caso), cree con:
# mkdir -p /websrv /svn
Es importante tener en cuenta que este directorio no debe ubicarse en el interior, o superpuesto, el Raiz del documento de un anfitrión virtual que actualmente es atendido por Apache. Este es un showstopper!
- El AutuserFile La directiva indica el archivo donde se almacenarán las credenciales de un usuario válido. Si desea permitir que todos accedan a SVN sin autenticación, elimine las últimas cuatro líneas en el bloque de ubicación. Si ese es el caso, omita Paso 2 y dirígete directamente a Paso 3.
- Aunque puede estar tentado a reiniciar Apache para aplicar estos cambios recientes, no lo hagas todavía, ya que aún necesitamos crear el archivo de autenticación con usuarios válidos para SVN, y el repositorio en sí mismo.
Paso 2 - Agregar permití a los usuarios acceder a SVN
Ahora usaremos htpasswd Para crear una contraseña para cuentas que se le permitirá acceder a SVN. Solo para el primer usuario, necesitaremos el -C
opción.
Cuentas permitidas y contraseñas con bcrypt cifradas (-B
) se almacenará en /etc/httpd/subversion-autor En pares de valor clave. Tenga en cuenta que según los estándares actuales, el cifrado predeterminado MD5 o SHA utilizado por HTPassWD se considera inseguro.
------------------ En Centos / Rhel / Fedora ------------------ # htpasswd -cb/etc/httpd/subversion -autor tecmint ------------------ En Debian / Ubuntu ------------------ # htpasswd -cb/etc/apache2/subversion -autor tecmint
No olvide establecer la propiedad y los permisos adecuados en el archivo de autenticación:
------------------ En Centos / Rhel / Fedora ------------------ # CHGRP Apache/etc/httpd/subversion-autor # CHMOD 660/etc/httpd/subversion-autor ------------------ En Debian / Ubuntu ------------------ # CHGRP www-data/etc/apache2/subversion-autor # chmod 660/etc/apache2/subversion-autor
Paso 3: agregue la seguridad y cree el repositorio SVN
Dado que accederá a SVN a través de una interfaz web, deberá permitir Http (y opcionalmente Https) Tráfico a través de su firewall.
------------------ En Centos / Rhel / Fedora ------------------ # firewall-cmd --add-service = http --Permanent # firewall-cmd --add-service = https --permanent # firewall-cmd
Recargando la configuración del firewall con --recargar
, La configuración permanente se pone en vigencia inmediatamente.
Crear un repositorio inicial de SVN llamado tecmenta:
# svnadmin create/websrv/svn/tecmint
Cambiar al propietario y al propietario del grupo a apache recursivamente:
------------------ En Centos / Rhel / Fedora ------------------ # chown -r apache: apache/webSrv/svn/tecmint ------------------ En Debian / Ubuntu ------------------ # chown -r www-data: www-data/WebSRV/SVN/TECMINT
Finalmente, deberá cambiar el contexto de seguridad de /WebSRV/SVN/TECMINT
(Tenga en cuenta que tendrá que repetir este paso si decide crear otros repositorios más tarde):
------------------ En Centos / Rhel / Fedora ------------------ # chcon -r -t httpd_sys_content_t/websrv/svn/tecmint/ # chcon -r -t httpd_sys_rw_content_t/websrv/svn/tecMint/
Nota: Los últimos dos comandos pueden no aplicarse si está instalando SVN en un VPS con Selinux Diable.
Leer sugerido: Aprenda a deshabilitar Selinux temporal o permanentemente en Linux
Reanudar apache y verificar que el repositorio esté disponible.
------------------ En Centos / Rhel / Fedora ------------------ # SystemCTL reiniciar httpd ------------------ En Debian / Ubuntu ------------------ # SystemCTL reiniciar apache2
Luego inicie un navegador web y apunlo a http: // 192.168.0.100/svn/tecmint
. Después de ingresar las credenciales para el usuario válido que creamos en Paso 1, La salida debe ser similar a:
En este punto no hemos agregado ningún código a nuestro repositorio. Pero lo haremos en un minuto.
Paso 4 - Instale TortoISSVN en el cliente de Windows 7
Como mencionamos en la introducción, Tortoisesvn es una interfaz fácil de usar para la subversión de Apache. Es un software gratuito con licencia bajo el GPL y se puede descargar desde https: // tortoissvn.red/descargas.html.
Elija la arquitectura (32 o De 64 bits) que corresponde a su máquina e instale el programa antes de continuar.
Paso 5 - Configuración del repositorio SVN en la máquina del cliente
En este paso usaremos una carpeta llamada Aplicación Web
adentro Documentos. Esta carpeta contiene un archivo HTML y dos carpetas llamadas scripts y estilos con un JavaScript y un archivo CSS (guion.js y estilos.CSS, respectivamente) que queremos agregar al control de versiones.
Botón derecho del ratón Aplicación Web y elige el pago de SVN. Esto creará una copia local del repositorio remoto (que está vacío en este momento) e inicializará la carpeta para el control de versiones:
Configurar SVN en el directorio de clientesEn URL de repositorio, escriba http: // 192.168.0.100/svn/tecmint
y asegúrese de que el directorio de pago local siga siendo el mismo, luego haga clic en DE ACUERDO:
Ingrese el nombre de usuario y la contraseña (consulte Paso 2) y haga clic DE ACUERDO:
Ingrese las credenciales del usuario de SVNSe le preguntará si desea registrarse en un directorio no vacío. Confirmar para proceder con el pago. Una vez que esté completo, aparecerá una marca de verificación verde junto al nombre de la carpeta:
Echa un vistazo al directorio SVNPaso 6: confirme cambios e implementa archivos en repositorio remoto de SVN
Haga clic derecho en Aplicación Web
de nuevo y elige Comprometerse esta vez. A continuación, escriba un comentario descriptivo para luego identificar esta confirmación, y verifique los archivos y carpetas que desea implementar en el repositorio. Finalmente, haga clic DE ACUERDO:
Dependiendo del tamaño de los archivos, la confirmación no debe tomar más de un minuto. Cuando esté completo, verá que ahora estamos en Revisión 1, que coincide con la versión y los archivos enumerados en la interfaz web:
Confirmar la revisión del repositorio de SVNSi hay varias personas trabajando en los mismos archivos, querrá Actualizar su copia local para tener la última versión disponible para trabajar. Puede hacerlo haciendo clic derecho en Aplicación Web
y eligiendo Actualizar Desde el menú contextual.
Felicidades! Ha configurado con éxito un servidor SVN y ha cometido / actualizado un proyecto simple bajo control de versiones.
Resumen
En este artículo hemos explicado cómo instalar y configurar un Subversión de apache servidor de repositorio en un Centos 7 servidor, y cómo cometer cambios en ese repositorio utilizando Tortoisesvn.
Tenga en cuenta que hay mucho más para SVN y Tortoisesvn de lo que podemos cubrir adecuadamente aquí (especialmente cómo volver a revisiones anteriores), por lo que es posible que desee consultar los documentos oficiales (SVN y TortoisesVN) para obtener más información y casos de configuración.
Como siempre, no dude en informarnos si tiene alguna pregunta! Siéntase libre de usar el formulario de comentarios a continuación para comunicarse con nosotros en cualquier momento.
- « DSTAT una herramienta ingeniosa para monitorear el rendimiento del servidor de Linux en tiempo real
- 10 herramientas de inteligencia artificiales de código abierto para Linux »