Hvernig á að setja upp SVN á RHEL-undirstaða Linux dreifingar
Skrifað á C forritunarmáli, Apache Subversion, í daglegu tali skammstafað sem SVN, er ókeypis og opinn uppspretta útgáfustýringarkerfi sem heldur utan um sögulegar útgáfur af skrám og möppum.
Einfaldlega sagt, SVN er einfaldlega útgáfa rekja spor einhvers sem gerir notendum kleift að senda breytingar sem gerðar eru á skrám í geymslu sem fylgist með hver gerði breytingarnar í hverri skrá. Geymslan er svipuð og skráaþjónn. Munurinn er sá að það fylgist með breytingum og gerir þér kleift að endurheimta eldri útgáfur af kóða eða rannsaka sögu skráarbreytinganna.
Í þessari grein leggjum við áherslu á hvernig á að setja upp SVN á RHEL-undirstaða Linux dreifingar eins og CentOS, Fedora, Rocky Linux og AlmaLinux.
Skref 1: Settu upp Apache Subversion (SVN) í Linux
Við byrjum á því að setja upp Subversion og tengda pakka eins og sýnt er.
$ sudo dnf install mod_dav_svn subversion
Skipunin setur einnig upp Apache HTTP vefþjón, ef hann var ekki settur upp fyrr. Þú getur ræst Apache og athugað stöðu þess eins og hér segir.
$ sudo systemctl start httpd $ sudo systemctl status httpd
Skref 2: Búðu til og stilltu staðbundna SVN geymslu
Þegar SVN hefur verið sett upp verður næsta skref að búa til geymslu til að geyma skrár og kóða.
Fyrst skaltu búa til SVN möppuna þar sem þú geymir kóðann.
$ sudo mkdir -p /var/www/svn
Næst skaltu fletta inn í möppuna og búa til geymslu með svadmin create skipuninni:
$ cd /var/www/svn/ $ sudo svadmin create demo_repo
Næst skaltu úthluta heimildum fyrir SVN skrána.
$ sudo chown -R apache.apache /var/www/svn
Skref 3: Búðu til Subversion stillingarskrá
Við þurfum að búa til Subversion stillingarskrá.
$ sudo vim /etc/httpd/conf.d/subversion.conf
Bættu við eftirfarandi línum.
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>
Vistaðu breytingarnar og hættu.
Skref 4: Búðu til viðurkennda Subversion notendur
Næsta skref er að búa til Subversion notendur þ.e. notendur sem munu fá aðgang að Subversion geymslunni. Til að búa til fyrsta notandann skaltu nota htpasswd skipunina með -cm
valkostinum. Lykilorðin eru vistuð í /etc/svn-auth-users skránni.
$ sudo htpasswd -cm /etc/svn-auth-users svnuser1
Til að búa til síðari notendur skaltu sleppa -c
valkostinum og nota aðeins -m
valkostinn.
$ sudo htpasswd -m /etc/svn-auth-users svnuser2 $ sudo htpasswd -m /etc/svn-auth-users svnuser3
Til að nota breytingarnar sem gerðar eru skaltu endurræsa Apache vefþjóninn.
$ sudo systemctl restart httpd
Skref 5: Stilltu eldvegg og SELinux fyrir SVN
Stilltu eldvegginn til að leyfa HTTP umferð á eldveggnum sem hér segir:
$ sudo firewall-cmd --add-service=http --permanent $ sudo firewall-cmd --reload
Að auki skaltu nota eftirfarandi SELinux reglur á geymslunni.
$ 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
Skref 6: Aðgangur að SVN úr vafra
Til að fá aðgang að SVN geymslunni þinni úr vafra skaltu einfaldlega fara á slóðina.
http://server-ip/svn/demo_repo
Til að byrja að nota SVN geymsluna þarftu að búa til vinnuafrit af SVN geymslunni á núverandi vinnuskrá með svn checkout skipuninni.
$ svn checkout URL
Til að bæta við nokkrum skrám skaltu fara í klónuðu möppuna:
$ cd demo_repo
Búðu til nokkrar kynningarskrár:
$ touch file1.txt file2.txt file3.txt
Bættu skránum við SVN.
$ svn add file1.txt file2.txt file3.txt
Sendu síðan skrárnar í geymsluna sem hér segir:
$ svn commit -m "Adding new files" file1.txt file2.txt file3.txt
Staðfestu með skilríkjum þínum og skránum verður bætt við geymsluna.
Þú getur staðfest þetta með því að fara aftur í vafrann.
Og þetta lýkur handbókinni okkar um hvernig á að setja upp SVN á RHEL, CentOS, Fedora, Rocky Linux og AlmaLinux.