Kif Tinstalla SVN fuq Distribuzzjonijiet Linux Ibbażati fuq RHEL


Miktub fil-lingwa ta' programmar C, Apache Subversion, imqassar b'mod kolokwali bħala SVN, hija sistema ta' kontroll ta' verżjonijiet b'xejn u open-source li żżomm kont tal-verżjonijiet storiċi ta' fajls u direttorji.

Fi kliem sempliċi, SVN huwa sempliċiment tracker tal-verżjoni li jippermetti lill-utenti jibagħtu bidliet li saru lill-fajls lil repożitorju li jsegwi min għamel il-bidliet f'kull fajl. Ir-repożitorju huwa simili għal server tal-fajls. Id-differenza hija li ssegwi l-bidliet u tippermettilek tirkupra verżjonijiet eqdem tal-kodiċi jew tinvestiga l-istorja tal-bidliet tal-fajl.

F'dan l-artikolu, aħna niffukaw fuq kif tinstalla SVN fuq distribuzzjonijiet Linux Ibbażati fuq RHEL bħal CentOS, Fedora, Rocky Linux, u AlmaLinux.

Pass 1: Installa Apache Subversion (SVN) fil-Linux

Nibdew billi l-ewwel ninstallaw Subversion u l-pakketti assoċjati tiegħu kif muri.

$ sudo dnf install mod_dav_svn subversion

Il-kmand jinstalla wkoll is-server tal-web Apache HTTP, jekk ma kienx installat qabel. Tista 'tibda Apache u tiċċekkja l-istatus tiegħu kif ġej.

$ sudo systemctl start httpd
$ sudo systemctl status httpd

Pass 2: Oħloq u Ikkonfigura Repożitorju SVN Lokali

Ladarba SVN jiġi installat, il-pass li jmiss ikun li jinħoloq repożitorju għall-ħażna ta 'fajls u kodiċi.

L-ewwel, oħloq id-direttorju SVN li fih ser taħżen il-kodiċi.

$ sudo mkdir -p /var/www/svn

Sussegwentement, innaviga fid-direttorju u oħloq repożitorju billi tuża l-kmand svadmin create:

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

Sussegwentement, tassenja l-permessi lid-direttorju SVN.

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

Pass 3: Oħloq Fajl ta' Konfigurazzjoni ta' Subversion

Għandna bżonn noħolqu fajl ta 'konfigurazzjoni ta' Subversion.

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

Żid il-linji li ġejjin.

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>

Issejvja l-bidliet u ħruġ.

Pass 4: Oħloq Utenti Awtorizzati tas-Subversion

Il-pass li jmiss huwa li jinħolqu utenti tas-Subversion jiġifieri utenti li se jkunu awtorizzati jaċċessaw ir-repożitorju tas-Subversion. Biex toħloq l-ewwel utent, uża l-kmand htpasswd bl-għażla -cm. Il-passwords jiġu ssejvjati fil-fajl /etc/svn-auth-users.

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

Biex toħloq utenti sussegwenti, ħalli barra l-għażla -c u uża biss l-għażla -m.

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

Biex tapplika l-bidliet li saru, ibda mill-ġdid il-webserver Apache.

$ sudo systemctl restart httpd

Pass 5: Ikkonfigura Firewall u SELinux għal SVN

Ikkonfigura l-firewall biex tippermetti traffiku HTTP fuq il-firewall kif ġej:

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

Barra minn hekk, applika r-regoli SELinux li ġejjin fuq ir-repożitorju.

$ 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

Pass 6: Aċċess għal SVN minn Browser

Biex taċċessa r-repożitorju SVN tiegħek minn browser, sempliċement mur fil-URL.

http://server-ip/svn/demo_repo

Biex tibda tuża r-repożitorju SVN, trid toħloq kopja ta' ħidma tar-repożitorju SVN fid-direttorju tax-xogħol attwali tiegħek billi tuża l-kmand ta' checkout svn.

$ svn checkout URL 

Biex iżżid xi fajls, innaviga fid-direttorju kklonat:

$ cd demo_repo

Oħloq xi fajls demo:

$ touch file1.txt file2.txt file3.txt

Żid il-fajls ma SVN.

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

Imbagħad ikkommetti l-fajls fir-repożitorju kif ġej:

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

Awtentika bil-kredenzjali tiegħek u l-fajls jiġu miżjuda mar-repożitorju.

Tista' tikkonferma dan billi tmur lura għall-browser.

U dan jikkonkludi l-gwida tagħna dwar kif tinstalla SVN fuq RHEL, CentOS, Fedora, Rocky Linux, u AlmaLinux.