Konferencia OSSConf2010 - príspevky a prezentácie

Konferencia Otvorený softvér vo vzdelávaní, výskume a v IT riešeniach, ktorú zorganizovala Spoločnosť pre otvorené informačné technológie,  sa uskutočnila od štvrtka, 1. júla do nedele 4. júla 2010 v novom areáli Žilinskej univerzity.

Subversion

Verzia pre tlačOdoslať priateľoviPDF verzia
0
 
 

Subversion je systém s otvoreným zdrojovým kódom na správu verzií. Pomocou Subversion, môžete zaznamenať históriu zdrojových súborov a dokumentov. Spravuje súbory a priečinky v čase. Strom súborov je umiestnený v centrálnom úložisku. Úložisko je veľmi podobné súborovému serveru s tým rozdielom, že si pamätá každú zmenu vykonanú v súboroch a priečinkoch.

Subversion: stručný návod

Inštalácia

Aby sme mohli pristupovať k úložisku systému Subversion cez HTTP protokol, musíme nastaviť webový server. Správnu funkčnosť so systémom Subversion vykazuje webový server Apache2. Návod, ako nainštalovať webový server Apache2, nájdeme v časti HTTPD – webový server Apache2. Aby sme mohli do úložiska systému Subversion pristupovať cez HTTPS protokol, musíme nainštalovať a nastaviť digitálny certifikát pre webový server Apache 2. Návod na nastavenie digitálneho certifikátu nájdeme v časti Nastavenie HTTPS.

Subversion nainštalujeme zadaním nasledujúceho príkazu do príkazového riadka:

sudo apt-get install subversion libapache2-svn 

Konfigurácia servera

V tomto kroku budeme predpokladať, že máme nainštalované vyššie spomínané balíky. V tejto časti si povieme, ako môžeme vytvoriť úložisko systému Subversion a vstúpiť do projektu.

Vytvorenie úložiska Subversion

Úložisko systému Subversion môžeme vytvoriť zadaním nasledujúceho príkazu do príkazového riadka:

svnadmin create /cesta/k/uložisku/projektu 

Importovanie súborov

Po vytvorení úložiska môžeme naimportovať súbory do úložiska. Import do priečinka spustíme zadaním nasledujúceho príkazu do príkazového riadka:

svn import /cesta/k/import/priečinku file:///cesta/k/úložisku/projektu 

Spôsoby prístupu

Do úložísk systému Subversion sa dá vstúpiť rôznymi spôsobmi – cez lokálny disk alebo pomocou rôznych sieťových protokolov. Umiestnenie úložiska však vždy zadávame vo forme URL adresy. V nasledujúcej tabuľke je popis rôznych metód prístupu.

Tabuľka 14.1. Metódy prístupu

Schéma

Spôsob prístupu

file://

Priamy prístup do úložiska (ak je na lokálnom disku)

http://

Prístup cez protokol WebDAV k Apache2 web serveru s podporou Subversion

https://

Rovnaký ako http://, len spolu s SSL šifrovaním

svn://

Prístup cez vlastný protokol k svnserve serveru

svn+ssh://

Rovnaký ako svn://, ale cez SSH tunel


V tejto časti si ukážeme, ako nastaviť Subversion, aby všetky tieto metódy prístupu fungovali. Povieme si len o základných nastaveniach. Viac informácii sa nachádza v knihe svn book.

