Ricerca nel sito web

Come installare SVN su distribuzioni Linux basate su RHEL


Scritto nel linguaggio di programmazione C, Apache Subversion, colloquialmente abbreviato come SVN, è un sistema di controllo delle versioni gratuito e open source che tiene traccia dello storico versioni di file e directory.

In poche parole, SVN è semplicemente un tracker di versione che consente agli utenti di inviare le modifiche apportate ai file a un repository che tiene traccia di chi ha apportato le modifiche in ciascun file. Il repository è simile a un file server. La differenza è che tiene traccia delle modifiche e consente di recuperare versioni precedenti del codice o sondare la cronologia delle modifiche ai file.

In questo articolo, ci concentreremo su come installare SVN su distribuzioni Linux basate su RHEL come CentOS, Fedora, Rocky Linux, e AlmaLinux.

Passaggio 1: installa Apache Subversion (SVN) in Linux

Iniziamo installando prima Subversion e i suoi pacchetti associati come mostrato.

sudo dnf install mod_dav_svn subversion

Il comando installa anche il server Web Apache HTTP, se non è stato installato in precedenza. Puoi avviare Apache e controllarne lo stato come segue.

sudo systemctl start httpd
sudo systemctl status httpd

Passaggio 2: crea e configura un repository SVN locale

Una volta installato SVN, il passo successivo sarà creare un repository per archiviare file e codice.

Innanzitutto, crea la directory SVN in cui memorizzerai il codice.

sudo mkdir -p /var/www/svn

Successivamente, accedi alla directory e crea un repository utilizzando il comando svadmin create:

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

Successivamente, assegna le autorizzazioni alla directory SVN.

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

Passaggio 3: creare un file di configurazione di Subversion

Dobbiamo creare un file di configurazione Subversion.

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

Aggiungi le seguenti righe.

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>

Salva le modifiche ed esci.

Passaggio 4: creare utenti Subversion autorizzati

Il passo successivo è creare utenti Subversion, ovvero utenti che saranno autorizzati ad accedere al repository Subversion. Per creare il primo utente, utilizza il comando htpasswd con l'opzione -cm. Le password vengono salvate nel file /etc/svn-auth-users.

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

Per creare utenti successivi, ometti l'opzione -c e utilizza solo l'opzione -m.

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

Per applicare le modifiche apportate, riavvia il server web Apache.

sudo systemctl restart httpd

Passaggio 5: configurare Firewall e SELinux per SVN

Configurare il firewall per consentire il traffico HTTP sul firewall come segue:

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

Inoltre, applica le seguenti regole SELinux sul repository.

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

Passaggio 6: accesso a SVN da un browser

Per accedere al tuo repository SVN da un browser, vai semplicemente all'URL.

http://server-ip/svn/demo_repo

Utilizzo del repository SVN

Per iniziare a utilizzare il repository SVN, devi creare una copia funzionante del repository SVN nella directory di lavoro corrente utilizzando il comando svn checkout.

svn checkout URL 

Per aggiungere alcuni file, vai alla directory clonata:

cd demo_repo

Crea alcuni file dimostrativi:

touch file1.txt file2.txt file3.txt

Aggiungi i file a SVN.

svn add file1.txt file2.txt file3.txt

Quindi eseguire il commit dei file nel repository come segue:

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

Autenticati con le tue credenziali e i file verranno aggiunti al repository.

Puoi confermarlo tornando al browser.

E con questo si conclude la nostra guida su come installare SVN su RHEL, CentOS, Fedora, Rocky Linux e < forte>AlmaLinux.