Kako instalirati SVN na RHEL-bazirane Linux distribucije


Napisan u C programskom jeziku, Apache Subversion, kolokvijalno skraćeno kao SVN, je besplatan sistem kontrole verzija otvorenog koda koji prati istoriju verzije datoteka i direktorija.

Jednostavno rečeno, SVN je jednostavno alat za praćenje verzija koji omogućava korisnicima da pošalju promjene napravljene u fajlovima u spremište koje prati ko je napravio promjene u svakom fajlu. Repozitorijum je sličan serveru datoteka. Razlika je u tome što prati promjene i omogućava vam da oporavite starije verzije koda ili ispitate historiju promjena datoteke.

U ovom članku fokusiramo se na to kako instalirati SVN na RHEL-bazirane Linux distribucije kao što su CentOS, Fedora, Rocky Linux, i AlmaLinux.

Korak 1: Instalirajte Apache Subverziju (SVN) u Linux

Počinjemo tako što prvo instaliramo Subverziju i njene pridružene pakete kao što je prikazano.

sudo dnf install mod_dav_svn subversion

Naredba također instalira Apache HTTP web server, ako nije instaliran ranije. Možete pokrenuti Apache i provjeriti njegov status na sljedeći način.

sudo systemctl start httpd
sudo systemctl status httpd

Korak 2: Kreirajte i konfigurišite lokalno SVN spremište

Kada se SVN instalira, sljedeći korak će biti kreiranje spremišta za pohranjivanje datoteka i koda.

Prvo kreirajte SVN direktorij u koji ćete pohraniti kod.

sudo mkdir -p /var/www/svn

Zatim idite u direktorij i kreirajte spremište pomoću naredbe svadmin create:

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

Zatim dodijelite dozvole SVN direktoriju.

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

Korak 3: Kreirajte Subverzioni konfiguracijski fajl

Moramo kreirati Subversion konfiguracijski fajl.

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

Dodajte sljedeće redove.

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>

Sačuvajte promjene i izađite.

Korak 4: Kreirajte ovlaštene Subverzione korisnike

Sljedeći korak je kreiranje Subverzionih korisnika, tj. korisnika koji će biti ovlašteni za pristup Subverzionom spremištu. Da kreirate prvog korisnika, koristite naredbu htpasswd sa opcijom -cm. Lozinke se čuvaju u datoteci /etc/svn-auth-users.

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

Da kreirate sljedeće korisnike, izostavite opciju -c i koristite samo opciju -m.

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

Da biste primijenili napravljene promjene, ponovo pokrenite Apache web server.

sudo systemctl restart httpd

Korak 5: Konfigurišite zaštitni zid i SELinux za SVN

Konfigurirajte zaštitni zid da dozvoli HTTP promet na zaštitnom zidu na sljedeći način:

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

Dodatno, primijenite sljedeća SELinux pravila na spremište.

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

Korak 6: Pristup SVN-u iz pretraživača

Da pristupite svom SVN spremištu iz pretraživača, jednostavno idite na URL.

http://server-ip/svn/demo_repo

Korišćenje SVN spremišta

Da biste počeli da koristite SVN spremište, potrebno je da kreirate radnu kopiju SVN spremišta u vašem trenutnom radnom direktorijumu koristeći naredbu svn checkout.

svn checkout URL 

Da dodate neke datoteke, idite do kloniranog direktorija:

cd demo_repo

Napravite neke demo fajlove:

touch file1.txt file2.txt file3.txt

Dodajte fajlove u SVN.

svn add file1.txt file2.txt file3.txt

Zatim urezujte datoteke u spremište na sljedeći način:

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

Autentifikujte se sa svojim akreditivima i fajlovi će biti dodati u spremište.

Ovo možete potvrditi vraćanjem u pretraživač.

I ovo završava naš vodič o tome kako instalirati SVN na RHEL, CentOS, Fedora, Rocky Linux, i AlmaLinux.