Priamy prístup do úložiska (file://)

Toto je najjednoduchšia metóda prístupu. Nevyžaduje, aby bol spustený nejaký serverový proces Subversion. Táto metóda prístupu sa používa na prístup z rovnakej stanice ako je tá, na ktorej je umiestnené úložisko Subversion. Syntax príkazu, ktorý zadáme do príkazového riadka je nasledujúci:

svn co file:///cesta/k/uložisku/projektu 

alebo

svn co file://localhost/cesta/k/uložisku/projektu 
[Note]

Ak nezadáme názov stanice, je potrebné použiť tri lomky (///) -- dve pre protokol (file://) a jedno ako označenie kmeňového priečinka súborového systému. Ak zadáme názov stanice (localhost), stačia iba dve lomky (//).

Oprávnenia k úložisku závisia od oprávnení použíitých v súborovom systéme. Ak používateľ má právo na čítanie a zápis, môže prečítať obsah úložiska a zapisovať do neho.

Prístup cez protokol WebDAV (http://)

Ak chceme do úložiska Subversion pristupovať cez protokol WebDAV, musíme nastaviť webový server Apache 2. Musíme pridať nasledujúce riadky medzi zančky <VirtualHost></VirtualHost> do konfiguračného súboru /etc/apache2/apache2.conf:

 <Location /svn> 
  DAV svn 
  SVNParentPath /home/svn 
  AuthType Basic 
  AuthName "Názov nášho úložiska" 
  AuthUserFile /etc/subversion/passwd 
  <LimitExcept GET PROPFIND OPTIONS REPORT> 
  Require valid-user 
  </LimitExcept> 
  </Location>  
[Note]

Predchádzajúce konfiguračné riadky predpokladajú, že úložisko Subversion bolo vytvorené v priečinku /home/svn/ pomocou príkazu svnadmin. Bude sa dať ku nemu pristupovať pomocou URL adresy htpp://názov_stanice/svn/nazov_úložiska.

Aby bolo možné importovať a dokladať súbory do úložiska Subversion cez protokol HTTP, je potrebné, aby úložisko vlastnil používateľ HTTP. V systéme Ubuntu sa HTTP používateľ volá www-data. Vlastníka úložiska zmeníme zadaním nasledujúceho príkazu do príkazového riadka:

sudo chown -R www-data:www-data /cesta/k/úložisku 
[Note]

Po zmene vlastníka úložiska na www-data nebude možné importovať a odosielať súbory do úložiska pomocou príkazu svn import file:/// pod iným používateľom než je www-data.

V ďalšom kroku vytvoríme súbor /etc/subversion/passwd, ktorý bude obsahovať autentifikačné informácie o používateľoch. Súbor vytvoríme zadaním nasledujúceho príkazu do príkazového riadka (ten vytvorí súbor a pridá prvého používateľa):

sudo htpasswd -c /etc/subversion/passwd meno_pouzivatela 

Ak chceme pridať ďalších používateľov, môžeme vynechať prepínač "-c" inak by bol súbor nanovo vytvorený. Použijeme teda takýto príkaz:

sudo htpasswd /etc/subversion/password meno_pouzivatela 

Po spustení príkazu bude potrebné zadať heslo. Po zadaní hesla sa pridá používateľ. Odteraz sa nový používateľ bude môcť pripojiť do úložiska spustením nasledujúceho príkazu:

svn co http://menoservera/sv 
[Warning]

Heslo sa bude prenášať ako bežný text. Ak sa obávate odchytenia hesla, je potrebné použiť SSL šifrovanie. Viac informácii je v nasledujúcom texte.

Prístup cez protokol WebDAV s SSL šifrovaním (https://)

Spôsob pripojenia do úložiska Subversion cez protokol WebDAV s SSL šifrovaním (https://) je podobný prístupu http:// s tým rozdielom, že musíme nainštalovať a nastaviť digitálny certifikát pre webový server Apache2. Keď chceme použiť SSL spolu so Subversion pridáme konfiguráciu Apache2 uvedenú vyššie do súboru /etc/apache2/sites-available/default-ssl. Viac informácií o nastavovaní Apache2 spolu so SSL nájdeme v časti Konfigurácia HTTPS.

Môžeme nainštalovať digitálny certifikát podpísaný certifikačnou autoritou alebo nainštalovať sebou podpísaný certifikát.

Za predpokladu, že máme nainštalovaný a nastavený digitálny certifikát pre webový server Apache 2, môžeme vstúpiť do úložiska Subversion tak, ako je to popísané v predchádzajúcej časti. Spôsob prístupu je presne ten istý, s tým rozdielom, že na prístup do úložiska Subversion použijeme protokol https://.

Prístup pomocou vlastného protokolu (svn://)

Po vytvorení úložiska Subversion môžeme nastaviť prístupový protokol. Otvoríme súbor /cesta/k/úložisku/projektu/conf/svnserve.conf a nastavíme riadenie prístupu. Napríklad, ak chceme nastaviť autentifikáciu, odpoznámkujeme nasledujúce riadky v konfiguračnom súbore:

# [general] 
# password-db = passwd 

Po odpoznámkovaní predchádzajúcich riadkov môžeme upraviť zoznam používateľov v súbore passwd. Otvoríme súbor passwd, ktorý sa nachádza v rovnakom priečinku a pridáme nového používateľa. Syntax je nasledovná:

menopouzivatela = heslo 

Viac informácií sa dozviete priamo v súbore.

Teraz môžeme vstúpiť do úložiska Subversion cez vlastný protokol svn://, buď z rovnakého alebo vzdialeného počítača, spustením príkazu svnserve. Syntax je nasledovná:

$ svnserve -d --foreground -r /cesta/k/úložisku 
# -d -- režim démona 
# --foreground -- spustí na popredí (užitočné pre ladenie) 
# -r -- poskytnúť ako kmeňový priečinok 
 
Viac informácie o príkaze získame po zadaní: 
$ svnserve --help 

Po spustení tohto príkazu Subversion začne načúvať na predvolenom porte (3690). Ak sa chceme pripojiť do úložiska project, musíme spustiť nasledujúci príkaz v príkazovom riadku:

svn co svn://nazovstanice/project project --username meno_pouzivatela 

Ak je server tak nastavený, vyžiada si zadanie hesla. Po autentifikácii sa porovná kód s úložiskom Subversion. Ak chceme synchronizovať úložisko s lokálnou kópiou projektu, môžeme použiť príkaz svn update. Syntax príkazu je nasledovná:

cd priečinok_projektu ; svn update 

Viac informácií o používaní podpríkazov príkazu svn sa dozvieme v referenčnej príručke. Napríklad, ak sa chceme dozvedieť viac o príkaze co (checkout), spustíme nasledujúci príkaz v príkazovom riadku:

svn co help 

Prístup pomocou vlastného protokolu cez SSH tunel (svn+ssh://)

Konfigurácia a spustenie serverového procesu je rovnaká ako pri metóde svn://. Detaily sa nachádzajú v predchádzajúcej časti. V tomto kroku predpokladáme, že sme už vykonali predchádzajúce kroky a že sme spustili Subversion server pomocou príkazu svnserve.

Predpokladáme tiež, že je na počítači spustený ssh server, ktorý umožňuje pripojenia. Aby sme sa o tom uistili, prihlásime sa k počítaču pomocou ssh. Ak sme sa prihlásili, všetko funguje správne. Ak sa nám prihlásiť nepodarilo, je potrebné najskôr odstrániť tento problém. Návod, ako nainštalovať a nastaviť ssh server, sa nachádza v časti OpenSSH server.

Protokol svn+ssh:// sa používa na prístup k úložisku Subversion pomocou SSL šifrovania. Dátový prenos je šifrovaný pomocou tejto metódy. Ak sa chceme pripojiť do úložiska (napríklad pomocou príkazu checkout), použijeme nasledujúcu syntax:

svn co svn+ssh://nazovstanice/var/svn/repos/project 
[Note]

Pri použití tejto metódy je potrebné použiť celú cestu (/cesta/k/úložisku/projektu) k úložisku Subversion.

Ak je server tak nastavený, vyžiada si prístupové heslo. Musíme zadať heslo, ktorým sa prihlasujeme cez ssh. Po prihlásení sa skontroluje kód z úložiska Subversion.