Subversion es un sistema de seguimiento de versiones de código abierto. Mantiene los archivos en un depósito central y proporciona control de versiones sobre directorios o archivos. Como desarrollador, puede extraer archivos de proyecto de un repositorio, realizar cambios en ellos y volver a insertarlos.
Subversion también tiene un componente de servidor que puede usar para alojar sus proyectos. Funciona de manera muy similar a un servidor de archivos ordinario.
Cómo instalar Subversión
Subversion es fácil de instalar. Puede usar el comando apropiado para que su distribución comience:
# Debian, Ubuntu
sudo apto Instalar en pc subversion apache2 libapache2-modificación-svn
# CentOS, Fedora, RHEL
sudo dnf Instalar en pc subversión apache2 mod_dav_svn
Tenga en cuenta que este comando también instala el servidor web Apache2. Necesitará un servidor web si desea acceder al repositorio de Subversion a través de HTTP o WebDAV. También puedes usar HTTPS, solo necesitarás instalar y configurar un certificado digital para hacerlo.
Una vez que haya ejecutado este comando, puede verificar que la subversión se instaló correctamente. Ahora debería poder ejecutar el svn comando y puede ver la versión actual usando el --versión opción:
Configuración del servidor con Subversion
Si la instalación se realizó sin problemas, ahora puede comenzar a trabajar en la configuración del repositorio que usará con svn. Por supuesto, deberá crear un nuevo repositorio para esto. Primero, cree una carpeta en un directorio raíz para colocar su repositorio:
sudo mkdir /subversión
Si necesita acceder a su repositorio mediante WebDAV a través de HTTP, deberá otorgar a Apache la propiedad de su directorio. Ya que Apache usa www-datos usuario por defecto, autorice a este usuario de la siguiente manera:
sudo chown www-datos: www-datos /subversión
Ahora puede cambiar a la www-datos usuario y comience a trabajar en su repositorio. El comando que usaría para iniciar sesión como el www-datos usuario es:
sudo su -s /bin/bash www-datos
Ahora es un usuario de Apache y después de este paso, puede crear su repositorio de Subversion de la siguiente manera:
svnadmin crear /subversion/myrepo
Ahora tiene un repositorio de Subversion. Para hacer este repositorio un poco más seguro e identificar a sus usuarios, el siguiente paso es crear un usuario y establecerle una contraseña. Para hacer esto, use el siguiente comando:
htpasswd -cmb /subversion/passwd miadministrador micontraseña
Según este comando, su nombre de usuario será miadministrador y tu contraseña será mi pase. Puede cambiar estos valores a lo que sea apropiado para sus circunstancias.
Su repositorio de Subversion ahora está listo para usar. En esta etapa, puede salir de la www-datos usuario usando el salida dominio.
Ahora puede enviar un proyecto o archivo deseado a su repositorio usando el siguiente comando:
importar sudo svn <tu-proyecto-dirección> archivo:///subversion/myrepo -m "Primera confirmación"
Este comando utiliza el importar parámetro para empujar todo en su carpeta de proyecto a su repositorio de Subversion. Al hacer esto, debe agregar el mensaje de confirmación con el -metro parámetro.
Uso de métodos de acceso en Subversion
Es posible que haya notado que está utilizando el expediente:// protocol para agregar un proyecto a su repositorio. Este es solo uno de varios protocolos de red que puede usar para acceder a un repositorio svn. También puede usar el protocolo WebDAV sobre HTTP o HTTPS, o el protocolo personalizado de subversion. svn protocolo.
Acceso Directo al Repositorio
Como has visto, puedes usar el expediente:// protocolo para acceder a un repositorio local. Así es como puede consultar un repositorio local en su directorio actual:
archivo svn co:///subversion/myrepo
Cuando revisa el repositorio, svn muestra una lista de los archivos que contiene:
Acceso mediante WebDAV
Para integrar su repositorio de Subversion con Apache, deberá configurar algunos ajustes.
Para el primer paso, active el día, dav_svn, y dav_fs módulos usando los siguientes comandos:
sudo a2enmod dav dav_fs dav_svn
Después de activar los módulos requeridos, ahora puede editar el /etc/apache2/mods-enabled/dav_svn.conf expediente. Cree el archivo si aún no existe y cambie su contenido de la siguiente manera:
<Ubicación / subversión>
DAV svn
SVNPath /subversion/myrepo
Tipo de autenticación básico
nombre de autenticación "Repositorio de subversión"
AuthUserFile /subversion/passwd
Requerir usuario valido
</Location>
los AuthUserFile la configuración hace referencia al archivo que creó anteriormente usando htcontraseña. Agregarlo aquí otorgará acceso al repositorio a todos los usuarios nombrados en el archivo, siempre que se autentiquen con una contraseña válida.
Una vez que haya creado y guardado este archivo, reinicie el servicio Apache2 con el siguiente comando:
sudosystemctlreiniciarapache2.Servicio
Ahora, cuando abra un navegador web y vaya a http://localhost/subversion/, verás el contenido de tu repositorio. Cuando vaya a esta dirección, le pedirá su nombre de usuario y contraseña:
Inicie sesión con el nombre de usuario (por ejemplo, miadministrador) y contraseña (mi pase) que configuró anteriormente. Puede acceder a su repositorio de Subversion usando WebDAV después de ingresar el nombre de usuario y la contraseña:
Acceso con SSL y WebDAV
los https:// El protocolo tiene casi la misma configuración que el http:// protocolo, con sólo algunas diferencias importantes. Para dar un ejemplo, el .conf El archivo que necesita usar durante la configuración es diferente. También es necesario instalar un certificado digital. Porque como saben, esta es la lógica de trabajo del Método de encriptación SSL.
Puedes crear un certificado digital usted mismo, o puede instalar uno emitido por una autoridad competente. Suponiendo que haya instalado un certificado digital, lo que debe hacer es simple.
La diferencia en este paso son los cambios que realizará en el archivo de configuración. A continuación se muestra un archivo de configuración de muestra para el uso de SSL y WebDAV:
<Ubicación / subversión>
DAV encendido
SSLRequerir SSL
Opciones Ninguna
Tipo de autenticación básico
nombre de autenticación "Repositorio de subversión"
AuthUserFile /subversion/passwd
Requerir usuario valido
</Location>
Como puedes ver, la diferencia entre https:// y http:// protocols no es tanto en términos de cambios en el archivo de configuración. Después de estos cambios, deberá reiniciar el apache2 Servicio. Correr systemctl reiniciar apache2.servicio para hacerlo
¿Por qué usar Subversión?
Como rastreador de versiones, Subversion recuerda cada cambio realizado en archivos y directorios. Le permite acceder a versiones antiguas de software o documentos con los que está trabajando y encontrar sus diferencias. Esto facilita la gestión de proyectos, especialmente si su equipo de desarrollo es grande o está distribuido.
Hay muchos sistemas de control de versiones para Linux además de Subversion, que tal vez desee considerar.