പതിപ്പ് നിയന്ത്രണത്തിനായി അപ്പാച്ചെ സബ്uവേർഷൻ SVN, TortoiseSVN എന്നിവ സജ്ജീകരിക്കുന്നതിനുള്ള ആത്യന്തിക ഗൈഡ്


നിങ്ങളുടെ ജോലിക്ക് പതിവായി അപ്uഡേറ്റ് ചെയ്യുന്ന പ്രമാണങ്ങളും വെബ് പേജുകളും മറ്റ് തരത്തിലുള്ള ഫയലുകളും കൈകാര്യം ചെയ്യേണ്ടതുണ്ടെങ്കിൽ, നിങ്ങൾ ഇതിനകം അങ്ങനെ ചെയ്യുന്നില്ലെങ്കിൽ ഒരു പതിപ്പ് നിയന്ത്രണ സംവിധാനം ഉപയോഗിക്കാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം.

മറ്റ് കാര്യങ്ങൾക്കൊപ്പം, തന്നിരിക്കുന്ന ഫയലിൽ വരുത്തിയ മാറ്റങ്ങൾ ട്രാക്ക് ചെയ്യാൻ ഇത് നിങ്ങളെ (ഒപ്പം സഹകാരികളുടെ ഒരു കൂട്ടം) അനുവദിക്കുന്നു, ഒരു പ്രശ്നം നേരിടുകയോ അല്ലെങ്കിൽ അപ്ഡേറ്റ് പ്രതീക്ഷിച്ച ഫലം നൽകാതിരിക്കുകയോ ചെയ്താൽ മുമ്പത്തെ പതിപ്പിലേക്ക് മടങ്ങാൻ നിങ്ങളെ അനുവദിക്കുന്നു. .

സ്വതന്ത്ര സോഫ്uറ്റ്uവെയർ ഇക്കോസിസ്റ്റത്തിൽ, ഏറ്റവും വ്യാപകമായി ഉപയോഗിക്കുന്ന പതിപ്പ് നിയന്ത്രണ സംവിധാനത്തെ അപ്പാച്ചെ സബ്uവേർഷൻ (അല്ലെങ്കിൽ ചുരുക്കത്തിൽ എസ്uവിഎൻ) എന്ന് വിളിക്കുന്നു. mod_dav_svn (അപ്പാച്ചെയുടെ സബ്uവേർഷനുള്ള മൊഡ്യൂൾ) സഹായത്തോടെ, നിങ്ങൾക്ക് HTTP, വെബ് സെർവർ എന്നിവ ഉപയോഗിച്ച് സബ്uവേർഷൻ ശേഖരം ആക്uസസ് ചെയ്യാൻ കഴിയും.

അതായത്, നമുക്ക് നമ്മുടെ സ്ലീവ് റോൾ ചെയ്ത് ഈ ടൂളുകൾ RHEL/CentOS 7, Fedora 22-24, Debian 8/7, Ubuntu 16.04-15.04 സെർവറിൽ ഇൻസ്റ്റാൾ ചെയ്യാം. ഞങ്ങളുടെ ടെസ്റ്റുകൾക്കായി ഞങ്ങൾ IP 192.168.0.100 ഉള്ള ഒരു CentOS 7 സെർവർ ഉപയോഗിക്കും.

ക്ലയന്റ് ഭാഗത്ത് (ഒരു Windows 7 മെഷീൻ), SVN-ലേക്കുള്ള ഒരു ഇന്റർഫേസായി ഞങ്ങൾ TortoiseSVN (അപ്പാച്ചെ സബ്uവേർഷനെ അടിസ്ഥാനമാക്കിയുള്ളത്) ഇൻസ്റ്റാൾ ചെയ്യുകയും ഉപയോഗിക്കുകയും ചെയ്യും.

Server - CentOS 7
IP Address - 192.168.0.100
Client - Windows 7

ഘട്ടം 1 - ലിനക്സിൽ SVN ഇൻസ്റ്റാൾ ചെയ്യുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യുന്നു

ഞങ്ങൾ ഇപ്പോൾ സൂചിപ്പിച്ചതുപോലെ, ഒരു വെബ് ഇന്റർഫേസ് ഉപയോഗിച്ച് SVN റിപ്പോസിറ്ററി ആക്സസ് ചെയ്യുന്നതിന് ഞങ്ങൾ അപ്പാച്ചെയെ ആശ്രയിക്കും. ഇത് ഇതിനകം ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ, ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ പാക്കേജുകളുടെ പട്ടികയിലേക്ക് ഇത് ചേർക്കുന്നത് ഉറപ്പാക്കുക:

