Weboldal keresés

A végső útmutató az Apache Subversion SVN és a TortoiseSVN beállításához a verzióvezérléshez


Ha munkája rendszeresen frissített dokumentumok, weboldalak és más típusú fájlok kezelését igényli, érdemes lehet verzióellenőrző mechanizmust használni, ha még nem teszi.

Ez többek között lehetővé teszi (és a potenciális együttműködők egy csoportjának) nyomon követését az adott fájlon végrehajtott módosítások nyomon követésére, és lehetővé teszi, hogy visszatérjen egy korábbi verzióhoz, ha probléma merül fel, vagy ha a frissítés nem hozta meg a várt eredményt. .

Az ingyenes szoftveres ökoszisztémában a legszélesebb körben használt verziókezelő rendszer az Apache Subversion (vagy röviden SVN). A mod_dav_svn (az Apache Subversion modulja) segítségével elérheti a Subversion adattárat HTTP és webszerver használatával.

Ennek ellenére tegyük fel az ingujjainkat, és telepítsük ezeket az eszközöket egy RHEL/CentOS 7, Fedora 22-24, Debian 8/7 és Ubuntu 16.04-15.04 szerver. Teszteinkhez CentOS 7 szervert használunk, amelynek IP-címe 192.168.0.100.

Az ügyféloldalon (egy Windows 7 gépen) a TortoiseSVN-t (amely az Apache Subversion-on alapul) fogjuk telepíteni és az SVN interfészeként használni.

Tesztelési környezetünk


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

1. lépés – Az SVN telepítése és konfigurálása Linux rendszeren

Ahogy az imént említettük, az Apache-ra fogunk hagyatkozni, ha webes felületen keresztül szeretnénk elérni az SVN-tárat. Ha még nincs telepítve, feltétlenül adja hozzá a csomagok listájához az alábbiak szerint:


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

A CentOS 7 rendszeren történő telepítés során az SVN Apache konfigurációs fájlja jön létre /etc/httpd/conf.modules.d/10-subversion.conf néven. Nyissa meg a fájlt, és adja hozzá a következő konfigurációs blokkot:


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

Megjegyzés: Debian/Ubuntu esetén az alábbi sorokat kell hozzáadnia a következőhöz: /etc/apache2/mods-enabled/dav_svn.conf fájlt.


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

A Debian/Ubuntu rendszeren engedélyeznie kell a dav_svn Apache modult:


a2enmod dav_svn

Egy-két pontosítás:

  1. Az SVNParentPath direktíva azt a könyvtárat jelöli, ahol a tárolóink később létre fognak jönni. Ha ez a könyvtár nem létezik (ami valószínűleg így van), hozza létre a következővel:

    
    mkdir -p /websrv/svn
    

    Fontos megjegyezni, hogy ez a könyvtár NEM található az Apache által jelenleg kiszolgált virtuális gazdagép DocumentRootjában, illetve NEM fedheti át azt. Ez egy látványosság!

  2. Az AuthUserFile direktíva azt a fájlt jelöli, amelyben egy érvényes felhasználó hitelesítő adatait tárolják. Ha azt szeretné, hogy mindenki hitelesítés nélkül hozzáférjen az SVN-hez, távolítsa el az utolsó négy sort a Hely blokkból. Ha ez a helyzet, hagyja ki a 2. lépést, és folytassa közvetlenül a 3. lépéssel.
  3. Habár kísértést érezhet az Apache újraindítása a legutóbbi módosítások alkalmazása érdekében, még ne tedd ezt, mert még létre kell hoznunk a hitelesítési fájlt az SVN érvényes felhasználóival, és magát a tárat is.

2. lépés – Engedélyezett felhasználók hozzáadása az SVN-hez

Mostantól a htpasswd használatával hozunk létre jelszót azokhoz a fiókokhoz, amelyek hozzáférhetnek az SVN-hez. Csak az első felhasználó számára lesz szükségünk a -c opcióra.

Az engedélyezett fiókok és a bcrypt-titkosított jelszavak (-B) az /etc/httpd/subversion-auth könyvtárban lesznek tárolva kulcs-érték párokban. Vegye figyelembe, hogy a mai szabványok szerint a htpasswd által használt alapértelmezett MD5 vagy SHA titkosítás nem tekinthető biztonságosnak.


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

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

Ne felejtse el beállítani a megfelelő tulajdonjogot és engedélyeket a hitelesítési fájlhoz:


------------------ 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. lépés – Biztonság hozzáadása és SVN-tároló létrehozása

Mivel az SVN-t webes felületen keresztül fogja elérni, engedélyeznie kell a HTTP (és opcionálisan a HTTPS) forgalmat a tűzfalon keresztül.


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

A tűzfal konfigurációjának újratöltésével a --reload paranccsal az állandó beállítások azonnal életbe lépnek.

