Com instal·lar SVN a distribucions Linux basades en RHEL


Escrit en llenguatge de programació C, Apache Subversion, col·loquialment abreujat com SVN, és un sistema de control de versions gratuït i de codi obert que fa un seguiment de les versions històriques dels fitxers i directoris.

En poques paraules, SVN és simplement un rastrejador de versions que permet als usuaris enviar els canvis fets als fitxers a un dipòsit que fa un seguiment de qui ha fet els canvis a cada fitxer. El repositori és similar a un servidor de fitxers. La diferència és que fa un seguiment dels canvis i us permet recuperar versions anteriors del codi o investigar l'historial dels canvis dels fitxers.

En aquest article, ens centrem en com instal·lar SVN a distribucions Linux basades en RHEL com CentOS, Fedora, Rocky Linux i AlmaLinux.

Pas 1: instal·leu Apache Subversion (SVN) a Linux

Comencem instal·lant primer Subversion i els seus paquets associats tal com es mostra.

$ sudo dnf install mod_dav_svn subversion

L'ordre també instal·la el servidor web Apache HTTP, si no s'ha instal·lat abans. Podeu iniciar Apache i comprovar el seu estat de la següent manera.

$ sudo systemctl start httpd
$ sudo systemctl status httpd

Pas 2: creeu i configureu un repositori SVN local

Un cop instal·lat SVN, el següent pas serà crear un repositori per emmagatzemar fitxers i codi.

Primer, creeu el directori SVN en el qual emmagatzemareu el codi.

$ sudo mkdir -p /var/www/svn

A continuació, navegueu al directori i creeu un repositori mitjançant l'ordre svadmin create:

$ cd /var/www/svn/
$ sudo svadmin create demo_repo

A continuació, assigneu permisos al directori SVN.

$ sudo chown -R apache.apache /var/www/svn

Pas 3: creeu un fitxer de configuració de Subversion

Hem de crear un fitxer de configuració de Subversion.

$ sudo vim /etc/httpd/conf.d/subversion.conf

Afegiu les línies següents.

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn

   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Subversion repo"
      AuthUserFile /etc/svn-auth-users
      Require valid-user
   </LimitExcept>
</Location>

Deseu els canvis i sortiu.

Pas 4: creeu usuaris autoritzats de Subversion

El següent pas és crear usuaris de Subversion, és a dir, usuaris que tindran autorització per accedir al repositori de Subversion. Per crear el primer usuari, utilitzeu l'ordre htpasswd amb l'opció -cm. Les contrasenyes es guarden al fitxer /etc/svn-auth-users.

$ sudo htpasswd -cm /etc/svn-auth-users svnuser1

Per crear usuaris posteriors, ometeu l'opció -c i només utilitzeu l'opció -m.

$ sudo htpasswd -m /etc/svn-auth-users svnuser2
$ sudo htpasswd -m /etc/svn-auth-users svnuser3

Per aplicar els canvis realitzats, reinicieu el servidor web Apache.

$ sudo systemctl restart httpd

Pas 5: configureu el tallafoc i SELinux per a SVN

Configureu el tallafoc per permetre el trànsit HTTP al tallafoc de la manera següent:

$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --reload

A més, apliqueu les regles SELinux següents al repositori.

$ sudo chcon -R -t httpd_sys_content_t  /var/www/svn/demo_repo
$ sudo chcon -R -t httpd_sys_rw_content_t /var/www/svn/demo_repo

Pas 6: Accés a SVN des d'un navegador

Per accedir al vostre repositori SVN des d'un navegador, simplement aneu a l'URL.

http://server-ip/svn/demo_repo

Per començar a utilitzar el repositori SVN, heu de crear una còpia de treball del repositori SVN al vostre directori de treball actual mitjançant l'ordre svn checkout.

$ svn checkout URL 

Per afegir alguns fitxers, navegueu al directori clonat:

$ cd demo_repo

Creeu alguns fitxers de demostració:

$ touch file1.txt file2.txt file3.txt

Afegiu els fitxers a SVN.

$ svn add file1.txt file2.txt file3.txt

A continuació, envieu els fitxers al repositori de la manera següent:

$ svn commit -m "Adding new files" file1.txt file2.txt file3.txt

Autentiqueu-vos amb les vostres credencials i els fitxers s'afegiran al repositori.

Podeu confirmar-ho tornant al navegador.

I això conclou la nostra guia sobre com instal·lar SVN a RHEL, CentOS, Fedora, Rocky Linux i AlmaLinux.