RHEL-അധിഷ്ഠിത ലിനക്സ് വിതരണങ്ങളിൽ SVN എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം


C പ്രോഗ്രാമിംഗ് ഭാഷയിൽ എഴുതിയ, SVN എന്ന് ചുരുക്കി വിളിക്കപ്പെടുന്ന അപ്പാച്ചെ സബ്uവേർഷൻ, ഫയലുകളുടെയും ഡയറക്ടറികളുടെയും ചരിത്രപരമായ പതിപ്പുകളുടെ ട്രാക്ക് സൂക്ഷിക്കുന്ന ഒരു സ്വതന്ത്രവും ഓപ്പൺ സോഴ്uസ് പതിപ്പിംഗ് നിയന്ത്രണ സംവിധാനവുമാണ്.

ലളിതമായി പറഞ്ഞാൽ, SVN എന്നത് ഓരോ ഫയലിലും മാറ്റങ്ങൾ വരുത്തിയവരെ ട്രാക്ക് ചെയ്യുന്ന ഒരു ശേഖരത്തിലേക്ക് ഫയലുകളിൽ വരുത്തിയ മാറ്റങ്ങൾ അയയ്ക്കാൻ ഉപയോക്താക്കളെ അനുവദിക്കുന്ന ഒരു പതിപ്പ് ട്രാക്കർ ആണ്. ശേഖരം ഒരു ഫയൽ സെർവറിന് സമാനമാണ്. വ്യത്യാസം, ഇത് മാറ്റങ്ങൾ ട്രാക്കുചെയ്യുകയും കോഡിന്റെ പഴയ പതിപ്പുകൾ വീണ്ടെടുക്കാനും അല്ലെങ്കിൽ ഫയൽ മാറ്റങ്ങളുടെ ചരിത്രം അന്വേഷിക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു എന്നതാണ്.

ഈ ലേഖനത്തിൽ, CentOS, Fedora, Rocky Linux, AlmaLinux തുടങ്ങിയ RHEL-അധിഷ്ഠിത ലിനക്സ് വിതരണങ്ങളിൽ SVN എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം എന്നതിലാണ് ഞങ്ങൾ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത്.

ഘട്ടം 1: ലിനക്സിൽ അപ്പാച്ചെ സബ്വേർഷൻ (എസ്വിഎൻ) ഇൻസ്റ്റാൾ ചെയ്യുക

ഞങ്ങൾ ആദ്യം സബ്uവേർഷനും അതുമായി ബന്ധപ്പെട്ട പാക്കേജുകളും ഇൻസ്റ്റാൾ ചെയ്തുകൊണ്ട് ആരംഭിക്കുന്നു.

$ sudo dnf install mod_dav_svn subversion

കമാൻഡ് അപ്പാച്ചെ HTTP വെബ് സെർവറും ഇൻസ്റ്റാൾ ചെയ്യുന്നു, ഇത് നേരത്തെ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ. നിങ്ങൾക്ക് അപ്പാച്ചെ ആരംഭിച്ച് അതിന്റെ നില ഇനിപ്പറയുന്ന രീതിയിൽ പരിശോധിക്കാം.

$ sudo systemctl start httpd
$ sudo systemctl status httpd

ഘട്ടം 2: ഒരു ലോക്കൽ SVN റിപ്പോസിറ്ററി സൃഷ്uടിക്കുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യുക

SVN ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, ഫയലുകളും കോഡുകളും സംഭരിക്കുന്നതിനുള്ള ഒരു ശേഖരം സൃഷ്ടിക്കുക എന്നതാണ് അടുത്ത ഘട്ടം.

ആദ്യം, നിങ്ങൾ കോഡ് സംഭരിക്കുന്ന എസ്വിഎൻ ഡയറക്ടറി സൃഷ്ടിക്കുക.

$ sudo mkdir -p /var/www/svn

അടുത്തതായി, ഡയറക്ടറിയിലേക്ക് നാവിഗേറ്റ് ചെയ്ത് svadmin create കമാൻഡ് ഉപയോഗിച്ച് ഒരു ശേഖരം സൃഷ്ടിക്കുക:

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

അടുത്തതായി, SVN ഡയറക്ടറിയിലേക്ക് അനുമതികൾ നൽകുക.

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

ഘട്ടം 3: ഒരു സബ്uവേർഷൻ കോൺഫിഗറേഷൻ ഫയൽ സൃഷ്uടിക്കുക

ഞങ്ങൾക്ക് ഒരു സബ്uവേർഷൻ കോൺഫിഗറേഷൻ ഫയൽ സൃഷ്ടിക്കേണ്ടതുണ്ട്.

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

