SVN e WebSVN su DreamHost

12 gennaio 2009

Pur essendo la procedura piuttosto banale, preferisco appuntarmi i passaggi a futura memoria (magari viene utile anche ad altri) 😉

Passo 1: il sottodominio

Per prima cosa è consigliabile crearsi un sottodominio nel pannello di controllo di Dreamhost (svn.dominio.tld) attraverso la sezione Domains->Manage Domains:

  • fare clic sul pulsante Add New Domain/Sub-Domain;
  • inserire il nome del sottodominio (svn.dominio.tld);
  • creare il dominio (fully hosted) associandolo all’utente desiderato.

Passo 2: installare SVN

Nella sezione Goodies selezionare Subversion: in questa pagina è possibile creare un nuovo progetto, associarlo al relativo dominio, impostare utenti e password e stabilire se si tratta di un progetto pubblico o privato (in entrambi i casi il commit sarà comunque riservato agli utenti specificati).

A questo punto il progetto è già accessibile all’indirizzo svn.dominio.tld/nomeprogetto, ma sarà possibile solo navigare tra i file dell’ultima revisione.

Passo 3: installare WebSVN

Scaricare il file zip o tar.gz dal sito di WebSVN e caricare i file nello spazio FTP collegato a svn.dominio.tld. Se ancora non l’avete capito, la maniera migliore per fare questo tipo di operazioni su DreamHost è quella di caricare il file zip (o meglio ancora scaricarlo direttamente con wget, sfruttando la banda disponibile) e decomprimerlo attraverso una sessione SSH. Se usate Linux o Mac OS X vi basta digitare “ssh svn.dominio.tld -l utente” in un terminale, se usate Windows potete usare PuTTy.

Esempio pratico:

[nome_server]$ wget http://websvn.tigris.org/files/documents/1380/44450/websvn-2.1.0.zip
[nome_server]$ unzip websvn-2.1.0.zip
[nome_server]$ cd websvn-2.1.0
[nome_server]$ mv * ../
[nome_server]$ cd ..
[nome_server]$ rm websvn-2.1.0.zip
[nome_server]$ rmdir websvn-2.1.0/

Per configurare WebSVN basta rinominare il file include/distconfig.php in include/config.php e aggiungere le seguenti righe (sostituendo “nomeutente” con il vero username):

$config->setSVNCommandPath('/usr/bin/');
$config->setDiffPath('/usr/bin/');
$config->parentPath('/home/nomeutente/svn/');

Passo 4: .htaccess

Personalmente ho scelto di bloccare l’accesso a svn.dominio.tld con .htaccess. Ancora una volta, la strada più semplice è quella della connessione SSH.

Posizionarsi nella cartella principale dell’utente (prima di svn.dominio.tld) e digitare

htpasswd -c .htpasswd user

Verrà richiesta una password per l’utente “user”. In questo modo avete creato nella cartella dell’utente – e non raggiungibile via web – un file .htpasswd da utilizzare con .htaccess (in alternativa potete usare uno dei tanti generatori online).

A questo punto bisogna creare un file .htaccess nella cartella svn.dominio.tld con le seguenti righe (come sopra, sostituire “nomeutente” con il vero username)

AuthUserFile /home/nomeutente/.htpasswd
AuthType Basic
AuthName "Repository SVN"
Require valid-user

Passo 5: usare il progetto

Per quanto mi riguarda (e per le mie esigenze), la strada più semplice è utilizzare un plugin che si integra con il sistema operativo (a livello di gestione risorse o finder): TortoiseSVN nel caso di Windows, scplugin nel caso di Mac OS X.

Tag Technorati: , ,

4 commenti/trackback a “SVN e WebSVN su DreamHost”

  1. Antonio scrive:

    Io uso l’svn di dreamhost su aptana tramite subversive e va che è una bomba!

  2. flod scrive:

    Usando sistemi (Windows Vista e OS X) e software completamente diversi (Delphi, DreamWeaver, Textmate, Photoshop), alla fine mi è più comodo usare la gestione risorse.

    Peraltro ho appena verificato che WebSVN evidenzia perfettamente anche il pascal di Delphi 🙂

Trackback e pingback

  1. Best of Week #3 | Gioxx's Wall
    [...] SVN e WebSVN su DreamHost [...]
  2. pseudotecnico:blog » VCS (controllo versione) e affini
    [...] con Mozilla, la mia prima scelta è stata Subversion (SVN): inizialmente ho utilizzato il servizio SVN su DreamHost, poi…

Non è possibile inserire nuovi commenti. I commenti vengono disattivati automaticamente dopo 60 giorni.