Installare Subversion su Debian: differenze tra le versioni
Riga 67: | Riga 67: | ||
== Gestione degli utenti == | == Gestione degli utenti == | ||
Ora dobbiamo crreare il file contenente l'elenco degli utenti che avranno accesso a SVN. Per ora creeremo un solo utente ''admin'': | |||
<pre> | |||
# htpasswd –c /etc/apache2/dav_svn.passwd admin | |||
</pre> | |||
Ci verrà chiesto di inserire la password dell'utente. | |||
<br/> | |||
Possiamo in ogni momento aggiungere nuovi utenti con il comando: | |||
<pre> | |||
# htpasswd /etc/apache2/dav_svn.passwd nuovo_utente | |||
</pre> | |||
Si noti l'assenza dell'opzione ''-c'', che va utilizzata '''solo''' nel caso in cui si voglia ricreare un nuovo elenco da zero, resettando gli attuali utenti configurati. |
Versione delle 10:18, 9 mar 2014
Introduzione
Subversion (noto anche come svn, che è il nome del suo client a riga di comando) è un sistema di controllo versione progettato da CollabNet Inc. con lo scopo di essere il naturale successore di CVS, oramai considerato superato. E' rilasciato sotto la licenza libera Apache.
Installazione
Operando sul server come utente root, installiamo Subversion con un solo comando:
# apt-get install subversion
Configurazione
Creiamo ora una directory per contenere i repository dei nostri progetti:
# mkdir –p /var/lib/svn
Quindi avviamo un primo progetto di prova all'interno della directory appena creata:
# svnadmin create /var/lib/svn/myproject
Abilitare HTTP
Subversion è ora installato e funzionante, ma può essere usato solo in locale sul server che lo ospita, che non è una cosa molto comoda. Abbiamo quindi bisogno di installare un web server e di configurarlo per ospitare Subversion.
Per l'installazione di Apache rimandiamo alla guida dedicata: Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5.
Al termine dell'installazione base di Apache possiamo installare il modulo SVN:
# apt-get install libapache2-svn
Ora dobbiamo configurare il modulo SVN di Apache modificando il suo file di configurazione principale:
# nano /etc/apache2/mods-available/dav_svn.conf
Il file di default è completamente commentato e non contiene nemmeno un'istruzione eseguibile, ma solo una configurazione di esempio disabilitata. Lasciamo pure tutto così e aggiungiamo alla fine del file la nostra configurazione:
<Location /svn> DAV svn SVNParentPath /var/lib/svn AuthType Basic AuthName "Ferdy Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
Quindi salviamo il file e riavviamo Apache:
# /etc/init.d/apache2 restart
Impostare i permessi sulla directory radice
Poichè interagiremo con Subversion attraverso Apache, è importante che il nostro webserver abbia i permessi di scrittura sulle directory del nostro repository. Impostiamo quindi i giusti permessi:
# chown -R www-data:www-data /var/lib/svn
Se decidiamo di utilizzare, oltre al modulo SVN di Apache, anche i client nativi di Subversion per i vari sistemi operativi:
- Kdesvn è un client per Linux
- RapidSVN è un client GUI per Microsoft Windows o Linux, scritto in C++ usando il framework wxWidgets
- eSvn è un client basato su Qt
- JSVN è un client basato su Swing (Java)
- TortoiseSVN è un'estensione della shell di Microsoft Windows
- RabbitVCS è un'estensione della shell di Linux
- svnX è un client GUI per Mac OS X (link).
- AnkhSVN è un addin per Microsoft Visual Studio .NET. Permette di eseguire le più comuni operazioni di Subversion direttamente dall'interno dell'IDE VS.NET.
- Versions è un nuovo client per Mac OS X, dotato di un'interfaccia coerente con il Sistema Operativo Apple
è importante impostare uno script Cron che periodicamente aggiusti i permessi, mantenendo la possibilità di scrittura e modifica per il nostro Web Server.
Gestione degli utenti
Ora dobbiamo crreare il file contenente l'elenco degli utenti che avranno accesso a SVN. Per ora creeremo un solo utente admin:
# htpasswd –c /etc/apache2/dav_svn.passwd admin
Ci verrà chiesto di inserire la password dell'utente.
Possiamo in ogni momento aggiungere nuovi utenti con il comando:
# htpasswd /etc/apache2/dav_svn.passwd nuovo_utente
Si noti l'assenza dell'opzione -c, che va utilizzata solo nel caso in cui si voglia ricreare un nuovo elenco da zero, resettando gli attuali utenti configurati.