------------------ On CentOS / RHEL / Fedora ------------------ 
# yum update && yum install mod_dav_svn subversion httpd -y

------------------ On Debian / Ubuntu ------------------ 
# apt-get update && apt-get install libapache2-svn subversion apache2 -y 

CentOS 7-ൽ ഇൻസ്റ്റാളുചെയ്യുമ്പോൾ, SVN-നുള്ള ഒരു Apache കോൺഫിഗറേഷൻ ഫയൽ /etc/httpd/conf.modules.d/10-subversion.conf ആയി സൃഷ്ടിക്കപ്പെടും. ഫയൽ തുറന്ന് ഇനിപ്പറയുന്ന കോൺഫിഗറേഷൻ ബ്ലോക്ക് ചേർക്കുക:

<Location /svn>
    DAV svn
    SVNParentPath /websrv/svn
    AuthType Basic
    AuthName "Welcome to SVN"
    AuthUserFile /etc/httpd/subversion-auth
    Require valid-user
</Location>

ശ്രദ്ധിക്കുക: ഡെബിയൻ/ഉബുണ്ടുവിൽ നിങ്ങൾ /etc/apache2/mods-enabled/dav_svn.conf ഫയലിലേക്ക് താഴെ വരികൾ ചേർക്കേണ്ടതുണ്ട്.

<Location /svn>
    DAV svn
    SVNParentPath /websrv/svn
    AuthType Basic
    AuthName "Welcome to SVN"
    AuthUserFile /etc/apache2/subversion-auth
    Require valid-user
</Location>

ഡെബിയൻ/ഉബുണ്ടുവിൽ, നിങ്ങൾ dav_svn അപ്പാച്ചെ മൊഡ്യൂൾ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്:

# a2enmod dav_svn

ഒന്നുരണ്ടു വ്യക്തതകൾ:

  1. The SVNParentPath directive indicates the directory where our repositories will be later created. If this directory does not exist (which is most likely the case), create it with:
    # mkdir -p /websrv/svn
    

    It is important to note that this directory must NOT be located inside, or overlap, the DocumentRoot of a virtual host currently being served by Apache. This is a showstopper!

  2. The AuthUserFile directive indicates the file where the credentials of a valid user will be stored. If you want to allow everyone to access SVN without authentication, remove the last four lines in the Location block. If that is the case, skip Step 2 and head directly to Step 3.
  3. Although you may be tempted to restart Apache in order to apply these recent changes, don’t do it yet as we still need to create the authentication file with valid users for SVN, and the repository itself.

ഘട്ടം 2 - SVN ആക്സസ് ചെയ്യാൻ അനുവദനീയമായ ഉപയോക്താക്കളെ ചേർക്കുക

SVN ആക്uസസ് ചെയ്യാൻ അനുവദിക്കുന്ന അക്കൗണ്ടുകൾക്കായി ഒരു പാസ്uവേഡ് സൃഷ്uടിക്കാൻ ഞങ്ങൾ ഇപ്പോൾ htpasswd ഉപയോഗിക്കും. ആദ്യ ഉപയോക്താവിന് മാത്രം, ഞങ്ങൾക്ക് -c ഓപ്ഷൻ ആവശ്യമാണ്.

അനുവദനീയമായ അക്കൗണ്ടുകളും bcrypt-എൻക്രിപ്റ്റ് ചെയ്ത പാസ്uവേഡുകളും (-B) കീ-മൂല്യം ജോഡികളായി /etc/httpd/subversion-auth-ൽ സംഭരിക്കും. ഇന്നത്തെ മാനദണ്ഡങ്ങൾ അനുസരിച്ച്, htpasswd ഉപയോഗിക്കുന്ന ഡിഫോൾട്ട് MD5 അല്ലെങ്കിൽ SHA എൻക്രിപ്ഷൻ സുരക്ഷിതമല്ലെന്ന് കരുതുക.

------------------ On CentOS / RHEL / Fedora ------------------ 
# htpasswd -cB /etc/httpd/subversion-auth tecmint

------------------ On Debian / Ubuntu ------------------ 
# htpasswd -cB /etc/apache2/subversion-auth tecmint

