Subversion Server · 3 min read · Jan 01, 2026
Il Server Subversion Perfetto - Debian Lenny [ISPConfig3]
Il Server Subversion Perfetto - Debian Lenny [ISPConfig3]
Subversion è un sistema di controllo versione gratuito/open-source. Cioè, Subversion gestisce file e directory, e le modifiche apportate nel tempo. Questo ti consente di recuperare versioni precedenti dei tuoi dati o esaminare la cronologia di come i tuoi dati sono cambiati. A questo proposito, molte persone pensano a un sistema di controllo versione come a una sorta di “macchina del tempo”. Questa guida ti aiuterà a configurare il sistema subversion e integrarlo con la tua installazione esistente di ISPConfig3, permettendoti di controllare l’uso del disco, le quote e altri fattori in un modo molto familiare. Forse un giorno, qualcuno potrà utilizzare questo processo per creare un plug-in per ISPConfig3 che faccia tutto questo automaticamente.
Requisiti
Ovviamente, questo how-to richiede che tu abbia già configurato e avviato ISPConfig3. I passaggi descritti di seguito potrebbero funzionare anche con ISPConfig2, ma non sono stati testati e non saranno supportati. Se non lo hai già fatto, segui la guida di falko su Il Server Perfetto - Debian Lenny [ISPConfig3] prima di continuare.
Per consentire a un singolo sito web di avere più repository, metteremo tutto sotto una cartella ‘svn’, e alla fine il percorso pubblico al tuo repository assomiglierà a http://example.com/svn/myrepo. Ma prima di poter iniziare, devi creare il sito per ‘example.com’. Creare il sito e impostare le opzioni di quota è al di fuori dell’ambito di questo how-to, ma è abbastanza semplice se non lo hai già fatto.
Installa Subversion
L’installazione di Subversion e dei moduli Apache richiesti è abbastanza semplice (esegui come root o usa sudo):
apt-get install subversion libapache2-svnCrea un Repo(sitorio)
Per impostazione predefinita, ISPConfig memorizza i siti in /var/clients/clientx/weby/, dovrai sapere quale ID cliente (x) e ID sito (y) corrispondono al sito su cui desideri configurare il repository. Se hai apportato modifiche ai percorsi predefiniti, dovrai modificare i comandi qui sotto per adattarli alla tua struttura di directory. Inizia creando la directory svn (devi farlo solo una volta per ogni sito):
mkdir /var/clients/clientx/weby/svnSuccessivamente, dovrai creare il repository e correggere i permessi su tutto (importante per i controlli delle quote).
svnadmin create /var/clients/clientx/weby/svn/myrepo
chown -R weby:clientx /var/clients/clientx/weby/svn
chmod -R 770 /var/clients/clientx/weby/svnCondivisione e Sicurezza del Repository
Useremo Apache per condividere e proteggere l’accesso al nostro repository e, mentre i passaggi di condivisione sono sempre gli stessi, abbiamo tre opzioni per proteggere il repository.
- Repository Pubblico - Un repository pubblico significa che qualsiasi utente può scaricare e navigare (checkout) e caricare (commit) file in qualsiasi momento senza restrizioni. Questo non è generalmente un modo raccomandato per distribuire un repository poiché può portare a vandalismi del tuo codice.
- Repository Condiviso - Un repository ‘condiviso’ significa che chiunque può scaricare e navigare (checkout) il codice, ma solo gli utenti autorizzati possono effettuare commit nel repository. Questo è il metodo più comune per proteggere un repository, simile a come siti come Sourceforge e Google Code condividono dati.
- Repository Privato - Un repository privato significa che qualsiasi azione contro il repository richiede un utente autenticato ed è utile quando il codice non deve essere condiviso o Open Source.
Assumendo che tu scelga un repository condiviso o privato, dovrai creare il file delle password che memorizza i nomi utente e le password degli utenti ‘autorizzati’ (per aggiungere utenti aggiuntivi, ometti l’opzione ‘-c’ dal comando).
htpasswd -c /var/clients/clientx/weby/svn/myrepo.passwd [username1] <-- ti verrà chiesto di inserire una password per username1Infine, devi aggiungere la direttiva appropriata per dire ad Apache cosa fare quando un utente richiede http://example.com/svn/myrepo. A seconda del metodo di sicurezza che desideri utilizzare, copia la direttiva appropriata qui sotto e incollala nella casella ‘Direttive Apache’, nella scheda ‘Opzioni’ del tuo sito in ISPConfig (non dimenticare di correggere le directory con i valori appropriati di x e y).
Repo Pubblico
DAV svn
SVNPath /var/clients/clientx/weby/svn/myrepo
Repo Condiviso
DAV svn
SVNPath /var/clients/clientx/weby/svn/myrepo
AuthType Basic
AuthUserFile /var/clients/clientx/weby/svn/myrepo.passwd
Require valid-user
Repo Privato
DAV svn
SVNPath /var/clients/clientx/weby/svn/myrepo
AuthType Basic
AuthName "Indemnity83 Scripts"
AuthUserFile /var/clients/clientx/weby/svn/myrepo.passwd
Require valid-user
Potrebbe volerci un minuto affinché il sito inizi a funzionare una volta apportate le modifiche, ma a questo punto dovresti avere un repository Subversion funzionante e protetto. Se desideri aggiungerne di più, ripeti tutto a partire da ‘Crea un Repo(sitorio)’
Grazie
Spero che tu trovi utile questo how-to. Sentiti libero di aggiungere commenti o correzioni.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.