Itọsọna Gbẹhin si Ṣiṣeto Iyipo Apache SVN ati IjapaSVN Fun Iṣakoso Ẹya


Ti iṣẹ rẹ ba nilo mimu awọn iwe aṣẹ, awọn oju-iwe wẹẹbu, ati iru awọn faili miiran ti a ṣe imudojuiwọn nigbagbogbo, o le fẹ lati lo ilana iṣakoso ẹya kan ti o ko ba ṣe bẹ tẹlẹ.

Laarin awọn ohun miiran, eyi n gba ọ laaye (ati ẹgbẹ kan ti awọn alabaṣiṣẹpọ to lagbara pẹlu) lati tọpinpin awọn ayipada ti a ṣe si faili ti a fun, ati jẹ ki o yi pada sẹhin si ẹya ti tẹlẹ ti ọrọ kan ba pade tabi nigbati imudojuiwọn ko ba ṣe abajade esi ti a reti .

Ninu eto ilolupo eto sọfitiwia ọfẹ, eto iṣakoso ẹya ti o gbooro julọ ni a pe ni Apache Subache (tabi SVN fun kukuru). Pẹlu iranlọwọ ti mod_dav_svn (module ti Apache fun Subversion), o le wọle si ibi ipamọ Subversion nipa lilo HTTP ati olupin ayelujara kan.

Ti o sọ, jẹ ki a yika awọn apa ọwọ wa ki o fi awọn irinṣẹ wọnyi sori ẹrọ RHEL/CentOS 7, Fedora 22-24, Debian 8/7 ati olupin Ubuntu 16.04-15.04. Fun awọn idanwo wa a yoo lo olupin CentOS 7 pẹlu IP 192.168.0.100.

Ni ẹgbẹ alabara (ẹrọ Windows 7 kan), a yoo fi sori ẹrọ ati lo TortoiseSVN (eyiti o da lori Apversion Apache) bi wiwo si SVN.

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

Igbesẹ 1 - Fifi sori ati tito leto SVN lori Lainos

Gẹgẹbi a ti mẹnuba kan, a yoo gbẹkẹle Apache lati le wọle si ibi ipamọ SVN nipa lilo wiwo wẹẹbu kan. Ti ko ba fi sii tẹlẹ, rii daju lati ṣafikun rẹ si atokọ ti awọn idii bi o ṣe han ni isalẹ:

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

Lakoko fifi sori ẹrọ lori CentOS 7, faili iṣeto Afun fun SVN yoo ṣẹda bi /etc/httpd/conf.modules.d/10-subversion.conf. Ṣii faili naa ki o ṣafikun bulọọki iṣeto ni atẹle:

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

Akiyesi: Lori Debian/Ubuntu o nilo lati ṣafikun awọn ila isalẹ si /etc/apache2/mods-enabled/dav_svn.conf file.

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

Lori Debian/Ubuntu, o nilo lati mu module module Apache dav_svn ṣiṣẹ:

# a2enmod dav_svn

Awọn alaye alaye diẹ:

  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.

Igbesẹ 2 - Ṣafikun Awọn olumulo ti a Gba laaye lati Wọle SVN

A yoo lo htpasswd bayi lati ṣẹda ọrọigbaniwọle fun awọn iroyin ti yoo gba laaye lati wọle si SVN. Fun olumulo akọkọ nikan, a yoo nilo aṣayan -c .

Awọn iroyin ti a gba laaye ati awọn ọrọ igbaniwọle ti a paroko ( -B ) yoo wa ni fipamọ ni/abbl/httpd/subversion-auth ni awọn orisii iye-bọtini. Akiyesi pe nipasẹ awọn ajohunše oni, MD5 aiyipada tabi fifi ẹnọ kọ nkan SHA ti a lo nipasẹ htpasswd ni a ka ni aabo.

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

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

Maṣe gbagbe lati ṣeto nini ẹtọ ati awọn igbanilaaye si faili ijẹrisi:

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

Igbesẹ 3 - Ṣafikun Aabo ati Ṣẹda ibi ipamọ SVN

Niwọn igba ti iwọ yoo ti wọle si SVN nipasẹ wiwo wẹẹbu kan, iwọ yoo nilo lati gba ijabọ HTTP (ati aṣayan HTTPS) nipasẹ ogiriina rẹ.

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

Nipa tun ṣe atunto iṣeto ogiriina pẹlu --gbesoke , awọn eto ti o wa titi ni a fi si ipa lẹsẹkẹsẹ.

Ṣẹda ibi ipamọ SVN akọkọ ti a pe ni tecmint:

# svnadmin create /websrv/svn/tecmint

Yi eni ati oluwa ẹgbẹ pada si afun ni atunkọ:

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

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

Lakotan, iwọ yoo nilo lati yi ipo aabo pada ti /websrv/svn/tecmint (ṣe akiyesi pe iwọ yoo ni lati tun igbesẹ yii ṣe ti o ba pinnu lati ṣẹda awọn ibi ipamọ miiran nigbamii):

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

Akiyesi: Awọn ofin meji to kẹhin ko le waye ti o ba n fi SVN sori VPS pẹlu alaabo SELinux.

