Erinevus lehekülje "Subversion hoidla kasutamine Debianiga" redaktsioonide vahel

Allikas: Kuutõrvaja
(Subversion tarkvara paigaldamine)
(Subversioni arhitektuur)
13. rida: 13. rida:
 
Subversioni ehitust kujutab kõrgel abstraktsioonitasemel selline skeem
 
Subversioni ehitust kujutab kõrgel abstraktsioonitasemel selline skeem
  
   svn käsureaklient                       GUI SVN kliendid
+
   svn käsureaklient                 GUI SVN kliendid
 
+
                \                        /
 
+
                    \                / 
                    kliendi teegid
+
                      kliendi teegid
 
+
                            '
 +
                            v
 
               hoidlale ligipääsumoodused
 
               hoidlale ligipääsumoodused
 
    
 
    
               DAV      SNV       Local
+
               DAV      SNV             Local
 
+
              /          |                |
                    avalik võrk, internet
+
            /    avalik võrk, internet   |
 
+
            '            |                |
     Apache veebiserver
+
     Apache veebiserver   |                |
                     
+
            |            v                |
                      svnserve    
+
            |                              |
 
+
            |          svnserve           |
   
+
            |            '                |
                    Subversion hoidla
+
            v            v                v
           
+
                  Subversion hoidla
            Berkeley DB               FSFS
+
                    /              \
 +
                  '                  '
 +
            Berkeley DB             FSFS
  
 
===Subversion tarkvara paigaldamine===
 
===Subversion tarkvara paigaldamine===

Redaktsioon: 21. juuli 2009, kell 23:07

Sissejuhatus

Subversion http://subversion.tigris.org/ on versioonihalduse tarkvara (ingl. k. version control system), mida algselt asus arendama Collabnet http://www.collab.net/, tänapäeval on Subversion nn vaba tarkvara projekt. Subversion tarkvara kasutamine toimub Apache litsentsi http://en.wikipedia.org/wiki/Apache_License alusel.

Üldiselt kasutatakse versioonikontrolli tarkvara selleks, et hõlbustada mingi tekstilist tulemust tekitava ülesandega tegelevatel osalistel, nt programmeerijatel, üksteise tegevusest osa saada ja koostööd teha. Samal ajal ei ole versioonikontroll iseenesest projektijuhtimise tarkvara.

Tavaliselt kasutavad kõik osalised ühte keskset versioonihalduse serveris asuvat repositooriumit, kus asuvad kõneksolevale projektile vastavad andmed ning iga kasutaja töökohaarvutis on keskse projekti või selle osa koopia, mida nimetatakse kasutaja tööversiooniks. Kasutajad teevad muudatusi oma tööversiooni ning sünkroniseerivad andmeid keskse repositooriumiga. Sellise sünkroniseerimise käigus kopeerivad kasutajad oma tööversiooni tehtud muudatused versioonihalduse repositooriumisse ning saavad osa teiste kasutajate poolt tehtud muudatustest eeldusel, et teised kasutajad on oma muudatused eelnevalt repositooriumisse kopeerinud. Andmevahetus toimub ainult kasutaja ja repositooriumi vahel, mitte kunagi otse kahe kasutaja tööversioonide vahel.

Käesolev tekst keskendub Subversionit kasutava versioonihalduse süsteemi käivitamisel, eriti repositooriumi ettevalmistamisel ja seetõttu pakub tõenäoliselt huvi pigem süsteemiadministraatorile kui versioonihalduse süsteemi lõppkasutajale. Lõppkasutajale sobivamaks on tõenäoliselt versioonihalduse kliendi kasutamist käsitlev tekst, nt TortoiseSVN.

Subversioni arhitektuur

Subversioni ehitust kujutab kõrgel abstraktsioonitasemel selline skeem

  svn käsureaklient                  GUI SVN kliendid
               \                        /
                   \                /  
                     kliendi teegid
                           '
                           v
              hoidlale ligipääsumoodused
  
              DAV       SNV             Local
              /          |                |
            /    avalik võrk, internet    |
           '             |                |
   Apache veebiserver    |                |
           |             v                |
           |                              |
           |          svnserve            |
           |             '                |
           v             v                v
                  Subversion hoidla
                   /               \
                 '                   '
            Berkeley DB              FSFS

Subversion tarkvara paigaldamine

Debian v. 5.0 Lenny sisaldab paketihalduses Subversion versioonikontrolli tarkvara v. 1.5.1, paigaldamiseks tuleb öelda

 # apt-get install subversion

Pakett subversion sisaldab

  • svn - Subversioni klient suhtlemiseks hoidlaga
  • svnadmin - Subversioni administreerimise utiliit
  • svnserve - Subversioni server võrgus hoidla kättesaadavaks tegemiseks

Hoidla moodustamine

Hoidla moodustamiseks tuleb öelda

 $ svnadmin create /srv/svn/fai-config
 $ svn import /srv/fai/config file:///srv/svn/fai-confg -m "Initial import"

Ligipääsu hoidlale kontrollivad kolm faili

  • /srv/svn/fai-config/conf/svnserve.conf - üldine konfiguratsioon
  • /srv/svn/fai-config/conf/passwd - kasutajate paroolifail
  • /srv/svn/fai-config/conf/authz - kasutajate autoriseerimine

Vaikimisi saab lokaalsest arvutist kasutaja svn'i piiramatult, üle võrgu saab anonüümne kasutaja lugeda.

Väljavõtte tegemine

Lokaalsest arvutist

 $ svn checkout file:///srv/svn/fai
 $ svn export file:///srv/svn/fai

Üle võrgu, svn kasutab porti 3690/tcp

 $ svn checkout svn://192.168.10.199/fai-config

Üle võrgu, Apache veebiserveri abil vahendatud SVN repositooriumist

 $ svn co https://snv.loomaaed.tartu.ee/tarkvara/svn/projektid/test-1

Hoidlale ligipääsu korraldamine

Selleks, et hoidla ressurssidele saaks ligi ainult autenditud kasutaja tuleb kasutada nt selliseid seadistusfaile

 $ egrep -v "^#|^$" /srv/svn/fai-config/conf/svnserve.conf 
 [general]
 anon-access = none
 auth-access = write
 password-db = passwd
 authz-db = authz
 [sasl]
 $ egrep -v "^#|^$" /srv/svn/fai-config/conf/passwd
 [users]
 imre = parool
 $ egrep -v "^#|^$" /srv/svn/fai-config/conf/authz
 [aliases]
 [groups]
 [/]
 priit = rw

Kasutamiseks tuleb öelda

 $ svn checkout svn://priit@192.168.10.199/fai-config

Apache veebiserveri kasutamine kaugligipääsuks

Hoidlale kaugligipääsu korraldamine Apache veebiserveri vahendusel on eelistatud lahendus sellistel põhjustel

  • https:// kasutamise võimalus turvaliseks andmevahetuseks
  • hoidla kasutajate autentimise võimalus ldap kataloogi abil

Apache veebiserveri ettevalmistamine

 # apt-get install apache2 libapache2-svn

Kasutajate autentimine vastu tekstifaili

 <Location /tarkvara/svn/projektid>
   DAV svn
   SVNParentPath /srv/svn
   AuthzSVNAccessFile /etc/svn-dav-passwd
   AuthType Basic
   AuthName "Subversion repository"
   AuthUserFile /etc/svn-dav-htpasswd
   Require valid-user
   Order Allow,Deny
   Allow from All
  </Location>

Kasutajate autentimine vastu LDAP kataloogi

TODO

Kaugligipääs svnserve vahendusel

TODO

Kasulikud lisamaterjalid