പ്രാമാണീകരണ ഫയലിൽ ശരിയായ ഉടമസ്ഥാവകാശവും അനുമതികളും സജ്ജമാക്കാൻ മറക്കരുത്:

------------------ On CentOS / RHEL / Fedora ------------------ 
# chgrp apache /etc/httpd/subversion-auth
# chmod 660 /etc/httpd/subversion-auth

------------------ On Debian / Ubuntu ------------------ 
# chgrp www-data /etc/apache2/subversion-auth
# chmod 660 /etc/apache2/subversion-auth

ഘട്ടം 3 - സുരക്ഷ ചേർക്കുക, എസ്വിഎൻ ശേഖരം സൃഷ്ടിക്കുക

നിങ്ങൾ ഒരു വെബ് ഇന്റർഫേസ് വഴി SVN ആക്സസ് ചെയ്യുന്നതിനാൽ, നിങ്ങളുടെ ഫയർവാളിലൂടെ HTTP (ഓപ്ഷണലായി HTTPS) ട്രാഫിക് അനുവദിക്കേണ്ടതുണ്ട്.

------------------ On CentOS / RHEL / Fedora ------------------ 
# firewall-cmd --add-service=http --permanent
# firewall-cmd --add-service=https --permanent
# firewall-cmd --reload 

--reload ഉപയോഗിച്ച് ഫയർവാൾ കോൺഫിഗറേഷൻ റീലോഡ് ചെയ്യുന്നതിലൂടെ, സ്ഥിരമായ ക്രമീകരണങ്ങൾ ഉടനടി പ്രാബല്യത്തിൽ വരും.

tecmint എന്ന് വിളിക്കുന്ന ഒരു പ്രാരംഭ SVN ശേഖരം സൃഷ്ടിക്കുക:

# svnadmin create /websrv/svn/tecmint

ഉടമയെയും ഗ്രൂപ്പ് ഉടമയെയും ആവർത്തിച്ച് അപ്പാച്ചെയിലേക്ക് മാറ്റുക:

------------------ On CentOS / RHEL / Fedora ------------------ 
# chown -R apache:apache /websrv/svn/tecmint

------------------ On Debian / Ubuntu ------------------ 
# chown -R www-data:www-data /websrv/svn/tecmint

അവസാനമായി, നിങ്ങൾ /websrv/svn/tecmint എന്നതിന്റെ സുരക്ഷാ സന്ദർഭം മാറ്റേണ്ടതുണ്ട് (മറ്റ് റിപ്പോസിറ്ററികൾ പിന്നീട് സൃഷ്ടിക്കാൻ നിങ്ങൾ തീരുമാനിക്കുകയാണെങ്കിൽ ഈ ഘട്ടം ആവർത്തിക്കേണ്ടിവരുമെന്ന് ശ്രദ്ധിക്കുക):

------------------ On CentOS / RHEL / Fedora ------------------ 
# chcon -R -t httpd_sys_content_t /websrv/svn/tecmint/
# chcon -R -t httpd_sys_rw_content_t /websrv/svn/tecmint/

ശ്രദ്ധിക്കുക: SELinux പ്രവർത്തനരഹിതമാക്കിയ ഒരു VPS-ൽ നിങ്ങൾ SVN ഇൻസ്റ്റാൾ ചെയ്യുകയാണെങ്കിൽ അവസാനത്തെ രണ്ട് കമാൻഡുകൾ ബാധകമായേക്കില്ല.

അപ്പാച്ചെ പുനരാരംഭിച്ച് ശേഖരം ലഭ്യമാണോയെന്ന് പരിശോധിക്കുക.

------------------ On CentOS / RHEL / Fedora ------------------ 
# systemctl restart httpd

------------------ On Debian / Ubuntu ------------------ 
# systemctl restart apache2

തുടർന്ന് ഒരു വെബ് ബ്രൗസർ സമാരംഭിച്ച് അത് http://192.168.0.100/svn/tecmint എന്നതിലേക്ക് പോയിന്റ് ചെയ്യുക. ഘട്ടം 1-ൽ ഞങ്ങൾ സൃഷ്uടിച്ച സാധുവായ ഉപയോക്താവിനുള്ള ക്രെഡൻഷ്യലുകൾ നൽകിയ ശേഷം, ഔട്ട്uപുട്ട് ഇതുപോലെയായിരിക്കണം:

