• Meetings e Workshop
    l'associazione organizza workshop e meeting periodici

  • HowTo e manuali
    come costruire da te gadget elettronici e come programmarli

  • Hacking della PS3
    howto su come installare linux ed effettuare altri hack

  • Una comunità organizzata
    entra a far parte di una associazione organizzata e attiva

  • Strumenti di supporto
    per mantenersi in contatto e favorire la cooperazione

intermediate - pubblicare un repository SVN tramite modulo per Apache PDF Stampa E-mail
Scritto da allanon   
allanon

In questo piccolo how-to vedremo come creare un repository svn e gestirlo attraverso il modulo disponibile per apache.

Per saperne di piu' continua a leggere :)

Breve introduzione

Subversion (SVN) e' un efficace, e centralizzato, strumento per il controllo di versione, ovvero si occupa di gestire i cambiamenti di un insieme di informazioni che compongono un progetto

Tale informazioni (file e cartelle) risiedono in un repository centrale, e ogni modifica viene memorizzata e contribuisce a creare lo storico del progetto; storico in cui e' possibile navigare per richiamare una certa versione di tutto il progetto o solo di alcuni file, qualora si presentasse l'esigenza

In generale e' consigliabile usare un sistema di controllo di versione in tutti i quei lavori che non possono essere chiusi in un unica sessione di lavoro.

Essendo un sistema centralizzato, subversion prevede un repository centrale, accessibile a tutti gli sviluppatori.

I vari metodi di accesso sono

  • tramite ssh
  • tramite il server embeded in svn stesso
  • tramite web

In questo how-to vedremo come renderlo accessibile tramite web attraverso un modulo per il popolare web server Apache. Il tutto su debian lenny stable.

La guida dovrebbe funzionare bene su qualsiasi altro sistema debian-like, e in generale potete adattarla su qualsiasi piattaforma linux, se avete padronanza del gestore di pacchetti e dell'albero delle directory.

 

Ipotesi stringente e' che voi

  • abbiate a disposizione un server apache gia' funzionante
  • abbiate i permessi di amministratore sul sistema

 

Creare il primo repository

Per prima cosa, installate subversion, qualora non sia gia' installato

apt-get install subversion

 

adesso creiamo la cartella che conterra' tutti i nostri repository (piazzatela dove volete, io ho scelto questa locazione, la piu' logica per il tipo di dati variabili)

mkdir /var/local/subversion

 

 e finalmente creiamo il nostro primo repository

 svnadmin create --fs-type fsfs /var/local/subversion/repository1

 

 

Gestire un repository tramite modulo apache

Installiamo il modulo di apache

apt-get install libapache2-svn

 

abilitare il modilo

cd  /etc/apache2/mods-enabled/   

ln -s ../mods-available/dav_svn.* .

(saranno disponibili al prossimo riavvio di apache)

 

configurare il modulo

modificare il file di configurazione del modulo /etc/apache2/mods-enabled/dav_svn.conf

affinche' sia simile a questo:



        DAV svn
        SVNPath /var/local/subversion/repository1
        Require valid-user
        AuthType Basic
        AuthName "Subversion Repository"
        AuthUserFile /etc/apache2/dav_svn.passwd
        AuthzSVNAccessFile /etc/apache2/dav_svn.authz
        SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128


impostare le password per gli utenti


per creare il file con dentro il primo utente

htpasswd -c /etc/apache2/dav_svn.passwd

i successivi utenti andranno inseriri senza sovrascrivere il file

htpasswd /etc/apache2/dav_svn.passwd

impostare i permessi per i vari rami del repository

creare un file /etc/apache2/dav_svn.authz
simile a questo

#File di gestione degli accessi al repository SVN
# i permessi vengono mathcati a partire dal path piu' specifico risalendo a quello piu' generico

[svn:/]
allanon = rw
utente1 =

[svn:/ramo1/prova1]
allanon = rw
utente1 = rw

# in questo caso l'utente uno puo accedere a prova1 ma non puo' salite ai rami superiori

riavviare apache

/etc/init.d/apache2 restart

 

 


 

Aggiungi commento


Codice di sicurezza
Aggiorna


grayhats.org, Powered by Joomla!; Joomla templates by SG web hosting
valid xhtml valid css