Subversión , también conocido como SVN, un sistema de control de versiones de código abierto. Se utiliza para realizar un seguimiento de los archivos y documentos de origen.
Cada vez que cambia, agrega o elimina un archivo o una carpeta que controla con Subversion, envía estos cambios al repositorio de Subversion, que crea una nueva revisión en el repositorio que refleja estos cambios.
Siempre que lo necesite, siempre puede volver atrás, mirar y obtener el contenido de las revisiones anteriores.
Esta publicación lo ayuda a configurar SVN en Debian 9 /
Cambie al usuario root.
su -
O
sudo su -
Instalar servidor web
primero actualicemos el índice del repositorio.
apt-get update
Aquí instalaremos servidor Apache para acceder al servidor SVN usando URL HTTP.
apt-get install -y apache2 apache2-utils
Permitir Apache a través del cortafuegos (si corresponde).
ufw allow 80/tcp ufw reload
Verifique el servicio de Apache visitando la siguiente URL.
http://tu.dirección.ip.ressDebería obtener la página predeterminada de Apache2.
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042711034474.png)
Instalar Subversión
Una vez que Apache esté instalado, puede ejecutar el siguiente comando para instalar la subversión de Apache.
### debian ### apt-get install -y subversion subversion-tools libapache2-mod-svn ### ubuntu ### apt-get install -y subversion subversion-tools libapache2-mod-svn libapache2-svn
Configurar subversión
Una vez finalizada la instalación, cree un repositorio según sus requisitos. Aquí, estoy creando /var/lib/svn como base y crearé un repositorio "testrepo" en él.
mkdir /var/lib/svn
Crea el repositorio llamado “testrepo”
svnadmin create /var/lib/svn/testrepo
Cambie el permiso del repositorio para permitir que Apache lea y escriba datos en él.
chown -R www-data:www-data /var/lib/svn/testrepo/
Configurar host virtual en Apache.
nano /etc/apache2/mods-enabled/dav_svn.conf
Coloque el siguiente contenido.
<Location /svn> DAV svn SVNParentPath /var/lib/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location>
Cree un archivo de contraseña para el usuario. Reemplace raj con su nombre de usuario .
htpasswd -cm /etc/apache2/dav_svn.passwd raj
Reinicie el servidor apache.
systemctl restart apache2
Subversión de prueba
Acceda al SVN usando un navegador , la URL será
http://tu-dir-ip.ress/svn/testrepoSe le pedirá que ingrese el nombre de usuario y la contraseña.
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042711034539.png)
Tras iniciar sesión correctamente, el contenido se mostrará como se muestra a continuación.
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042711034579.png)
Cree un directorio llamado "checkout"
mkdir checkout
Consulte los archivos contenidos en el repositorio en el directorio de prueba. Reemplace raj con su nombre de usuario .
svn checkout http://192.168.1.10/svn/testrepo --username raj checkout/
El resultado será como el siguiente.
Authentication realm: <http://192.168.1.10:80> Subversion Repository Password for 'raj': **** <-- Enter Password ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <http://192.168.1.10:80> Subversion Repository can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes <-- Store Password Checked out revision 0.
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042711034594.png)
Cree archivos de prueba para confirmar en el repositorio de testrepo.
cd checkout/ touch checkout1.txt touch checkout2.txt
Agregue esos archivos creados para confirmar.
svn add checkout1.txt checkout2.txt
Salida:
A checkout1.txt A checkout2.txt
Confirme los archivos agregados. Puede mencionar el mensaje de confirmación con una marca -m.
svn commit -m 'First Revision'
Salida:
Adding checkout1.txt Adding checkout2.txt Transmitting file data .. Committed revision 1.
Puede ver los archivos confirmados en un navegador.
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042711034668.png)
Eso es todo. Puede usar clientes SVN como TortoiseSVN para Windows y Rapidsvn para Linux.