SVN

From ICO wiki
Jump to navigationJump to search

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 arenev keskkond ja oma mugava kasutusvõimalusega leiab viimasel ajal üha enam kasutajaid nii riigiasutuses kui ka erasektoris. Arendades SVN teenust edasi; tuues juurde sertifikaadid (kasutades https protokolli), sisselogimist liidestades (LDAP või mõne teise autentimise mehhanismiga). Need on vaid mõned lisavõimalused, mida antud artiklis (töös) ei leia kirjeldamist.

Kuidas panna SVN vastu LDAP-i autentima

LDAP on aternatiiv. Kellel huvi saab seda lugeda siit
http://kuutorvaja.eenet.ee/wiki/Subversion_hoidla_kasutamine_Debianiga#Kasutajate_autentimine_vastu_LDAP_kataloogi
http://www.johandekoning.nl/index.php/2008/08/30/ubuntu-apache-ssl-subversion-and-ldap/
http://ionz.org/2008/how-to-install-trac-with-ldap-painlessly-on-ubuntu-804-hardy/

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