Tun Apache tun bẹrẹ ati ṣayẹwo ibi ipamọ wa.

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

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

Lẹhinna ṣe ifilọlẹ aṣawakiri wẹẹbu kan ki o tọka si http://192.168.0.100/svn/tecmint . Lẹhin titẹ awọn iwe-ẹri fun olumulo to wulo ti a ṣẹda ni Igbesẹ 1, iṣẹjade yẹ ki o jọra si:

Ni aaye yii a ko fi kun koodu eyikeyi si ibi ipamọ wa. Ṣugbọn awa yoo ṣe i ni iṣẹju kan.

Igbesẹ 4 - Fi Ijapa SVN sii ni Onibara Windows 7

Gẹgẹ bi a ti mẹnuba ninu ifihan, TortoiseSVN jẹ wiwo ore-olumulo si Apversion Apache. O jẹ Iwe-aṣẹ sọfitiwia ọfẹ labẹ GPL ati pe o le ṣe igbasilẹ lati https://tortoisesvn.net/downloads.html.

Yan faaji (32 tabi 64-bit) ti o ni ibamu si ẹrọ rẹ ki o fi eto sii ṣaaju ṣiṣe.

Igbesẹ 5 - Ibi ipamọ SVN Eto lori Ẹrọ Onibara

Ni igbesẹ yii a yoo lo folda ti a npè ni webapp inu Awọn Akọṣilẹ iwe. Folda yii ni faili HTML kan, ati awọn folda meji ti a npè ni awọn iwe afọwọkọ ati awọn aza pẹlu Javascript ati faili CSS kan (script.js ati styles.css, lẹsẹsẹ) ti a fẹ fikun si iṣakoso ẹya.

Ọtun tẹ webapp ki o yan isanwo SVN. Eyi yoo ṣẹda ẹda agbegbe ti ibi ipamọ latọna jijin (eyiti o ṣofo ni akoko yii) ati ipilẹ folda fun iṣakoso ẹya:

Ni URL ti ibi ipamọ, tẹ http://192.168.0.100/svn/tecmint ati rii daju pe itọsọna isanwo agbegbe wa kanna, lẹhinna tẹ O DARA:

Tẹ orukọ olumulo ati ọrọ igbaniwọle sii (tọka si Igbesẹ 2) ki o tẹ O DARA:

A yoo beere lọwọ rẹ boya o fẹ lati isanwo sinu itọsọna ti kii ṣe ofo. Jẹrisi lati tẹsiwaju pẹlu isanwo. Ni kete ti o ti pari, ami ayẹwo alawọ kan yoo han lẹgbẹẹ orukọ folda naa:

Igbesẹ 6 - Ṣe Awọn Ayipada ati Fi Awọn faili ranṣẹ si Ibi ipamọ SVN Latọna jijin

Ọtun tẹ lori webapp lẹẹkansi ki o yan Ṣiṣe ni akoko yii. Nigbamii, kọ asọye asọye lati ṣe idanimọ igbẹkẹle yii nigbamii, ati ṣayẹwo awọn faili ati awọn folda ti o fẹ lati fi ranṣẹ si ibi ipamọ. Lakotan, tẹ O DARA:

O da lori iwọn awọn faili, ṣiṣe ko yẹ ki o gba to iṣẹju kan. Nigbati o ba pari, iwọ yoo rii pe a wa lori atunyẹwo 1, eyiti o baamu ẹya ati awọn faili ti a ṣe akojọ si ni wiwo wẹẹbu:

Ti ọpọlọpọ eniyan ba wa ti n ṣiṣẹ lori awọn faili kanna, iwọ yoo fẹ lati Ṣe imudojuiwọn ẹda agbegbe rẹ lati le ni ẹya tuntun ti o wa lati ṣiṣẹ lori. O le ṣe eyi nipa tite ọtun lori webapp ati yiyan Imudojuiwọn lati inu akojọ aṣayan.

Oriire! O ti ṣaṣeyọri iṣeto olupin SVN kan ati commited/imudojuiwọn iṣẹ akanṣe kan labẹ iṣakoso ẹya.

Akopọ

Ninu àpilẹkọ yii a ti ṣalaye bi o ṣe le fi sori ẹrọ ati tunto olupin ibi ipamọ Subversion ibi ipamọ Apache lori olupin CentOS 7, ati bii o ṣe ṣe awọn ayipada si ibi ipamọ yẹn ni lilo TortoiseSVN.

Jọwọ ṣe akiyesi ohun pupọ diẹ sii si SVN ati TortoiseSVN ju ohun ti a le bo daradara nihin (pataki bi o ṣe le pada si awọn atunyẹwo ti tẹlẹ), nitorinaa o le fẹ tọka si awọn iwe aṣẹ osise (TortoiseSVN) fun alaye diẹ sii ati awọn ọran atunto.

Gẹgẹbi igbagbogbo, ma ṣe ṣiyemeji lati jẹ ki a mọ boya o ni ibeere eyikeyi! Ni idaniloju lati lo fọọmu asọye ni isalẹ lati de ọdọ wa nigbakugba.