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.