Ƙarshen Jagora don Kafa Apache Subversion SVN da TortoiseSVN Don Sarrafa Sigar


Idan aikinku yana buƙatar sarrafa takardu, shafukan yanar gizo, da sauran nau'ikan fayiloli waɗanda ake sabunta su akai-akai, kuna iya amfani da tsarin sarrafa sigar idan ba ku yin haka tukuna.

Daga cikin wasu abubuwa, wannan yana ba ku damar (da gungun masu haɗin gwiwa kuma) don bin diddigin canje-canjen da aka yi zuwa fayil ɗin da aka bayar, kuma yana ba ku damar komawa zuwa sigar da ta gabata idan an sami matsala ko lokacin sabuntawa bai samar da sakamakon da ake tsammani ba. .

A cikin yanayin yanayin software na kyauta, tsarin sarrafa sigar da aka fi amfani da shi ana kiransa Apache Subversion (ko SVN a takaice). Tare da taimakon mod_dav_svn (modul Apache don Subversion), zaku iya samun dama ga ma'ajiyar Subversion ta amfani da HTTP da sabar yanar gizo.

Wannan ya ce, bari mu mirgine hannayenmu kuma mu sanya waɗannan kayan aikin akan RHEL/CentOS 7, Fedora 22-24, Debian 8/7 da Ubuntu 16.04-15.04 uwar garken. Don gwaje-gwajenmu za mu yi amfani da uwar garken CentOS 7 tare da IP 192.168.0.100.

