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.