Úvod
Subversion (nebo SVN) je systém pro správu verzí softwaru s otevřeným zdrojovým kódem používaný k údržbě a sledování změn v softwarovém kódu. Tento článek vás provede procesem nastavení serveru SVN na CentOS 7, který je dostupný z vašeho místního počítače. Nakonec tento server otestujeme vytvořením vzorového projektu na klientovi SVN.
Předpoklady
- Stávající instalace CentOS 7. Pokud potřebujete pomoc s nastavením CentOS 7, podívejte se na náš návod na počáteční nastavení CentOS 7.
- Základní znalost příkazového řádku systému Linux
Instalace SVN
Prvním krokem ke spuštění serveru je instalace SVN. Na CentOS se to nejsnáze provede pomocí yum
správce balíčků. Spusťte následující příkaz k instalaci SVN:
sudo yum install subversion
Stiskněte y
po zobrazení výzvy potvrďte instalaci. Po dokončení by se mělo zobrazit „Dokončeno!“ v terminálu. Chcete-li ověřit instalaci, spusťte následující příkaz:
svn --version
Pokud je správně nainstalována, zobrazí se krátká zpráva, která poskytuje podrobnosti o verzi a informace o autorských právech pro vaši instalaci SVN.
.
Vytvoření úložiště
Než začnete používat SVN, musíte se rozhodnout, jakou strukturu budete pro své repozitáře potřebovat. Pro malé týmy nebo osobní použití by mělo stačit jedno úložiště. Pokud potřebujete více úložišť, měli byste opakovat tuto část pro každé úložiště, které potřebujete. Spusťte následující příkaz a vytvořte adresář systému souborů na adrese /srv/svn
pro úložiště.
sudo mkdir /srv/svn
Dále inicializujte úložiště pomocí svnadmin
příkaz:
sudo svnadmin create /srv/svn
Tento příkaz vytvoří nezbytnou strukturu složek pro úložiště SVN a několik výchozích souborů.
.
Konfigurace serveru
Existuje mnoho možností pro spuštění serveru SVN. V tomto tutoriálu použijeme vestavěný svnserve
, jehož spuštění je velmi snadné. Tato možnost bude vyhovovat většině týmů, které nepotřebují pokročilé možnosti.
.
Vytváření uživatelů
cd /srv/svn/conf sudo nano svnserve.conf
V tomto souboru přidáme dvě vlastnosti. První je password-db
který ukazuje na soubor, kde budou uživatelé uloženi. Druhým je realm
, což si můžete představit jako „jmenný prostor“ používaný tímto úložištěm. Tento název sféry se zobrazí uživatelům během ověřování.
[general] password-db = passwd realm = my company
Pokud upravujete předem vygenerovaný konfigurační soubor, tyto vlastnosti již existují. Symbol komentáře můžete odstranit (
#
) – a všechny předchozí mezery – a upravte úkol tak, aby odpovídal výše nebo podle vašich představ.
.
V tomto /srv/svn/conf
adresář, měli byste již vidět passwd
soubor. svnadmin
výše uvedený příkaz vytvoří tento soubor automaticky. Přidejte tolik uživatelů, kolik chcete, zadáním uživatelského jména a hesla v párech klíč–hodnota. Například:
[users] samantha = secretpassword robert = hunter2
Spuštění serveru
Ke spuštění serveru používáme svnserve
příkaz.
sudo svnserve -d -r /srv/svn
-d
switch jej spustí jako proces na pozadí (démon). -r
přepínač ukazuje server na umístění systému souborů úložiště, které jsme vytvořili dříve. (Úplný seznam možností konfigurace získáte spuštěním man svnserve
.)
Ujistěte se, že tento proces spouštíte jako uživatel se zvýšenými oprávněními (root). Pokud tak neučiníte, koncoví uživatelé nebudou moci provádět žádné změny v úložišti.
.
Výchozí port pro svnserve
je 3690. Chcete-li ověřit, že server SVN běží, otevřete prohlížeč a přejděte na http://myserver:3690
(nahrazuje myserver
s názvem hostitele nebo IP adresou vašeho serveru). Měli byste vidět nějaký text podobný níže.
Příklad Subversion Response v prohlížeči
I když můžeme použít
http://
zde, abychom se ujistili, že je server spuštěn, budeme primárně komunikovat se serverem SVN pomocí vlastníhosvn://
Formát adresy URL.
.
Vytvoření testovacího projektu
Abychom se ujistili, že je vše správně nastaveno, vytvoříme fiktivní projekt. Od této chvíle byste měli pracovat z klienta, který má nainstalované SVN. Pokud nemáte snadný přístup k jinému počítači (nebo pokud instalujete SVN na svůj počítač pro osobní použití), můžete samozřejmě použít server, na kterém již pracujete.
Začněte vytvořením složky testovacího projektu.
mkdir ~/Documents/my-first-project
Poté spusťte následující příkaz a importujte tento adresář do SVN. (Znovu nezapomeňte nahradit myserver
s názvem hostitele nebo IP vašeho serveru SVN.)
svn import ~/Documents/my-first-project svn://myserver:3690/my-first-project -m "Initial commit." --username robert --password hunter2
V tomto jediném příkazu je mnoho příznaků, takže se podívejme, co každý z nich dělá.
import
vytvoří nový projekt v SVN. Určíme zdroj a poté cíl.-m "Initial commit."
je naše zpráva o potvrzení, která je přihlášena v SVN.--username
a--password
jsou podrobnosti o ověření.
Můžete obdržet varování, že vaše heslo bude uloženo do mezipaměti nezašifrované. Pokud je váš klientský počítač již chráněn heslem, můžete s tím být v pořádku. Pro optimální zabezpečení však můžete ve výzvě
Store password unencrypted
zadat „ne“ a vaše heslo nebude uloženo do mezipaměti. Můžete se také řídit návrhem nastavenístore-plaintext-passwords
(v uvedeném konfiguračním souboru) na „ne“, abyste nebyli znovu vyzváni.
.
Pokud vše půjde dobře, měli byste vidět Committed revision 1
v terminálu.
Běžné chyby
Zde jsou některé chyby, které se mohou zobrazit, pokud něco není správně nakonfigurováno:
- Selhání ověření nebo autorizace :Zkontrolujte nastavení v části „Vytváření uživatelů“. Je důležité, aby tyto konfigurační soubory byly na správném místě a neobsahovaly překlepy.
- Nelze se připojit k úložišti :Ujistěte se, že server běží a že jste jej spustili se správným
-r
cesta. - Chyby oprávnění k souboru :Ujistěte se, že server běží se zvýšenými oprávněními. Pokud si nejste jisti,
ps aux
příkaz vám ukáže uživatele, který používásvnserve
.
.
Závěr
Po dokončení tohoto tutoriálu byste měli být schopni:
- Vytvořte základní úložiště SVN v CentOS 7
- Přidat uživatele do úložiště
- Spusťte server, přes který mohou klienti přistupovat k úložišti
Existuje mnoho dalších možností, které můžete nakonfigurovat ve své instalaci SVN. Další informace naleznete v knize SVN Book, která poskytuje podrobnější podrobnosti o konfiguraci a údržbě serveru SVN.
Atlantic.net nabízí hosting VPS i spravované hostingové služby, které zahrnují vrstvu spravovaných služeb nezbytných pro podnikání k vašim hostingovým balíčkům. Kontaktujte nás ještě dnes pro více informací.