A gefen abokin ciniki (na'ura ta Windows 7), za mu girka kuma za mu yi amfani da TortoiseSVN (wanda ya dogara da Apache Subversion) azaman hanyar sadarwa zuwa SVN.

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

Mataki 1 - Shigarwa da Sanya SVN akan Linux

Kamar yadda muka ambata yanzu, za mu dogara da Apache don samun damar ma'ajiyar SVN ta amfani da hanyar yanar gizo. Idan ba a riga an shigar da shi ba, tabbatar da ƙara shi cikin jerin fakitin kamar yadda aka nuna a ƙasa:

------------------ 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 

Yayin shigarwa akan CentOS 7, za a ƙirƙiri fayil ɗin sanyi na Apache don SVN azaman /etc/httpd/conf.modules.d/10-subversion.conf. Bude fayil ɗin kuma ƙara toshe mai zuwa:

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

Lura: A Debian/Ubuntu kuna buƙatar ƙara layin ƙasa zuwa fayil /etc/apache2/mods-enabled/dav_svn.conf fayil.

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

A kan Debian/Ubuntu, kuna buƙatar kunna dav_svn Apache module:

# a2enmod dav_svn

Karin bayani guda biyu:

  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.

Mataki 2 - Ƙara Masu Amfani Don Samun SVN

Yanzu za mu yi amfani da htpasswd don ƙirƙirar kalmar sirri don asusun da za a ba da izinin shiga SVN. Don mai amfani na farko kawai, za mu buƙaci zaɓin -c.

Abubuwan da aka ba da izini da kalmar sirrin bcrypt (-B) za a adana su a cikin /etc/httpd/subversion-auth a cikin maɓalli-darajar maɓalli. Lura cewa ta ma'auni na yau, tsoho MD5 ko SHA boye-boye da htpasswd ke amfani da shi ana ɗaukar rashin tsaro.

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

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

Kar a manta saita madaidaicin ikon mallaka da izini zuwa fayil ɗin tantancewa:

------------------ 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

Mataki 3 - Ƙara Tsaro kuma Ƙirƙiri Ma'ajiyar SVN

Tun da za ku shiga SVN ta hanyar yanar gizo, kuna buƙatar ba da izinin zirga-zirgar HTTP (da kuma HTTPS na zaɓi) ta hanyar Tacewar zaɓinku.

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

Ta hanyar sake shigar da saitin bangon wuta tare da --sake saukewa, ana sanya saitunan dindindin na aiki nan da nan.

Ƙirƙirar ma'ajiyar SVN ta farko mai suna tecmint:

# svnadmin create /websrv/svn/tecmint

Canja mai shi da mai rukuni zuwa apache akai-akai:

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

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

A ƙarshe, kuna buƙatar canza yanayin tsaro na /websrv/svn/tecmint (lura cewa dole ne ku maimaita wannan matakin idan kun yanke shawarar ƙirƙirar wasu wuraren ajiya daga baya):

------------------ 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/

Lura: Dokokin biyu na ƙarshe bazai aiki ba idan kuna shigar da SVN akan VPS tare da nakasa SELinux.

Sake kunna Apache kuma tabbatar da akwai ma'ajiyar.

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

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

Sa'an nan kuma kaddamar da mai binciken gidan yanar gizo kuma ku nuna shi zuwa http://192.168.0.100/svn/tecmint. Bayan shigar da takaddun shaida don ingantaccen mai amfani wanda muka ƙirƙira a Mataki na 1, fitarwar yakamata ta kasance kama da:

A wannan lokacin ba mu ƙara kowane lamba zuwa ma'ajiyar mu ba. Amma za mu yi hakan a cikin minti daya.

Mataki 4 - Shigar TortoiseSVN a cikin Windows 7 Client

Kamar yadda muka ambata a cikin gabatarwar, TortoiseSVN shine keɓance mai sauƙin amfani zuwa Apache Subversion. Software ce ta kyauta mai lasisi a ƙarƙashin GPL kuma ana iya saukewa daga https://tortoisesvn.net/downloads.html.

Zaɓi tsarin gine-gine (32 ko 64-bit) wanda ya dace da injin ku kuma shigar da shirin kafin ci gaba.

Mataki 5 - Saita Ma'ajiyar SVN akan Injin Abokin Ciniki

A wannan mataki za mu yi amfani da babban fayil mai suna webapp a cikin Takardu. Wannan babban fayil ɗin ya ƙunshi fayil ɗin HTML, da manyan fayiloli guda biyu masu suna rubutun da salo tare da Javascript da fayil ɗin CSS (script.js da styles.css, bi da bi) waɗanda muke son ƙarawa zuwa sarrafa sigar.

Dama danna webapp kuma zaɓi SVN Checkout. Wannan zai ƙirƙiri kwafin wurin ajiyar wuri na gida (wanda babu komai a yanzu) kuma ya fara babban fayil ɗin don sarrafa sigar:

A cikin URL na ma'adana, rubuta http://192.168.0.100/svn/tecmint kuma a tabbata kundin wurin biya na gida ya kasance iri ɗaya, sannan danna Ok:

Shigar da sunan mai amfani da kalmar wucewa (koma zuwa Mataki na 2) kuma danna Ok:

Za a tambaye ku ko kuna son yin rajista a cikin kundin adireshi mara komai. Tabbatar da ci gaba da wurin biya. Da zarar ya cika, koren rajistan shiga zai bayyana kusa da sunan babban fayil:

Mataki na 6 - Aiwatar da Canje-canje kuma Sanya Fayiloli zuwa Ma'ajiyar SVN mai nisa

Dama danna webapp sake kuma zaɓi Aiwatar da wannan lokacin. Na gaba, rubuta sharhin bayanin don daga baya gano wannan ƙaddamarwa, kuma duba fayiloli da manyan fayiloli da kuke son turawa zuwa ma'ajiyar. A ƙarshe, danna Ok:

Dangane da girman fayilolin, ƙaddamarwar bai kamata ya ɗauki fiye da minti ɗaya ba. Lokacin da ya cika, za ku ga cewa yanzu muna kan bita 1, wanda ya dace da sigar da fayilolin da aka jera a cikin mahaɗin yanar gizo:

Idan akwai mutane da yawa da ke aiki akan fayiloli iri ɗaya, kuna so ku Sabunta kwafin gida don samun sabon sigar da za a yi aiki akai. Kuna iya yin hakan ta danna dama akan webapp kuma zaɓi Sabuntawa daga menu na mahallin.

Taya murna! Kun sami nasarar saita uwar garken SVN kuma kun ƙaddamar/sabunta aiki mai sauƙi ƙarƙashin sarrafa sigar.

Takaitawa

A cikin wannan labarin mun yi bayanin yadda ake shigarwa da daidaita sabar ma'ajin ajiya ta Apache Subversion akan sabar CentOS 7, da kuma yadda ake yin canje-canje zuwa wurin ajiyar ta amfani da TortoiseSVN.

Da fatan za a lura cewa akwai abubuwa da yawa ga SVN da TortoiseSVN fiye da abin da za mu iya cikawa sosai a nan (musamman yadda ake komawa ga sake dubawa na baya), saboda haka kuna iya komawa zuwa takaddun hukuma (TortoiseSVN) don ƙarin bayani da shari'o'in daidaitawa.

Kamar koyaushe, kada ku yi shakka a sanar da mu idan kuna da wasu tambayoyi! Jin kyauta don amfani da fam ɗin sharhin da ke ƙasa don isa gare mu kowane lokaci.