ഈ സമയത്ത് ഞങ്ങൾ ഞങ്ങളുടെ ശേഖരത്തിലേക്ക് ഒരു കോഡും ചേർത്തിട്ടില്ല. എന്നാൽ ഞങ്ങൾ അത് ഒരു മിനിറ്റിനുള്ളിൽ ചെയ്യും.

ഘട്ടം 4 - Windows 7 ക്ലയന്റിൽ TortoiseSVN ഇൻസ്റ്റാൾ ചെയ്യുക

ഞങ്ങൾ ആമുഖത്തിൽ സൂചിപ്പിച്ചതുപോലെ, TortoiseSVN അപ്പാച്ചെ സബ്uവേർഷനിലേക്കുള്ള ഒരു ഉപയോക്തൃ-സൗഹൃദ ഇന്റർഫേസാണ്. ഇത് GPL-ന് കീഴിൽ ലൈസൻസുള്ള സ്വതന്ത്ര സോഫ്റ്റ്uവെയറാണ്, https://tortoisesvn.net/downloads.html എന്നതിൽ നിന്ന് ഡൗൺലോഡ് ചെയ്യാവുന്നതാണ്.

നിങ്ങളുടെ മെഷീനുമായി പൊരുത്തപ്പെടുന്ന ആർക്കിടെക്ചർ (32 അല്ലെങ്കിൽ 64-ബിറ്റ്) തിരഞ്ഞെടുത്ത് തുടരുന്നതിന് മുമ്പ് പ്രോഗ്രാം ഇൻസ്റ്റാൾ ചെയ്യുക.

ഘട്ടം 5 - ക്ലയന്റ് മെഷീനിൽ SVN റിപ്പോസിറ്ററി സജ്ജീകരിക്കുക

ഈ ഘട്ടത്തിൽ ഞങ്ങൾ ഡോക്യുമെന്റുകൾക്കുള്ളിൽ webapp എന്ന പേരിൽ ഒരു ഫോൾഡർ ഉപയോഗിക്കും. ഈ ഫോൾഡറിൽ ഒരു HTML ഫയലും ഞങ്ങൾ പതിപ്പ് നിയന്ത്രണത്തിലേക്ക് ചേർക്കാൻ ആഗ്രഹിക്കുന്ന ജാവാസ്ക്രിപ്റ്റും ഒരു CSS ഫയലും (യഥാക്രമം script.js, styles.css) ഉള്ള സ്ക്രിപ്റ്റുകളും ശൈലികളും എന്ന് പേരുള്ള രണ്ട് ഫോൾഡറുകളും അടങ്ങിയിരിക്കുന്നു.

webapp റൈറ്റ് ക്ലിക്ക് ചെയ്ത് SVN Checkout തിരഞ്ഞെടുക്കുക. ഇത് റിമോട്ട് റിപ്പോസിറ്ററിയുടെ ഒരു പ്രാദേശിക പകർപ്പ് സൃഷ്ടിക്കും (ഇത് ഇപ്പോൾ ശൂന്യമാണ്) കൂടാതെ പതിപ്പ് നിയന്ത്രണത്തിനായി ഫോൾഡർ ആരംഭിക്കും:

റിപ്പോസിറ്ററിയുടെ URL-ൽ, http://192.168.0.100/svn/tecmint എന്ന് ടൈപ്പ് ചെയ്uത് ലോക്കൽ ചെക്ക്ഔട്ട് ഡയറക്uടറി അതേപടി തുടരുന്നുവെന്ന് ഉറപ്പാക്കുക, തുടർന്ന് ശരി ക്ലിക്കുചെയ്യുക:

ഉപയോക്തൃനാമവും പാസ്uവേഡും നൽകുക (ഘട്ടം 2 കാണുക) ശരി ക്ലിക്കുചെയ്യുക:

ശൂന്യമല്ലാത്ത ഒരു ഡയറക്ടറിയിലേക്ക് ചെക്ക്ഔട്ട് ചെയ്യണോ എന്ന് നിങ്ങളോട് ചോദിക്കും. ചെക്ക്ഔട്ട് തുടരാൻ സ്ഥിരീകരിക്കുക. ഇത് പൂർത്തിയാകുമ്പോൾ, ഫോൾഡറിന്റെ പേരിന് അടുത്തായി ഒരു പച്ച ചെക്ക്മാർക്ക് ദൃശ്യമാകും:

ഘട്ടം 6 - മാറ്റങ്ങൾ വരുത്തി റിമോട്ട് SVN റിപ്പോസിറ്ററിയിലേക്ക് ഫയലുകൾ വിന്യസിക്കുക

