Giunsa ang Pag-install sa SVN sa RHEL-Based Linux Distributions


Gisulat sa C programming language, Apache Subversion, colloquially abbreviated as SVN, is a free and open-source versioning control system that keep track of historical versions of files and directories.

Sa yano nga pagkasulti, ang SVN usa lamang ka bersyon nga tracker nga nagtugot sa mga tiggamit sa pagpadala sa mga pagbag-o nga gihimo sa mga file sa usa ka repository nga nagsubay kung kinsa ang naghimo sa mga pagbag-o sa matag file. Ang repository susama sa usa ka file server. Ang kalainan mao nga kini nagsubay sa mga pagbag-o ug nagtugot kanimo sa pagbawi sa mga daan nga bersyon sa code o pagsusi sa kasaysayan sa mga pagbag-o sa file.

Niini nga artikulo, nagpunting kami kung giunsa ang pag-install sa SVN sa mga distribusyon sa RHEL-Based Linux sama sa CentOS, Fedora, Rocky Linux, ug AlmaLinux.

Lakang 1: I-install ang Apache Subversion (SVN) sa Linux

Magsugod kami pinaagi sa una nga pag-install sa Subversion ug ang kauban nga mga pakete sama sa gipakita.

$ sudo dnf install mod_dav_svn subversion

Ang mando nag-install usab sa Apache HTTP web server, kung wala kini na-install sa sayo pa. Mahimo nimong sugdan ang Apache ug susihon ang kahimtang niini sama sa mosunod.

$ sudo systemctl start httpd
$ sudo systemctl status httpd

Lakang 2: Paghimo ug Pag-configure sa Lokal nga SVN Repository

Kung ma-install na ang SVN, ang sunod nga lakang mao ang paghimo og repository alang sa pagtipig sa mga file ug code.

Una, paghimo sa direktoryo sa SVN diin imong tipigan ang code.

$ sudo mkdir -p /var/www/svn

Sunod, pag-navigate sa direktoryo ug paghimo og repository gamit ang svadmin create command:

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

Sunod, itudlo ang mga permiso sa direktoryo sa SVN.

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

Lakang 3: Paghimo og Subversion Configuration File

Kinahanglan namon nga maghimo usa ka file sa pagsumpo sa Subversion.

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

Idugang ang mosunod nga mga linya.

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>

I-save ang mga pagbag-o ug paggawas.

Lakang 4: Paghimo Awtorisadong mga Gumagamit sa Subversion

Ang sunod nga lakang mao ang paghimo sa mga tiggamit sa Subversion ie mga tiggamit nga gitugotan nga maka-access sa repository sa Subversion. Sa paghimo sa unang user, gamita ang htpasswd command gamit ang -cm nga opsyon. Ang mga password gitipigan sa /etc/svn-auth-users file.

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

Para makahimo ug sunod-sunod nga mga tiggamit, laktawan ang -c nga opsyon ug gamita lang ang -m nga opsyon.

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

Aron magamit ang mga pagbag-o nga gihimo, i-restart ang Apache webserver.

$ sudo systemctl restart httpd

Lakang 5: I-configure ang Firewall ug SELinux para sa SVN

I-configure ang firewall aron tugotan ang trapiko sa HTTP sa firewall sama sa mosunod:

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

Dugang pa, i-apply ang mosunod nga mga lagda sa SELinux sa repository.

$ 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

Lakang 6: Pag-access sa SVN gikan sa usa ka Browser

Aron ma-access ang imong SVN repository gikan sa usa ka browser, adto lang sa URL.

http://server-ip/svn/demo_repo

Sa pagsugod sa paggamit sa SVN repository, kinahanglan nimo nga maghimo ug working copy sa SVN repository sa imong kasamtangan nga working directory gamit ang svn checkout command.

$ svn checkout URL 

Aron makadugang pipila ka mga file, pag-navigate sa gi-clone nga direktoryo:

$ cd demo_repo

Paghimo pipila ka mga demo file:

$ touch file1.txt file2.txt file3.txt

Idugang ang mga file sa SVN.

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

Dayon itugyan ang mga file ngadto sa repository sama sa mosunod:

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

Pagpamatuod sa imong mga kredensyal ug ang mga file idugang sa repository.

Mahimo nimong kumpirmahon kini pinaagi sa pagbalik sa browser.

Ug kini nagtapos sa among giya kung giunsa ang pag-install sa SVN sa RHEL, CentOS, Fedora, Rocky Linux, ug AlmaLinux.