SVN

From ICO wiki
Jump to navigationJump to search

Artikkel on poolik

Autor

Nimi: Janar Viidermets
Grupp: AK41

Versioon

Versioon Kuupäev Kommentaar
0.1 07.06.2011 Struktuuri loomine
0.2 08.06.2011 SVN ja Apache konfigureerimine
0.3 09.06.2011 Varundamine ja taastamine
0.4 13.06.2011 Kokkuvõte

Sissejuhatus

SVN on avatud lähtekoodiga versiooni kontrollisüsteem. Kasutades SVN-i saadakse ülevaade dokumentide ja kataloogide muudatuste ajaloost. Failid paigutatakse keskhoidlasse, mis on tavaline failiserver (samba).

Legend

On tarkvara arendusega tegelev asutus, kellel on palju partnereid, kes omakorda teevad erinevaid töid näiteks: analüüsivad, programmeerivad jms. Asutus kasutab SVN-i teenust, et partnerid saaksid asutusele kerge vaevaga tarnida valmis tulemeid (dokumendid, koodid jne).

Skoop

Skoobis tuuakse välja SVN paigaldamine ja häälestamine.

Eeldused

- Eelduseks on vähemalt 1 serveri olemasolu (Ubuntu server 10.04);
- Mõned kasutaja PC;
- Kasutajaid on kolm: Toomas, Tiit ja Mari.

Tarkvara paigaldamine

Tuleb meeles pidada, et kasutaja peab olema Root õigustega, et käskluste ette ei peaks sudo kirjutama. Tuleb root kasutajana ennast sisse logida

 sudo 

Tarkvara pakettide paigaldamine

Instaleeritakse SVN, Apache ja libapache2-svn, mis sisaldab dav and dav_svn mooduleid, mida Apache vajab.

apt-get install subversion apache2 libapache2-svn

SVN konfigureerimine

Esimeseks sammuks on luua projektikaust ja siis vahetatakse projektikaust omanik-kasutajaks:

mkdir /etc/project
svnadmin create /etc/project/esimeneproject

Anname project kaustale lugemise õigused. seda on võimalik teha kahte moodi

chown -R www-data:www-data /etc/project

või

chmod -R 770 /etc/project

Konfigureerime Apache, et oleks võimalik kasutada järgmisi mooduleid: dav, dav_svn

a2enmod dav 
a2enmod dav_svn 

Kasutaja konto loomine

Luuakse kasutajakontod näiteks Toomas, Tiit ja Mari jaoks. Peale iga uue kasutajakonto loomist küsitakse password.

htpasswd -c /etc/apache2/svn.passwd toomas 
htpasswd -c /etc/apache2/svn.passwd tiit 
htpasswd -c /etc/apache2/svn.passwd mari

Kasutaja õiguste loomine

Järgmiseks konfigureeritakse igale kasutajale vastavad õigused, mis kirjeldatakse ära svn.authz konfiguratsiooni failis.

vi /etc/apache/svn.authz 
[/] 
james = rw 
peter = r 
thomas = r 

Antakse kasutajale Toomas õigus SVN projektikausta vaadata ja kirjutad, kusjuures kasutajad Tiit ja Mari võivad seda ainult vaadata. Järgmiseks lõpetatakse Apache konfigureerimine. Kasutajatele antakse vastavad õigused Projektikausta jaoks. Seda tehakse alloleva teksti sisestamisega Apache konfiguratsiooni failis.

<location /svn> 
DAV svn 
SVNPath 
AuthType Basic 
AuthName "Our Repository" 
AuthUserFile /etc/apache2/svn-passwd 
AuthzSVNAccessFile /etc/apache2/svn.authz 
Require valid-user 
</location> 

See järel tuleb teha Apachele restart

/etc/init.d/apache2 restart 

Testimine

Kui avada veebi brauser ja sisestada http://hostname/svn, siis avaneb autentimise aken kuhu kasutaja (kellel on õigused kasutada SVN) sisestab oma kasutaja nime ja parooli.

Varundamine ja taastamine

Kõigepealt teeme hoidlast backup-i

svnadmin dump /path/to/project | gzip > backup.gz

ja taastada saame järgneva käsuga

$ gunzip -c backup.gz | svnadmin load /path/to/project

Kokkuvõte

SVN on leidnud viimaasel ajal üha enam kasutajaid - põhjenduseks on mugav kasutusvõimalus. Arendades käsitletud teemat edasi - tuues juurde sertifikaadid (kasutades https protokolli), sisselogimist liidestades (LDAP või mõne teise autentimise mehhanismiga). Kokkuvõttes on SVN arenev keskkond,mis leiab kasututust järjest enam era- ja riigiettevõtetes.

Kasutatud materjalid

Kellel huvi asja vastu saab matrjale vaadata ka siit
http://subversion.apache.org/
http://net.tutsplus.com/tutorials/other/enhancing-your-ubuntu-server/
http://www.howtoforge.com/subversion-trac-virtual-hosts-on-ubuntu-server
http://www.zoneminder.com/wiki/index.php/Ubuntu_8.10_Vanilla_32bit_%28with_FFmpeg_SVN,_ZoneMinder_SVN,_jscalendar-1.0,_cambozola-0.7%29