Instalace serveru CVS na Gentoo linuxu
Pokud jste se někdy podíleli na vývoji nějakého projektu a neúnavně jste se pokoušeli udržet si přehled nad změnami, historií verzí nebo se začínáte ztrácet v množství záloh, jistě jste zatoužili vyhrat nad nepřehledností a chaosem za pomoci nějakého nástroje který by vše hlídal za vás.
Jeden z několika nástrojů udržující verze zdrojových kódů, historii souborů a změn všech účastníků projektu je systém CVS. Jen málo který vývojový tým či programátor jednotlivec by si dokázal bez tohoto nástroje představit uspěšný vývoj a práci na projektu.
Pro ty, co by chtěli systém CVS začít používat, jsem napsal malý návod jak server CVS rozběhnout a správně nakonfigurovat.
Instalace na distribuci Gentoo linuxu
Nejprve si emergneme zdrojáky:
# USE="server" emerge cvs # emerge cvsd
Tímto se nainstaluje klient CVS a CVSD server daemon. Je potřeba dát pozor na to, aby se kompilace provedla s parametrem „server“, jinak by cvsd server nepracoval správně a při pokusu o zalogování se vrátí chybové hlášení:
cvs [login aborted]: unrecognized auth response from <host> cvs: unrecognized option `--allow-root=/root
Založení CVS Jailrootu
Nyní založíme CVS Jailroot což je výchozí adresář hlavního repozitáře ROOT a všech pracovních souoborů CVS. Asi nejběžnějším místem je
/var/lib/cvsd
# mkdir /var/lib/cvsd # cvs -d /var/lib/cvsd/root init # cvsd-buildroot /var/lib/cvsd # cd /var/lib/cvsd # mkdir -p var/lock
Tak, CVS jailroot je vytvořený a nyní se můžeme podívat na základní konfiguraci cvsd daemonu. Oblíbeným editorem otevřeme konfigurační soubor
cvsd.conf
# nano -w /etc/cvsd/cvsd.conf
Obsah souboru by měl vypadat nějak takto:
RootJail /var/lib/cvsd Uid cvsd Gid cvsd Listen * 2401 # nebo jiný port přez který si přejete provozovat CVS Repos /root
Pokud jste udělali nějaké změny tak soubor uložte a jako další krok přidáme nového uživatele CVS
CVS – přidání uživatele
Nyní založíme nového uživatele CVS.
Definovat více uživatelů je velmi důležité, jinak bychom se nikdy nedozvěděli kdo je zodpovědný za různé změny ve zdrojových souborech. Velmi doporučuji, aby nepoužívalo CVS více vývojářů pod stejným uživatelským účtem!
# cvsd-passwd /var/lib/cvsd/root UZIVATELSKE_JMENO
budete vyzváni k zadání hesla a pak k jeho ověření.
Pokud budete chtít otevřít systém pro čtení anonymous uživatelům, stačí tohoto uživatele také založit bez hesla (odeslat prázdný ENTER) a po sléze ho přidat do souboru readers, aby se garantoval přístup jen pro čtení:
# touch /var/lib/cvsd/root/CVSROOT/readers # chown cvsd:cvsd /var/lib/cvsd/root/CVSROOT/readers # nano /var/lib/cvsd/root/CVSROOT/readers
Do souboru readers přidáme všechyn uživatele, kteří budou mít přístup pouze pro čtení:
Soubor: /var/lib/cvsd/root/CVSROOT/readers
host anonymous honza
CVS – nastavení potřebných práv
nyní musíme nastavit práva CVS Jailrootu a rooto repozitáře:
# cd /var/lib # chown -R cvsd:cvsd cvsd # chmod -R 775 /var/lib/cvsd/root
Nyní restartujeme CVSD daemon:
# /etc/init.d/cvsd restart
Pokud si přejete spouštět CVSD daemon po startu serveru, přidáme ho do runlevelu:
# rc-update add cvsd default
Jednoduchý test CVS serveru
Běžná metoda přes „pserver“
Nejprve nastavíme proměnnou systémového prostředí CVSROOT (:pserver:<uzivatel>@<host>:/cvsroot):
# CVSROOT=:pserver:UZIVATEL:HESLO@localhost:/root; export CVSROOT
Nyní se můžeme poprvé zalogovat:
# cvs logout
Proběhne-li všechno v pořádku, můžeme naimportovat první projekt:
# cvs import -m 'Novy projekt' nazev_modulu vendor start
Nezapomeňte zajistit, aby vaše uživatelské jméno bylo osaženo v souboru
/var/lib/cvsd/root/CVSROOT/writers
a naopak nebylo v souboru
/var/lib/cvsd/root/CVSROOT/readers
Mějte na vědomí, že se při importu importují všechny soubory a složky aktuálního adresáře, což je jiné při příkazu „checkout“, kdy je potřeba být v adresáři o úroveň VÝŠE! Není-li totiž určeno parametrem „-d složka adresáře“ jinak, automaticky se vytvoří adresář názvu modulu v aktuálním adresáři.
Nyní se můžeme přepnout do pracovního adresáře a zkusit naimportovaný projekt opět checkoutnout z repozitáře:
# cvs co nazev_modulu
Provedete-li nějaké změny v projektu, (například v souboru test.php) můžete aktualizovat soubory projekt v repozitáři příkazem commit:
# cd adresar_projektu # cvs commit -m "Popis zmeny" test.php
výsledkem by měl být podobný výstup
# /root/nazev_modulu/test.php,v <-- test.php # new revision: 1.2; previous revision: 1.1
Příkazů a parametrů CVS je velká spousta a vřele doporučujij se alespoň s těmi nejzákladnějšími z nich seznamit, třeba zde
Pokud se naučíte se systémem CVS pracovat, bude vám velkým pomocníkem a jistě si ho v mnoha ohledech oblíbíte.
Doufám že vám tento jednoduchý návod při instalaci alespoň trochu pomohl, zprovoznění CVS mnohem bezpečnější metodou za pomocí SSL protokolu si ukážeme později..
Shlédnuto: 2322, Zdroj: rrsoft.cz Autor: Radek Roža