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.