Kako namestiti SVN na distribucije Linuxa, ki temeljijo na RHEL


Apache Subversion, napisan v programskem jeziku C, je pogovorno okrajšan kot SVN, brezplačen in odprtokoden sistem za nadzor različic, ki spremlja zgodovinske različice datotek in imenikov.

Preprosto povedano, SVN je preprosto sledilnik različic, ki uporabnikom omogoča pošiljanje sprememb, narejenih v datotekah, v skladišče, ki spremlja, kdo je naredil spremembe v vsaki datoteki. Repozitorij je podoben datotečnemu strežniku. Razlika je v tem, da sledi spremembam in vam omogoča, da obnovite starejše različice kode ali preverite zgodovino sprememb datoteke.

V tem članku se osredotočamo na to, kako namestiti SVN na distribucije Linuxa, ki temeljijo na RHEL, kot so CentOS, Fedora, Rocky Linux in AlmaLinux.

1. korak: Namestite Apache Subversion (SVN) v Linux

Začnemo tako, da najprej namestimo Subversion in z njim povezane pakete, kot je prikazano.

$ sudo dnf install mod_dav_svn subversion

Ukaz namesti tudi spletni strežnik Apache HTTP, če ni bil nameščen prej. Apache lahko zaženete in preverite njegovo stanje na naslednji način.

$ sudo systemctl start httpd
$ sudo systemctl status httpd

2. korak: Ustvarite in konfigurirajte lokalno skladišče SVN

Ko je SVN nameščen, bo naslednji korak izdelava repozitorija za shranjevanje datotek in kode.

Najprej ustvarite imenik SVN, v katerega boste shranili kodo.

$ sudo mkdir -p /var/www/svn

Nato se pomaknite v imenik in ustvarite repozitorij z ukazom svadmin create:

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

Nato dodelite dovoljenja imeniku SVN.

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

3. korak: Ustvarite konfiguracijsko datoteko Subversion

Ustvariti moramo konfiguracijsko datoteko Subversion.

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

Dodajte naslednje vrstice.

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>

Shranite spremembe in zapustite.

4. korak: Ustvarite pooblaščene uporabnike Subversion

Naslednji korak je ustvarjanje uporabnikov Subversion, torej uporabnikov, ki bodo pooblaščeni za dostop do skladišča Subversion. Če želite ustvariti prvega uporabnika, uporabite ukaz htpasswd z možnostjo -cm. Gesla so shranjena v datoteki /etc/svn-auth-users.

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

Če želite ustvariti naslednje uporabnike, izpustite možnost -c in uporabite samo možnost -m.

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

Če želite uporabiti izvedene spremembe, znova zaženite spletni strežnik Apache.

$ sudo systemctl restart httpd

5. korak: Konfigurirajte požarni zid in SELinux za SVN

Konfigurirajte požarni zid, da dovoli promet HTTP na požarnem zidu, kot sledi:

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

Poleg tega za skladišče uporabite naslednja pravila SELinux.

$ 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

6. korak: Dostop do SVN iz brskalnika

Za dostop do svojega skladišča SVN iz brskalnika preprosto pojdite na URL.

http://server-ip/svn/demo_repo

Če želite začeti uporabljati repozitorij SVN, morate z ukazom svn checkout ustvariti delovno kopijo skladišča SVN v vašem trenutnem delovnem imeniku.

$ svn checkout URL 

Če želite dodati nekaj datotek, se pomaknite do kloniranega imenika:

$ cd demo_repo

Ustvarite nekaj demo datotek:

$ touch file1.txt file2.txt file3.txt

Dodajte datoteke v SVN.

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

Nato datoteke pošljite v skladišče, kot sledi:

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

Preverjanje pristnosti s svojimi poverilnicami in datoteke bodo dodane v skladišče.

To lahko potrdite tako, da se vrnete v brskalnik.

In s tem zaključujemo naš vodnik o tem, kako namestiti SVN na RHEL, CentOS, Fedora, Rocky Linux in AlmaLinux.