Installare Subversion su Debian: differenze tra le versioni
S3v (discussione | contributi) Nessun oggetto della modifica |
|||
(2 versioni intermedie di un altro utente non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili | Squeeze | Wheezy}} | |||
== Introduzione == | == Introduzione == | ||
Subversion (noto anche come svn, che è il nome del suo client a riga di comando) è un sistema di [http://it.wikipedia.org/wiki/Controllo_versione controllo versione] progettato da CollabNet Inc. con lo scopo di essere il naturale successore di CVS, oramai considerato superato. | Subversion (noto anche come svn, che è il nome del suo client a riga di comando) è un sistema di [http://it.wikipedia.org/wiki/Controllo_versione controllo versione] progettato da CollabNet Inc. con lo scopo di essere il naturale successore di CVS, oramai considerato superato. È rilasciato sotto la licenza libera [http://it.wikipedia.org/wiki/Apache_License Apache]. | ||
== Installazione == | == Installazione == | ||
Operando sul server come utente root, installiamo Subversion con un solo comando: | Operando sul server come utente [[root]], installiamo Subversion con un solo comando: | ||
<pre> | <pre> | ||
# apt-get install subversion | # apt-get install subversion | ||
Riga 50: | Riga 51: | ||
== Impostare i permessi sulla directory radice == | == 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: | |||
<pre> | <pre> | ||
# chown -R www-data:www-data /var/lib/svn | # chown -R www-data:www-data /var/lib/svn | ||
Riga 64: | Riga 65: | ||
* AnkhSVN è un ''addin'' per Microsoft Visual Studio .NET. Permette di eseguire le più comuni operazioni di Subversion direttamente dall'interno dell'IDE VS.NET. | * AnkhSVN è un ''addin'' per Microsoft Visual Studio .NET. Permette di eseguire le più comuni operazioni di Subversion direttamente dall'interno dell'IDE VS.NET. | ||
* [http://www.versionsapp.com Versions] è un nuovo client per Mac OS X, dotato di un'interfaccia coerente con il Sistema Operativo Apple | * [http://www.versionsapp.com Versions] è un nuovo client per Mac OS X, dotato di un'interfaccia coerente con il Sistema Operativo Apple | ||
è importante impostare uno [ | è importante impostare uno [[Utilizzo del servizio di scheduling Cron| script Cron]] che periodicamente aggiusti i permessi, mantenendo la possibilità di scrittura e modifica per il nostro Web Server. | ||
== Gestione degli utenti == | == Gestione degli utenti == | ||
Ora dobbiamo | Ora dobbiamo creare il file contenente l'elenco degli utenti che avranno accesso a SVN. Per ora creeremo un solo utente ''admin'': | ||
<pre> | <pre> | ||
# htpasswd –c /etc/apache2/dav_svn.passwd admin | # htpasswd –c /etc/apache2/dav_svn.passwd admin | ||
Riga 90: | Riga 91: | ||
# /etc/init.d/apache2 restart | # /etc/init.d/apache2 restart | ||
</pre> | </pre> | ||
Creiamo ora un Virtual Host per Subversion, copiando il file < | Creiamo ora un Virtual Host per Subversion, copiando il file <code>default-ssl</code>: | ||
<pre> | <pre> | ||
# cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/subversion-ssl | # cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/subversion-ssl | ||
Riga 98: | Riga 99: | ||
# SSLRequireSSL | # SSLRequireSSL | ||
</pre> | </pre> | ||
al file < | al file <code>/etc/apache2/mods-available/dav_svn.conf</code>. | ||
== Utilizzo == | == Utilizzo == | ||
Riga 106: | Riga 107: | ||
</pre> | </pre> | ||
Per la creazione di progetti e l'utilizzo dei client SVN si veda ad esempio l'ottima guida di [http://www.html.it/guide/guida-subversion/ HTML.it]. | Per la creazione di progetti e l'utilizzo dei client SVN si veda ad esempio l'ottima guida di [http://www.html.it/guide/guida-subversion/ HTML.it]. | ||
{{Autori | {{Autori | ||
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 11:46, 09 mar 2014 (CET) | |Autore = [[Utente:Ferdybassi|Ferdybassi]] 11:46, 09 mar 2014 (CET) | ||
Riga 113: | Riga 114: | ||
[[Categoria:Web server]] | [[Categoria:Web server]] | ||
[[Categoria:Controllo di versione]] |
Versione attuale delle 11:53, 18 mar 2014
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione. |
Versioni Compatibili Debian 6 "squeeze" Debian 7 "wheezy" |
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. È 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 creare 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.
Sicurezza di Subversion
Per rendere più sicuro Subversion è bene farlo girare sotto HTTPS e non sotto HTTP.
Verifichiamo quindi che il modulo SSL di Apache sia abilitato:
# a2enmod ssl
e in caso riavviamo il web server:
# /etc/init.d/apache2 restart
Creiamo ora un Virtual Host per Subversion, copiando il file default-ssl
:
# cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/subversion-ssl
Possiamo disabilitare HTTP e richiedere l'uso di SSL aggiungendo la linea:
# SSLRequireSSL
al file /etc/apache2/mods-available/dav_svn.conf
.
Utilizzo
Il nostro repository SVN è ora accessibile all'indirizzo:
https://ip.del.nostro.server/svn/myproject
Per la creazione di progetti e l'utilizzo dei client SVN si veda ad esempio l'ottima guida di HTML.it.
Guida scritta da: Ferdybassi 11:46, 09 mar 2014 (CET) | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |