Installare SVN (Subversion) in Debian Lenny con supporto SSL


Debian Lenny SVN

E’ innegabile l’importanza di utilizzare SVN per sviluppare progetti, oltre che garantire interoperabilità tra più persone ci consente di avere degli screenshot dei nostri progetti e poter tornare indietro nel tempo per recuperare porzioni di codice magari eliminato. Armiamoci quindi di pochi minuti per tirare su il nostro server SVN su Debian Lenny!

Prerequisiti

  1. Si presuppone che si conosca già cosa sia svn, nel caso contrario una guida introduttiva valida potrebbe essere questa.
  2. Si presuppone inoltre che nella nostra amata Lenny ci sia già un server Apache attivo e funzionante.
  3. Si presuppone infine che siamo loggati sul server come root.

Installiamo subversion ed il relativo modulo di Apache

apt-get install subversion libapache2-svn

Configuriamo Subversion

Creiamo il nostro primo repository

mkdir /var/svn
chown -R www-data:www-data /var/svn

La directory su cui creiamo i nostri repository deve essere leggibile e scrivibile Apache dato che usiamo il modulo libapache2-svn.

Installiamo ed attiviamo SSL

apt-get install openssl ssl-cert
a2enmod ssl

Creiamo un nuovo file di configurazione SSL (potete scegliere il nome del file che preferite, a patto che vi ricordiate di adattare le prossime istruzioni…)

cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl.nuovo.sito

Editiamo il file appena creato

sudo vi /etc/apache2/sites-available/ssl.nuovo.sito

e sostituiamo

<VirtualHost *:80>

con

<VirtualHost *:443>

dopodichè, prima della chiusura del VirtualHost identificata dalla stringa aggiungiamo

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/ssl.nuovo.sito.pem

Avremmo potuto prendere a modello il file “default-ssl” anzichè “default”, che dovrebbe essere già preimpostato ed ottimizzato per SSL, ma personalmente ho seguito questa strada e non so se usare il “default-ssl” richiederebbe ulteriori modifiche.

Creiamo il certificato SSL

mkdir /etc/apache2/ssl
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/ssl.nuovo.sito.pem

Ed abilitiamo il nuovo sito

a2ensite ssl.nuovo.sito
/etc/init.d/apache2 reload

Verifichiamo che quanto abbiamo fatto sia funzionante visitando sul nostro browser l’indirizzo:

https://indirizzo_ip/

ed accettiamo di importare il nostro certificato anche se non valido in quanto non emesso da società abilitate come Verisign e simili

Configuriamo il modulo DAV_SVN

Editiamo il relativo file di configurazione

vi /etc/apache2/mods-available/dav_svn.conf

Decommentiamo le righe di codice che ci interessano ed aggiungiamo una riga di contenuto ed il nostro file (la parte non commentata) dovrebbe risultare così:


DAV svn
SVNParentPath /var/svn

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd

Require valid-user
SSLRequireSSL      # questa linea deve essere aggiunta per abilitare SSL

Abilitiamo il modulo dav_svn e riavviamo Apache

a2enmod dav_svn
/etc/init.d/apache2 restart

Ora creiamo un utente che debba aver accesso al repository

htpasswd -c /etc/apache2/dav_svn.passwd utente1

da notare che l’opzione “-c” comporta che il file venga creato, quindi è necessario usarla solo per la prima volta, dopodichè per le volte successive è sufficente ometterla ed usare la seguente sintassi:

htpasswd /etc/apache2/dav_svn.passwd utente2

Creiamo il primo Repository e verifichiamo che funzioni correttamente

svnadmin create /var/svn/test
chown -R www-data:www-data /var/svn/test

svn co https://127.0.0.1/svn/test

il risultato dovrebbe essere

Checked out revision 0

se non lo fosse o avete tralasciato uno o più istruzioni o il sottoscritto ha omesso un qualche passaggio, nel secondo caso siete sempre liberi di lasciare commenti o contattarmi.

Benvenuti nel Vostro primo Repository

L’installazione è completata, date il via ai lavori collaborando con i vostri colleghi e non perdendo più una riga di codice!

, , ,

I commenti sono stati disattivati.