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.