ഇനിപ്പറയുന്ന വരികൾ ചേർക്കുക.

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>

മാറ്റങ്ങൾ സംരക്ഷിച്ച് പുറത്തുകടക്കുക.

ഘട്ടം 4: അംഗീകൃത സബ്വേർഷൻ ഉപയോക്താക്കളെ സൃഷ്ടിക്കുക

സബ്uവേർഷൻ ഉപയോക്താക്കളെ സൃഷ്ടിക്കുക എന്നതാണ് അടുത്ത ഘട്ടം, അതായത് സബ്uവേർഷൻ റിപ്പോസിറ്ററി ആക്uസസ് ചെയ്യാൻ അധികാരമുള്ള ഉപയോക്താക്കൾ. ആദ്യ ഉപയോക്താവിനെ സൃഷ്uടിക്കുന്നതിന്, -cm ഓപ്ഷനുള്ള htpasswd കമാൻഡ് ഉപയോഗിക്കുക. പാസ്uവേഡുകൾ /etc/svn-auth-users ഫയലിൽ സേവ് ചെയ്തിരിക്കുന്നു.

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

തുടർന്നുള്ള ഉപയോക്താക്കളെ സൃഷ്ടിക്കുന്നതിന്, -c ഓപ്ഷൻ ഒഴിവാക്കി -m ഓപ്ഷൻ മാത്രം ഉപയോഗിക്കുക.

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

വരുത്തിയ മാറ്റങ്ങൾ പ്രയോഗിക്കാൻ, അപ്പാച്ചെ വെബ്സെർവർ പുനരാരംഭിക്കുക.

$ sudo systemctl restart httpd

ഘട്ടം 5: SVN-നായി ഫയർവാളും SELinux-ഉം കോൺഫിഗർ ചെയ്യുക

ഫയർവാളിൽ HTTP ട്രാഫിക് അനുവദിക്കുന്നതിന് ഫയർവാൾ കോൺഫിഗർ ചെയ്യുക:

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

കൂടാതെ, റിപ്പോസിറ്ററിയിൽ ഇനിപ്പറയുന്ന SELinux നിയമങ്ങൾ പ്രയോഗിക്കുക.

$ 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

ഘട്ടം 6: ഒരു ബ്രൗസറിൽ നിന്ന് SVN ആക്സസ് ചെയ്യുന്നു

ഒരു ബ്രൗസറിൽ നിന്ന് നിങ്ങളുടെ SVN റിപ്പോസിറ്ററി ആക്സസ് ചെയ്യുന്നതിന്, URL-ലേക്ക് പോകുക.

http://server-ip/svn/demo_repo

SVN റിപ്പോസിറ്ററി ഉപയോഗിക്കുന്നത് ആരംഭിക്കുന്നതിന്, svn ചെക്ക്ഔട്ട് കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങളുടെ നിലവിലെ വർക്കിംഗ് ഡയറക്ടറിയിൽ SVN ശേഖരണത്തിന്റെ ഒരു വർക്കിംഗ് കോപ്പി ഉണ്ടാക്കേണ്ടതുണ്ട്.

$ svn checkout URL 

ചില ഫയലുകൾ ചേർക്കാൻ, ക്ലോൺ ചെയ്ത ഡയറക്ടറിയിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക:

$ cd demo_repo

ചില ഡെമോ ഫയലുകൾ സൃഷ്ടിക്കുക:

$ touch file1.txt file2.txt file3.txt

SVN-ലേക്ക് ഫയലുകൾ ചേർക്കുക.

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

തുടർന്ന് ഇനിപ്പറയുന്ന രീതിയിൽ ഫയലുകൾ റിപ്പോസിറ്ററിയിലേക്ക് സമർപ്പിക്കുക:

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

നിങ്ങളുടെ ക്രെഡൻഷ്യലുകൾ ഉപയോഗിച്ച് ആധികാരികമാക്കുക, ഫയലുകൾ ശേഖരത്തിലേക്ക് ചേർക്കും.

ബ്രൗസറിലേക്ക് തിരികെ പോയി നിങ്ങൾക്ക് ഇത് സ്ഥിരീകരിക്കാം.

RHEL, CentOS, Fedora, Rocky Linux, AlmaLinux എന്നിവയിൽ SVN എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം എന്നതിനെക്കുറിച്ചുള്ള ഞങ്ങളുടെ ഗൈഡ് ഇത് അവസാനിപ്പിക്കുന്നു.