Jinsi ya Kufunga SVN kwenye Usambazaji wa Linux Msingi wa RHEL


Imeandikwa katika lugha ya programu ya C, Ubadilishaji wa Apache, uliofupishwa kwa mazungumzo kama SVN, ni mfumo wa udhibiti wa uchapishaji wa chanzo huria ambao hufuatilia matoleo ya kihistoria ya faili na saraka.

Kwa ufupi, SVN ni kifuatiliaji cha toleo ambacho huruhusu watumiaji kutuma mabadiliko yaliyofanywa kwa faili kwenye hazina ambayo hufuatilia ni nani aliyefanya mabadiliko katika kila faili. Hifadhi ni sawa na seva ya faili. Tofauti ni kwamba inafuatilia mabadiliko na inakuwezesha kurejesha matoleo ya zamani ya msimbo au kuchunguza historia ya mabadiliko ya faili.

Katika nakala hii, tunazingatia jinsi ya kusakinisha SVN kwenye usambazaji wa Linux-msingi wa RHEL kama vile CentOS, Fedora, Rocky Linux, na AlmaLinux.

Hatua ya 1: Sakinisha Ubadilishaji wa Apache (SVN) kwenye Linux

Tunaanza kwa kusakinisha kwanza Ubadilishaji na vifurushi vinavyohusika kama inavyoonyeshwa.

$ sudo dnf install mod_dav_svn subversion

Amri pia husakinisha seva ya wavuti ya Apache HTTP, ikiwa haikusakinishwa mapema. Unaweza kuanza Apache na uangalie hali yake kama ifuatavyo.

$ sudo systemctl start httpd
$ sudo systemctl status httpd

Hatua ya 2: Unda na Usanidi Hifadhi ya SVN ya Karibu

Mara tu SVN ikiwa imewekwa, hatua inayofuata itakuwa kuunda hazina ya kuhifadhi faili na msimbo.

Kwanza, tengeneza saraka ya SVN ambayo utahifadhi msimbo.

$ sudo mkdir -p /var/www/svn

Ifuatayo, nenda kwenye saraka na uunda hazina kwa kutumia svadmin kuunda amri:

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

Ifuatayo, toa ruhusa kwa saraka ya SVN.

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

Hatua ya 3: Unda Faili ya Usanidi wa Ubadilishaji

Tunahitaji kuunda faili ya usanidi ya Ubadilishaji.

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

Ongeza mistari ifuatayo.

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>

Hifadhi mabadiliko na uondoke.

Hatua ya 4: Unda Watumiaji Walioidhinishwa wa Ubadilishaji

Hatua inayofuata ni kuunda watumiaji wa Ubadilishaji, yaani watumiaji ambao wataidhinishwa kufikia hazina ya Ubadilishaji. Ili kuunda mtumiaji wa kwanza, tumia amri ya htpasswd na chaguo la -cm. Nywila zimehifadhiwa katika faili ya /etc/svn-auth-users.

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

Ili kuunda watumiaji wanaofuata, acha chaguo la -c na utumie chaguo la -m pekee.

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

Ili kutekeleza mabadiliko yaliyofanywa, anzisha tena seva ya wavuti ya Apache.

$ sudo systemctl restart httpd

Hatua ya 5: Sanidi Firewall na SELinux kwa SVN

Sanidi ngome ili kuruhusu trafiki ya HTTP kwenye ngome kama ifuatavyo:

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

Kwa kuongeza, tumia sheria zifuatazo za SELinux kwenye hazina.

$ 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

Hatua ya 6: Kupata SVN kutoka kwa Kivinjari

Ili kufikia hazina yako ya SVN kutoka kwa kivinjari, nenda tu kwa URL.

http://server-ip/svn/demo_repo

Ili kuanza kutumia hazina ya SVN, unahitaji kuunda nakala inayofanya kazi ya hazina ya SVN kwenye saraka yako ya sasa ya kufanya kazi kwa kutumia amri ya svn ya kulipia.

$ svn checkout URL 

Ili kuongeza faili kadhaa, nenda kwenye saraka iliyobuniwa:

$ cd demo_repo

Unda faili za onyesho:

$ touch file1.txt file2.txt file3.txt

Ongeza faili kwenye SVN.

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

Kisha weka faili kwenye hazina kama ifuatavyo:

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

Thibitisha kwa kitambulisho chako na faili zitaongezwa kwenye hazina.

Unaweza kuthibitisha hili kwa kurudi kwenye kivinjari.

Na hii inahitimisha mwongozo wetu juu ya jinsi ya kusakinisha SVN kwenye RHEL, CentOS, Fedora, Rocky Linux, na AlmaLinux.