Otu esi etinye SVN na nkesa Linux dabere na RHEL


Edere n'asụsụ mmemme C, Subversion Apache, nke akpọrọ SVN, bụ sistemụ njikwa ụdị n'efu na nke mepere emepe nke na-edobe ụdị faịlụ na akwụkwọ ndekọ aha akụkọ ihe mere eme.

N'ikwu ya n'ụzọ dị mfe, SVN bụ naanị ụdị tracker nke na-enye ndị ọrụ ohere izipu mgbanwe emere na faịlụ na ebe nchekwa nke na-egwu ndị mere mgbanwe na faịlụ ọ bụla. Ebe nchekwa ahụ yiri nkesa faịlụ. Ihe dị iche bụ na ọ na-agbanwe mgbanwe ma na-enye gị ohere ị nwetaghachi ụdị koodu ochie ma ọ bụ nyochaa akụkọ ihe mere eme nke faịlụ faịlụ.

N'isiokwu a, anyị na-elekwasị anya ka esi etinye SVN na nkesa Linux dabeere na RHEL dị ka CentOS, Fedora, Rocky Linux, na AlmaLinux.

Kwụpụ 1: Wụnye Subversion Apache (SVN) na Linux

Anyị na-amalite site na ibu ụzọ wụnye Subversion na ngwugwu metụtara ya dị ka egosiri.

$ sudo dnf install mod_dav_svn subversion

Iwu a na-etinyekwa sava weebụ Apache HTTP, ma ọ bụrụ na etinyeghị ya na mbụ. Ị nwere ike ịmalite Apache wee lelee ọkwa ya dị ka ndị a.

$ sudo systemctl start httpd
$ sudo systemctl status httpd

Kwụpụ 2: Mepụta ma hazie ebe nchekwa SVN mpaghara

Ozugbo arụnyere SVN, nzọụkwụ ọzọ ga-abụ ịmepụta ebe nchekwa maka ịchekwa faịlụ na koodu.

Mbụ, mepụta SVN ndekọ nke ị ga-echekwa koodu.

$ sudo mkdir -p /var/www/svn

Na-esote, banye na ndekọ ma mepụta ebe nchekwa site na iji iwu nke svadmin:

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

Na-esote, kenye ikike na ndekọ ndekọ SVN.

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

Kwụpụ 3: Mepụta faịlụ nhazi ngbanwe

Anyị kwesịrị ịmepụta faịlụ nhazi nke Subversion.

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

Tinye ahịrị ndị a.

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>

Chekwaa mgbanwe wee pụọ.

Kwụpụ 4: Mepụta ndị ọrụ nbibi ikike

Nzọụkwụ ọzọ bụ ịmepụta ndị ọrụ Subversion ya bụ ndị ọrụ a ga-enye ikike ịnweta ebe nchekwa subversion. Iji mepụta onye ọrụ mbụ, jiri iwu htpasswd na nhọrọ -cm. A na-echekwa okwuntughe na faịlụ /etc/svn-auth-users.

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

Iji mepụta ndị ọrụ na-esote, hapụ nhọrọ -c wee jiri naanị nhọrọ -m.

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

Iji tinye mgbanwe ndị emere, malitegharịa sava weebụ Apache.

$ sudo systemctl restart httpd

Kwụpụ 5: Hazie Firewall na SELinux maka SVN

Hazie firewall iji kwe ka okporo ụzọ HTTP na firewall dị ka ndị a:

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

Na mgbakwunye, tinye iwu SELinux ndị a na ebe nchekwa.

$ 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

Kwụpụ 6: Nweta SVN site na ihe nchọgharị

Iji nweta ebe nchekwa SVN gị site na ihe nchọgharị, naanị gaa na URL.

http://server-ip/svn/demo_repo

Iji malite iji ebe nchekwa SVN, ịkwesịrị ịmepụta akwụkwọ nchekwa SVN na-arụ ọrụ na akwụkwọ ndekọ aha gị ugbu a site na iji iwu ndenye ego svn.

$ svn checkout URL 

Ka ịgbakwunye ụfọdụ faịlụ, gaa na ndekọ aha cloned:

$ cd demo_repo

Mepụta faịlụ ngosi ụfọdụ:

$ touch file1.txt file2.txt file3.txt

Tinye faịlụ na SVN.

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

Mgbe ahụ nyefee faịlụ na ebe nchekwa dị ka ndị a:

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

Jiri nzere gị jiri nyocha wee tinye faịlụ ndị ahụ na ebe nchekwa.

Ị nwere ike kwado nke a site na ịlaghachi na ihe nchọgharị ahụ.

Nke a mechiri ntuziaka anyị maka otu esi etinye SVN na RHEL, CentOS, Fedora, Rocky Linux na AlmaLinux.