Ora che abbiamo creato il repository, dobbiamo creare e configurare l'host (il sito) che risponderà alle chiamate HTTP effettuate dai nostri client SVN.
Come è consuetudine da qualche tempo sulle distribuzioni Linux della famiglia Debian, ogni sito viene creato come virtual host; per una migliore gestione, inoltre, la configurazione di ciascun sito è situata in un file separato, e tutti questi file sono conservati nella cartella /etc/sites-available
(dove infatti troveremo anche il default virtual host).
È in questa cartella che creiamo, quindi, un file chiamato svn
, lo apriamo per modificarlo e inseriamo questo contenuto:
1 <VirtualHost *> 2 LoadModule dav_svn_module modules/mod_dav_svn.so 3 ServerName svn.vd-devel 4 DocumentRoot /var/svn/guidasvn/ 5 <Location /repos> 6 DAV svn 7 SVNPath /var/svn/guidasvn 8 </Location> 9 </VirtualHost>
Nota: la numerazione delle righe non fa parte del contenuto da inserire nel file: serve solo per la successiva spiegazione
Le direttive sono abbastanza semplici, entriamo comunque nel dettaglio:
Riga | Descrizione |
---|---|
2 | attiva il caricamento del modulo di Apache necessario, quello che abbiamo installato in precedenza e che permette a un repository Subversion di essere pubblicato tramite server Web |
3 | indica il nome con cui viene raggiunto l'host. Ovviamente la scelta dipende dalla configurazione della nostra rete, e dovremo fare in modo che tale nome sia risolvibile dai PC client che lo contattano |
4 | indica la cartella root dell'host |
5 | suggerisce ad Apache che tutte le richieste per la location /repos vanno gestite in modo particolare, come di seguito indicato |
6 | dice ad Apache di delegare la gestione di tale location a un provider DAV , e nella fattispecie a svn |
7 | specifica il percorso specifico del repository, che in questo semplice caso corrisponde anche alla root del sito |
Salviamo e chiudiamo il file, poi abilitiamo il sito appena creato tramite il comando
a2ensite /etc/apache2/sites-available/svn
Ricarichiamo il servizio Apache controllando che non vengano segnalati errori – nel qual caso la prima cosa da fare è controllare di non aver fatto qualche errore di battitura.
Se abbiamo fatto tutto correttamente, puntando il browser all'indirizzo dell'host creato, (http://svn.vd-devel/repos
) dovremmo ottenere qualcosa di simile a questo:
Revision 0:/ ___________________________________________________________________ Powered by Subversion version 1.4.2 (r22196).
Significa che il repository, nonostante sia vuoto, è attivo e funzionante, e aggiornato alla revisione 0. Se non otteniamo questa pagina, l'ipotesi più probabile è che ci sia qualche errore nella risoluzione del nome del sito, o nella configurazione di Apache. Occorrerà coinvolgere il nostro amministratore di sistema, oppure effettuare una accurata verifica del DNS e/o dei log di Apache. Il problema salterà fuori.
Così configurato, il nostro host pubblica un solo repository. Verrebbe da pensare che sia necessario creare un host separato per ciascun repository. Fortunatamente non è così, e nella prossima lezione vedremo come fare.