Hozzon létre egy kezdeti SVN-tárat tecmint néven:


svnadmin create /websrv/svn/tecmint

Rekurzív módon módosítsa a tulajdonost és a csoporttulajdonost apache-ra:


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

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

Végül meg kell változtatnia a /websrv/svn/tecmint biztonsági kontextusát (vegye figyelembe, hogy ezt a lépést meg kell ismételnie, ha később úgy dönt, hogy további tárolókat hoz létre):


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

Megjegyzés: Előfordulhat, hogy az utolsó két parancs nem érvényes, ha az SVN-t olyan VPS-re telepíti, ahol a SELinux le van tiltva.

Javasolt olvasmány: Ismerje meg, hogyan lehet ideiglenesen vagy véglegesen letiltani a SELinuxot Linux alatt

Indítsa újra az Apache programot, és ellenőrizze, hogy a tárhely elérhető-e.


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

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

Ezután indítson el egy webböngészőt, és mutasson rá a http://192.168.0.100/svn/tecmint címre. Az 1. lépésben létrehozott érvényes felhasználó hitelesítő adatainak megadása után a kimenetnek hasonlónak kell lennie:

Jelenleg nem adtunk hozzá kódot a tárhelyünkhöz. De ezt egy percen belül megtesszük.

4. lépés – Telepítse a TortoiseSVN-t a Windows 7 kliensbe

Ahogy a bevezetőben említettük, a TortoiseSVN egy felhasználóbarát felület az Apache Subversionhoz. Ez egy ingyenes szoftver, amelynek licence a GPL, és letölthető a https://tortoisesvn.net/downloads.html oldalról.

Válassza ki a gépének megfelelő architektúrát (32 vagy 64 bites), és a folytatás előtt telepítse a programot.

5. lépés – Állítsa be az SVN-tárat az ügyfélgépen

Ebben a lépésben egy webapp nevű mappát fogunk használni a Dokumentumok között. Ez a mappa egy HTML-fájlt, valamint két scriptek és stílusok nevű mappát tartalmaz egy Javascript- és egy CSS-fájllal (script.js és styles.css), amelyeket szeretnénk add hozzá a verzióvezérléshez.

Kattintson jobb gombbal a webapp elemre, és válassza az SVN Checkout lehetőséget. Ez létrehozza a távoli tároló helyi másolatát (amely jelenleg üres), és inicializálja a mappát a verzióvezérléshez:

A tárhely URL-címébe írja be a http://192.168.0.100/svn/tecmint parancsot, és győződjön meg arról, hogy a helyi fizetési könyvtár változatlan marad, majd kattintson az OK gombra:

Írja be a felhasználónevet és a jelszót (lásd a 2. lépést), majd kattintson az OK gombra:

A rendszer megkérdezi, hogy nem üres könyvtárba szeretne-e bejelentkezni. Erősítse meg a fizetés folytatásához. Ha elkészült, egy zöld pipa jelenik meg a mappa neve mellett:

6. lépés – Végezze el a változtatásokat és telepítse a fájlokat a távoli SVN-tárolóba

Kattintson ismét a jobb gombbal a webapp elemre, és ezúttal válassza a Commit lehetőséget. Ezután írjon egy leíró megjegyzést a véglegesítés későbbi azonosításához, és ellenőrizze a lerakatba telepíteni kívánt fájlokat és mappákat. Végül kattintson az OK gombra:

A fájlok méretétől függően a véglegesítés nem tarthat tovább egy percnél. Ha elkészült, látni fogja, hogy most az 1. változatnál tartunk, amely megegyezik a webes felületen felsorolt verziókkal és fájlokkal:

Ha többen dolgoznak ugyanazon a fájlon, érdemes frissíteni a helyi másolatot, hogy a legújabb verzió elérhető legyen. Ehhez kattintson a jobb gombbal a webapp elemre, és válassza a helyi menü Frissítés parancsát.

Gratulálunk! Sikeresen beállította az SVN-kiszolgálót, és véglegesített/frissített egy egyszerű projektet verziókezelés alatt.

Összegzés

Ebben a cikkben elmagyaráztuk, hogyan telepíthet és konfigurálhat egy Apache Subversion lerakatszervert egy CentOS 7 kiszolgálón, és hogyan hajthatja végre a változtatásokat a tárhelyen a TortoiseSVN< használatával..

Kérjük, vegye figyelembe, hogy az SVN és a TortoiseSVN sokkal többről szól, mint amit itt megfelelően ki tudunk írni (különös tekintettel arra, hogyan térjünk vissza a korábbi verziókhoz), ezért érdemes a hivatalos docs (SVN és TortoiseSVN) további információkért és konfigurációs esetekért.

Mint mindig, ne habozzon jelezni nekünk, ha bármilyen kérdése van! Nyugodtan használja az alábbi megjegyzés űrlapot, hogy bármikor kapcsolatba léphessen velünk.