Installare un server Subversion su Debian 9 o superiore

← Torna ad Linux / Debian / Ubuntu

Estratto da: https://www.linuxcloudvps.com/blog/how-to-install-svn-server-on-debian-9/

1. Login

Login tramite SSH al server e andare in super utente (root)

Aggiornare i pacchetti del server

apt update && apt upgrade

2. Installare Apache

apt install apache2

Una volta completata l'installazione, dovresti abilitare Apache per l'avvio automatico all'avvio del server con:

systemctl enable apache2

Puoi anche controllare lo stato del tuo servizio Apache con il seguente comando:

systemctl status apache2

Risultato:

● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running)
Process: 13848 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
Main PID: 491 (apache2)
CGroup: /system.slice/apache2.service
├─ 491 /usr/sbin/apache2 -k start
├─13865 /usr/sbin/apache2 -k start
├─14270 /usr/sbin/apache2 -k start
├─15401 /usr/sbin/apache2 -k start
└─15423 /usr/sbin/apache2 -k start

3. Installare il server SVN

Successivamente, devi installare i pacchetti Subversion e le loro dipendenze: puoi farlo inserendo il seguente comando. Un'altra cosa che devi fare è installare il modulo SVN per Apache, chiamato libapache2-mod-svn, sul tuo sistema.

apt install -y subversion subversion-tools libapache2-mod-svn

Non dimenticare di abilitare i moduli Apache richiesti una volta terminata l'installazione:

a2enmod dav
a2enmod dav_svn

e ultimo ma non meno importante, riavviare il servizio Apache:

service apache2 restart

4. configurare Apache con Subversion

Un file di configurazione /etc/apache2/mods-enabled/dav_svn.conf viene creato dal pacchetto del modulo Subversion Apache. Il file di configurazione di subversion deve essere modificato nel modo seguente:

<Location /svn>
 DAV svn
 SVNParentPath /var/lib/svn
 AuthType Basic
 AuthName "Subversion Repository"
 AuthUserFile /etc/apache2/dav_svn.passwd
 Require valid-user
</Location>

e ora affinché le modifiche abbiano effetto, non dimenticare di riavviare il server web Apache.

service apache2 restart

5. Creare il primo repository SVN

A questo punto devi creare il tuo primo repository svn chiamato testrepo (puoi inserire il nome che preferisci). Questo può essere fatto usando questi comandi:

mkdir -p /var/lib/svn/
svnadmin create /var/lib/svn/testrepo

È inoltre necessario impostare le autorizzazioni richieste sulle directory appena create.

chown -R www-data:www-data /var/lib/svn
chmod -R 775 /var/lib/svn

6. Creare gli utenti per subversion

Successivamente dovresti creare il primo utente svn nel file /etc/apache2/dav_svn.passwd. Questi utenti verranno utilizzati per l'autenticazione SVN per i processi di checkout e commit.

htpasswd -cm /etc/apache2/dav_svn.passwd admin

È possibile utilizzare i seguenti comandi se si desidera creare utenti aggiuntivi.

htpasswd -m /etc/apache2/dav_svn.passwd user1
htpasswd -m /etc/apache2/dav_svn.passwd user2

7. Accesso al repository via browser

Ora, per accedere al tuo repository nel browser, devi utilizzare l'URL HTTP che porterà a una richiesta di autenticazione. Qui devi utilizzare le credenziali di accesso che hai creato nel passaggio 6. tuo_dominio.com può essere modificato con il nome host, il nome di dominio o l'indirizzo IP del tuo sistema.

http://your_domain.com/svn/testrepo/

8. Gestione utenti

Estratto da: pdf