Installa Subversion con accesso Web su Ubuntu
Questo articolo tratta l'installazione di subversion con il modulo apache in modo che possa essere facilmente accessibile da altri sistemi su una rete pubblica. Se vuoi un server svn più sicuro, puoi usare svnserve + ssh, che non è trattato in questo articolo.
Per installare subversion, apri un terminale ed esegui il seguente comando:
sudo apt-get install subversion libapache2-svn
Creeremo il repository subversion in / svn, anche se dovresti scegliere una posizione che abbia una buona quantità di spazio.
sudo svnadmin crea / svn
Successivamente dovremo modificare il file di configurazione per il modulo webdav di subversion. Puoi utilizzare un editor diverso se lo desideri.
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
L'elemento Location nel file di configurazione detta la directory root da cui sarà possibile accedere a subversible, ad esempio: http://www.server.com/svn
La linea DAV deve essere decommentata per abilitare il modulo dav
# Decommentalo per abilitare il repository,
DAV svn
La riga SVNPath deve essere impostata nello stesso punto in cui è stato creato il repository con il comando svnadmin.
# Imposta questo sul percorso del tuo repository
SVNPath / svn
La prossima sezione ti permetterà di attivare l'autenticazione. Questa è solo l'autenticazione di base, quindi non considerarla estremamente sicura. Il file della password verrà posizionato dove l'impostazione AuthUserFile lo imposta su ... probabilmente è meglio lasciarlo come predefinito.
# Decommentare le seguenti 3 righe per abilitare l'autenticazione di base
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Per creare un utente sul repository, utilizzare il seguente comando:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd
Nota che dovresti usare l'opzione -c solo la PRIMA volta che crei un utente. Dopodiché dovrai solo utilizzare l'opzione -m, che specifica la crittografia MD5 della password, ma non ricrea il file.
Esempio:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd geek
Nuova password:
Ridigita la nuova password:
Aggiunta della password per il geek dell'utente
Riavvia apache eseguendo il seguente comando:
sudo /etc/init.d/apache2 restart
Ora se vai nel tuo browser a http://www.server.com/svn, dovresti vedere che il repository è abilitato per l'accesso in lettura anonimo, ma l'accesso al commit richiede un nome utente.
Se si desidera forzare tutti gli utenti ad autenticarsi anche per l'accesso in lettura, aggiungere la seguente riga appena sotto la riga AuthUserFile dall'alto. Riavvia apache dopo aver modificato questa linea.
Richiedi utente valido
Ora, se aggiorni il browser, ti verranno chieste le credenziali:
Ora hai un server di subversion funzionante!