A Subversion egy nyílt forrású verziókezelő rendszer. A Subversion segítségével forrásfájlok és dokumentumok előzményeit rögzítheti. Használatával a fájlok és könyvtárak időbeli változásait kezelheti. A fájlokat tartalmazó fa a központi tárolóban található. A tároló hasonlít egy átlagos fájlkiszolgálóra, kivéve hogy a fájlok és könyvtárak minden módosítását feljegyzi.
A Subversion tároló HTTP feletti eléréséhez telepítenie kell egy webkiszolgálót. Az Apache2 jól működik a Subversionnel. Az Apache2 telepítésével és beállításával kapcsolatos információkért nézze meg az Apache2 szakasz HTTP alszakaszát. A Subversion tároló HTTPS feletti eléréséhez digitális tanúsítványt kell telepítenie és beállítania az Apache2 webkiszolgálóra. A digitális tanúsítvány telepítésével és beállításával kapcsolatban nézze meg az Apache2 szakasz HTTPS alszakaszát.
A Subversion telepítéséhez adja ki a következő parancsot:
sudo apt-get install subversion libapache2-svn
Ez a lépés feltételezi, hogy a fenti csomagokat telepítette a rendszerre. Ez a szakasz ismerteti a Subversion tároló létrehozásának, és a projekt elérésének módját.
A Subversion tároló a következő parancs kiadásával hozható létre:
svnadmin create /tároló/útvonala/projekt
A Subversion tárolók számos különböző módon érhetők el - helyi lemezen vagy hálózati protokollok használatával. A tároló helye azonban mindig URL. Az alábbi táblázat leírja a különböző URL sémák leképezését az elérhető hozzáférési módszerekre.
16.1. táblázat - Hozzáférési módok
Séma |
Hozzáférési mód |
---|---|
file:// |
közvetlen tárolóelérés (helyi lemezen) |
http:// |
A Subversiont ismerő Apache2 webkiszolgáló elérése WebDAV protokollon keresztül |
https:// |
Ugyanaz, mint a http://, de SSL titkosítással |
svn:// |
svnserve kiszolgáló egyedi protokollon való elérése |
svn+ssh:// |
Ugyanaz, mint az svn://, de SSH alagúton keresztül |
Ez a szakasz ismerteti a Subversion beállításának módját az összes fenti hozzáférési módhoz. Itt csak az alapok kerülnek bemutatásra. A részletesebb használati utasításokat az svn könyvben találja.
Mind közül ez a legegyszerűbb hozzáférési módszer. Nem igényli Subversion kiszolgálófolyamatok futását. Ez a módszer a Subversion ugyanazon gépről való elérésére használható. A terminálba kiadott parancs szintaxisa a következő:
svn co file:///tároló/útvonala/projekt
vagy
svn co file://localhost/tárolók/útvonala/projekt
Ha nem adja meg a gépnevet, három osztásjelet (///) kell használni - kettő a protokollhoz (ebben az esetben file), egy pedig az útvonal kezdő osztásjele. Ha megadja a gépnevet, két osztásjelet (//) kell használni. |
A tároló jogosultságai a fájlrendszer jogosultságaitól függenek. Ha a felhasználó rendelkezik írási/olvasási jogosultságokkal, lekérheti a fájlokat a tárolóból, és véglegesítheti is azokat.
A Subversion tároló WebDAV protokollon keresztüli eléréséhez az Apache2 webkiszolgáló beállításait kell módosítani. Vegye fel a következő részletet a <VirtualHost> és </VirtualHost> elemek között az /etc/apache2/sites-available/default
, vagy másik VirtualHost fájlba:
<Location /svn> DAV svn SVNPath /home/svn AuthType Basic AuthName "A tároló neve" AuthUserFile /etc/subversion/passwd Require valid-user </Location>
A fenti beállítófájl-részlet feltételezi, hogy a Subversion tárolók a |
A tárolót a HTTP felhasználónak kell birtokolnia a fájlok HTTP feletti importálásához vagy véglegesítéséhez a Subversion tárolóba. Ubuntu rendszereken a HTTP felhasználó általában a www-data. A tároló fájljai tulajdonosának módosításához adja ki a következő parancsot:
sudo chown -R www-data:www-data /tárolók/útvonala
A tároló tulajdonosának www-data-ra módosítása után nem lesz képes fájlok importálására vagy véglegesítésére a tárolóba az svn import file:/// parancs futtatásával a www-data-tól eltérő felhasználóval. |
Ezután létre kell hoznia az /etc/subversion/passwd
fájlt, amely majd a felhasználóhitelesítési adatokat tartalmazza. A fájl létrehozásához adja ki a következő parancsot (ez létrehozza a fájlt, és hozzáadja az első felhasználót):
sudo htpasswd -c /etc/subversion/passwd felhasználó_neve
További felhasználók felvételéhez hagyja el a „-c” kapcsolót, mivel ennek megadásakor a parancs helyettesíti a régi fájlt. Ehelyett a következő alakot használja:
sudo htpasswd /etc/subversion/password felhasználó_neve
Ez a parancs bekéri a jelszót. A jelszó megadása után a felhasználó felvételre kerül. Ezután a tároló elérhető a következő parancs futtatásával:
svn co http://kiszolgálónév/svn
A jelszó egyszerű szövegként kerül átvitelre. Ha a jelszó ellopása miatt aggódik, ajánlott SSL titkosítás használata. Ezt a következő szakasz részletezi. |
A Subversion tároló WebDAV protokollon keresztüli elérése SSL titkosítással (https://) hasonló a http:// eléréshez, kivéve hogy digitális tanúsítványt kell telepítenie és beállítania az Apache2 webkiszolgálójához. Az SSL és a Subversion együttes használatához adja a fenti Apache2 beállításokat az /etc/apache2/sites-available/default-ssl
fájlhoz. További információkért az Apache2 beállításáról az SSL használatára lásd „A HTTPS beállítása” szakaszt.
Telepíthet egy aláíró hatóság által kibocsátott digitális tanúsítványt. Ennek alternatívájaként a saját aláírású tanúsítványt is telepítheti.
Ez a lépés feltételezi, hogy telepített és beállított egy digitális tanúsítványt az Apache2 webkiszolgálójához. Ezután a Subversion tároló eléréséhez nézze meg a fenti szakaszt. A hozzáférési módszerek a protokoll kivételével azonosak. A Subversion tároló eléréséhez a https:// protokollt kell használnia.
A Subversion tároló létrehozása után beállíthatja a hozzáférés-felügyeletet a /tároló/útvonala/projekt/conf/svnserve.conf
fájl szerkesztésével. A hitelesítés beállításához például a beállítófájl következő sorait kell kivenni megjegyzésből:
# [general] # password-db = passwd
A fenti sorok aktiválása után a passwd fájlban tarthatja karban a felhasználók listáját. Ugyanabban a könyvtárban szerkessze a passwd
fájlt, és vegye fel az új felhasználót. A szintaxis a következő:
felhasználónév = jelszó
További részletekért nézze meg a fájlt.
Ezután a Subversion elérhető az egyéni svn:// protokollon, ugyanarról vagy másik gépről. Az SVN kiszolgáló az svnserve parancs kiadásával futtatható. A szintaxis a következő:
$ svnserve -d --foreground -r /tárolók/útvonala # -d -- démon mód # --foreground -- futtatás előtérben (hibakereséshez hasznos) # -r -- kiszolgálandó könyvtár gyökere A használattal kapcsolatos részletekért adja ki a következőt: $ svnserve --help
A parancs futtatása után a Subversion elkezdi az alapértelmezett portot (3690) figyelni. A projekttároló eléréséhez futtassa a következő parancsot:
svn co svn://gépnév/projekt projekt --username felhasználó_neve
A kiszolgáló a beállításainak megfelelően bekéri a jelszót. A hitelesítés után lekéri a fájlokat a Subversion tárolóból. A projekt tárolójának és helyi másolatának szinkronizálásához futtassa az update részparancsot. A parancs szintaxisa a következő:
cd projekt_könyvtár ; svn update
Az egyes Subversion részparancsok használatával kapcsolatos további részletekért nézze meg a kézikönyvet. A co (checkout) paranccsal kapcsolatos információkért például adja ki a következő parancsot:
svn co help
A beállítás és a kiszolgálófolyamat ugyanaz, mint az svn:// módszer esetén. Részletekért lásd a fenti szakaszt. Ez a lépés feltételezi, hogy követte a fenti szakaszt, és elindította a Subversion kiszolgálót az svnserve paranccsal.
Feltételezzük továbbá, hogy az SSH kiszolgáló fut a gépen, és engedélyezi a bejövő kapcsolatokat. Ennek ellenőrzéséhez próbáljon bejelentkezni a gépre SSH-val. Ha sikerül, minden rendben. Ellenkező esetben ezt a problémát meg kell oldani a folytatás előtt.
Az svn+ssh:// protokollt a Subversion tárolók SSL-lel titkosított eléréséhez használják. Az adatátvitel ezzel a módszerrel kerül titkosításra. A projekt tárolójának eléréséhez (példaként egy lekérés művelettel) a következő parancsszintaxist kell használnia:
svn co svn+ssh://gépnév/var/svn/tárolók/projekt
Ezzel a hozzáférési módszerrel a Subversion tároló eléréséhez a teljes útvonalat kell használnia (/tárolók/útvonala/projekt). |
A kiszolgáló a beállításainak megfelelően bekéri a jelszót. Ekkor az SSH-n keresztüli belépéshez használt jelszót kell megadnia. A hitelesítés után lekéri a fájlokat a Subversion tárolóból.