Hvordan installere SVN på RHEL-baserte Linux-distribusjoner


Skrevet i programmeringsspråket C, Apache Subversion, i daglig tale forkortet til SVN, er et gratis og åpen kildekode versjonskontrollsystem som holder styr på historisk versjoner av filer og kataloger.

Enkelt sagt er SVN ganske enkelt en versjonsporing som lar brukere sende endringer som er gjort i filer til et arkiv som sporer hvem som har gjort endringene i hver fil. Depotet ligner på en filserver. Forskjellen er at den sporer endringer og lar deg gjenopprette eldre versjoner av kode eller undersøke historien til filendringene.

I denne artikkelen fokuserer vi på hvordan du installerer SVN på RHEL-baserte Linux-distribusjoner som CentOS, Fedora, Rocky Linux, og AlmaLinux.

Trinn 1: Installer Apache Subversion (SVN) i Linux

Vi begynner med først å installere Subversion og tilhørende pakker som vist.

sudo dnf install mod_dav_svn subversion

Kommandoen installerer også Apache HTTP-nettserveren, hvis den ikke ble installert tidligere. Du kan starte Apache og sjekke statusen som følger.

sudo systemctl start httpd
sudo systemctl status httpd

Trinn 2: Opprett og konfigurer et lokalt SVN-lager

Når SVN er installert, vil neste trinn være å lage et depot for lagring av filer og kode.

Først oppretter du SVN-katalogen der du vil lagre koden.

sudo mkdir -p /var/www/svn

Deretter navigerer du inn i katalogen og oppretter et depot ved å bruke kommandoen svadmin create:

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

Deretter tildeler du tillatelser til SVN-katalogen.

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

Trinn 3: Opprett en Subversion-konfigurasjonsfil

Vi må opprette en konfigurasjonsfil for Subversion.

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

Legg til følgende linjer.

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>

Lagre endringene og avslutt.

Trinn 4: Opprett autoriserte Subversion-brukere

Det neste trinnet er å opprette Subversion-brukere, dvs. brukere som vil få tilgang til Subversion-depotet. For å opprette den første brukeren, bruk htpasswd-kommandoen med -cm-alternativet. Passordene lagres i filen /etc/svn-auth-users.

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

For å opprette etterfølgende brukere, slipp -c-alternativet og bruk kun -m-alternativet.

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

For å bruke endringene som er gjort, start Apache-nettserveren på nytt.

sudo systemctl restart httpd

Trinn 5: Konfigurer brannmur og SELinux for SVN

Konfigurer brannmuren for å tillate HTTP-trafikk på brannmuren som følger:

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

Bruk i tillegg følgende SELinux-regler på depotet.

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

Trinn 6: Få tilgang til SVN fra en nettleser

For å få tilgang til SVN-depotet ditt fra en nettleser, gå ganske enkelt til URL-en.

http://server-ip/svn/demo_repo

Bruker SVN Repository

For å begynne å bruke SVN-depotet, må du lage en arbeidskopi av SVN-depotet på din nåværende arbeidskatalog ved å bruke svn checkout-kommandoen.

svn checkout URL 

For å legge til noen filer, naviger til den klonede katalogen:

cd demo_repo

Lag noen demofiler:

touch file1.txt file2.txt file3.txt

Legg filene til SVN.

svn add file1.txt file2.txt file3.txt

Send deretter filene til depotet som følger:

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

Autentiser med legitimasjonen din, og filene vil bli lagt til depotet.

Du kan bekrefte dette ved å gå tilbake til nettleseren.

Og dette avslutter vår veiledning om hvordan du installerer SVN på RHEL, CentOS, Fedora, Rocky Linux, og AlmaLinux.