A Subversion egy nyílt forráskódú verziókövető rendszer. A fájlokat központi adattárban tartja, és verzióvezérlést biztosít a könyvtárak vagy fájlok felett. Fejlesztőként lekérheti a projektfájlokat egy adattárból, módosíthatja azokat, majd visszaküldheti őket.
A Subversion rendelkezik egy szerverkomponenssel is, amelyet projektjei tárolására használhat. Úgy működik, mint egy közönséges fájlszerver.
A Subversion telepítése
A Subversion telepítése egyszerű. Használhatja a megfelelő parancsot a disztribúció indításához:
# Debian, Ubuntu
sudo apt telepítés subversion apache2 libapache2-mod-svn
# CentOS, Fedora, RHEL
sudo dnf telepítés subversion apache2 mod_dav_svn
Vegye figyelembe, hogy ez a parancs is telepíti az Apache2 webszervert. Szüksége lesz egy webszerverre, ha HTTP-n vagy WebDAV-n keresztül szeretné elérni a Subversion-tárat. Használhatja a HTTPS-t is, csak telepítenie és konfigurálnia kell egy digitális tanúsítványt.
A parancs futtatása után ellenőrizheti, hogy az alverzió megfelelően van-e telepítve. Most már képesnek kell lennie futtatni a
svn parancsot, és megtekintheti az aktuális verziót a --változat választási lehetőség:Szerver konfigurálása Subversion segítségével
Ha a telepítés zökkenőmentesen ment, most elkezdheti a használni kívánt lerakatkonfiguráción való munkát svn. Természetesen ehhez új tárolót kell létrehoznia. Először hozzon létre egy mappát a gyökérkönyvtárban a tárhely elhelyezéséhez:
sudo mkdir /subversion
Ha a WebDAV HTTP-n keresztüli használatával kell elérnie a tárhelyet, át kell adnia az Apache-nak a könyvtár tulajdonjogát. Mivel az Apache használja www-adatok alapértelmezés szerint felhasználó, engedélyezze ezt a felhasználót az alábbiak szerint:
sudo chown www-data: www-data /subversion
Most válthat a www-adatok felhasználót, és kezdjen el dolgozni a tárolóján. A parancs, amellyel bejelentkezhet a www-adatok felhasználó:
sudo su -s /bin/bash www-data
Ön most Apache-felhasználó, és ezt a lépést követően a következőképpen hozhatja létre Subversion-tárházát:
svnadmin teremt /subversion/myrepo
Most már van egy Subversion adattárad. Ahhoz, hogy ezt a tárat egy kicsit biztonságosabbá tegyük, és azonosítsuk felhasználóit, a következő lépés egy felhasználó létrehozása és jelszó beállítása. Ehhez használja a következő parancsot:
htpasswd -cmb /subversion/passwd myadmin mypass
E parancs szerint a felhasználóneved a következő lesz adminisztrátorom és a jelszavad az lesz mypass. Ezeket az értékeket az Ön körülményeinek megfelelőre módosíthatja.
A Subversion adattár most használatra kész. Ebben a szakaszban kiléphet a www-adatok felhasználó a kijárat parancs.
Most elküldheti a kívánt projektet vagy fájlt a repóba az alábbi paranccsal:
sudo svn import <a projekt címe> file:///subversion/myrepo -m "Első kötelezettségvállalás"
Ez a parancs a import paramétert, hogy a projektmappában lévő összes tartalmat a Subversion lerakatba küldje. Ennek során hozzá kell adnia a véglegesítési üzenetet a -m paraméter.
Hozzáférési módok használata a Subversionban
Lehet, hogy észrevette, hogy a file:// protokollt egy projekt hozzáadásához a tárhelyhez. Ez csak egy a számos hálózati protokoll közül, amellyel elérheti az svn-tárakat. Használhatja a WebDAV protokollt HTTP-n vagy HTTPS-en keresztül, vagy a subversion egyéni beállításait is svn jegyzőkönyv.
Közvetlen hozzáférés az adattárhoz
Amint láttad, használhatod a file:// protokollt a helyi tároló eléréséhez. A következőképpen vásárolhat meg egy helyi repót az aktuális könyvtárába:
svn co fájl:///subversion/myrepo
Amikor megnézi a repót, az svn megjeleníti a benne lévő fájlok listáját:
Hozzáférés a WebDAV használatával
A Subversion tárház és az Apache integrálásához konfigurálnia kell néhány beállítást.
Az első lépéshez aktiválja a dav, dav_svn, és dav_fs modulokat a következő parancsokkal:
sudo a2enmod dav dav_fs dav_svn
A szükséges modulok aktiválása után most már szerkesztheti a /etc/apache2/mods-enabled/dav_svn.conf fájlt. Hozza létre a fájlt, ha még nem létezik, és módosítsa a tartalmát az alábbiak szerint:
<Helyszín/felverés>
DAV svn
SVNPath /subversion/myrepo
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd
Kötelező érvényes-felhasználó
</Location>
Az AuthUserFile A beállítás a korábban létrehozott fájlra hivatkozik htpasswd. Ha ide hozzáadja, akkor a fájlban megnevezett összes felhasználó hozzáférést biztosít a lerakathoz, feltéve, hogy érvényes jelszóval hitelesítik.
Miután létrehozta és elmentette ezt a fájlt, indítsa újra az Apache2 szolgáltatást a következő paranccsal:
sudosystemctlújrakezdapache2.szolgáltatás
Most, amikor megnyit egy webböngészőt, és megnyitja a http://localhost/subversion/, látni fogja a tárhely tartalmát. Amikor erre a címre lép, kérni fogja a felhasználónevét és jelszavát:
Jelentkezzen be a felhasználónévvel (pl. adminisztrátorom) és jelszó (mypass), amelyet korábban beállított. A felhasználónév és jelszó megadása után elérheti Subversion tárházát a WebDAV segítségével:
Hozzáférés SSL és WebDAV segítségével
Az https:// protokollnak majdnem ugyanaz a konfigurációja, mint a http:// protokoll, néhány fontos eltéréssel. Hogy példát mondjak, a .conf a konfiguráció során használandó fájl eltérő. Digitális tanúsítványt is telepítenie kell. Mert mint tudod, ez a működési logikája SSL titkosítási módszer.
tudsz digitális tanúsítvány létrehozása saját maga, vagy telepíthet egy illetékes hatóság által kiállítottat. Feltételezve, hogy telepített egy digitális tanúsítványt, egyszerű a teendő.
A különbség ebben a lépésben a konfigurációs fájlban végrehajtandó módosításokban rejlik. Az alábbiakban egy minta konfigurációs fájl található az SSL és WebDAV használatához:
<Helyszín/felverés>
DAV bekapcsolva
SSLR szükséges SSL
Lehetőségek Egyik sem
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd
Kötelező érvényes-felhasználó
</Location>
Mint látható, a különbség a között https:// és http:// protokollok nem olyan sok a konfigurációs fájl változásait tekintve. A változtatások után újra kell indítania a apache2 szolgáltatás. Fuss systemctl indítsa újra az apache2.service-t hogy ezt tegye.
Miért használja a Subversion-t?
Verziókövetőként a Subversion megjegyzi a fájlok és könyvtárak minden módosítását. Lehetővé teszi, hogy hozzáférjen a használt szoftverek vagy dokumentumok régi verzióihoz, és megtalálja a különbségeket. Ez megkönnyíti a projektek kezelését, különösen, ha a fejlesztőcsapat nagy vagy elosztott.
A Subversionon kívül számos verziókezelő rendszer létezik Linuxra, amelyeket érdemes megfontolni.