webapp വീണ്ടും റൈറ്റ് ക്ലിക്ക് ചെയ്ത് ഈ സമയം കമ്മിറ്റ് തിരഞ്ഞെടുക്കുക. അടുത്തതായി, ഈ പ്രതിബദ്ധത പിന്നീട് തിരിച്ചറിയാൻ ഒരു വിവരണാത്മക അഭിപ്രായം എഴുതുക, കൂടാതെ നിങ്ങൾ റിപ്പോസിറ്ററിയിലേക്ക് വിന്യസിക്കാൻ ആഗ്രഹിക്കുന്ന ഫയലുകളും ഫോൾഡറുകളും പരിശോധിക്കുക. അവസാനമായി, ശരി ക്ലിക്കുചെയ്യുക:

ഫയലുകളുടെ വലുപ്പത്തെ ആശ്രയിച്ച്, പ്രതിബദ്ധത ഒരു മിനിറ്റിൽ കൂടുതൽ എടുക്കരുത്. ഇത് പൂർത്തിയാകുമ്പോൾ, ഞങ്ങൾ ഇപ്പോൾ റിവിഷൻ 1-ലാണെന്ന് നിങ്ങൾ കാണും, അത് വെബ് ഇന്റർഫേസിൽ ലിസ്റ്റ് ചെയ്തിരിക്കുന്ന പതിപ്പും ഫയലുകളും പൊരുത്തപ്പെടുന്നു:

ഒരേ ഫയലുകളിൽ നിരവധി ആളുകൾ പ്രവർത്തിക്കുന്നുണ്ടെങ്കിൽ, പ്രവർത്തിക്കാൻ ഏറ്റവും പുതിയ പതിപ്പ് ലഭ്യമാകുന്നതിന് നിങ്ങളുടെ പ്രാദേശിക പകർപ്പ് അപ്uഡേറ്റ് ചെയ്യേണ്ടതുണ്ട്. webapp എന്നതിൽ വലത് ക്ലിക്കുചെയ്uത് സന്ദർഭ മെനുവിൽ നിന്ന് അപ്uഡേറ്റ് തിരഞ്ഞെടുത്ത് നിങ്ങൾക്കത് ചെയ്യാൻ കഴിയും.

അഭിനന്ദനങ്ങൾ! നിങ്ങൾ ഒരു SVN സെർവർ വിജയകരമായി സജ്ജീകരിക്കുകയും പതിപ്പ് നിയന്ത്രണത്തിന് കീഴിൽ ഒരു ലളിതമായ പ്രോജക്റ്റ് സമർപ്പിക്കുകയും/അപ്ഡേറ്റ് ചെയ്യുകയും ചെയ്തു.

സംഗ്രഹം

ഒരു CentOS 7 സെർവറിൽ ഒരു Apache Subversion repository സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും TortoiseSVN ഉപയോഗിച്ച് ആ ശേഖരത്തിൽ എങ്ങനെ മാറ്റങ്ങൾ വരുത്താമെന്നും ഈ ലേഖനത്തിൽ ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്.

SVN, TortoiseSVN എന്നിവയിൽ ഞങ്ങൾക്ക് വേണ്ടത്ര കവർ ചെയ്യാൻ കഴിയുന്നതിലും കൂടുതൽ ഉണ്ടെന്ന് ദയവായി ശ്രദ്ധിക്കുക (പ്രത്യേകിച്ച് മുൻ പുനരവലോകനങ്ങളിലേക്ക് എങ്ങനെ മടങ്ങാം), അതിനാൽ കൂടുതൽ വിവരങ്ങൾക്കും കോൺഫിഗറേഷൻ കേസുകൾക്കുമായി നിങ്ങൾ ഔദ്യോഗിക ഡോക്uസ് (TortoiseSVN) റഫർ ചെയ്യാൻ ആഗ്രഹിച്ചേക്കാം.

എല്ലായ്പ്പോഴും എന്നപോലെ, നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളുണ്ടെങ്കിൽ ഞങ്ങളെ അറിയിക്കാൻ മടിക്കരുത്! എപ്പോൾ വേണമെങ്കിലും ഞങ്ങളെ ബന്ധപ്പെടുന്നതിന് ചുവടെയുള്ള അഭിപ്രായ ഫോം ഉപയോഗിക്കാൻ മടിക്കേണ്ടതില്ല.