Subversion

Da Webmobili Wiki.

Guida alla configurazione di Subversion da zero.
Occorre disporre dei dump dei repository di Designbest.

  • WM4.svn
  • Generic.svn
  • Designbest.svn

Installare subversion e il modulo per Apache

sudo apt install subversion libapache2-mod-svn

Importare i dati backuppati specificando /percorso/del/file/ con quello corretto in cui si trovano i file .svn

cd /opt
sudo mkdir svn
sudo chown www-data:www-data svn/ -R
sudo chmod 775 svn/ -R
# Generic repo
sudo svnadmin create /opt/svn/Generic
sudo svnadmin load /opt/svn/Generic < /percorso/del/file/Generic.svn
# WM4 repo
sudo svnadmin create /opt/svn/WM4
sudo svnadmin load /opt/svn/WM4 < /percorso/del/file/WM4.svn
# Designbest repo
sudo svnadmin create /opt/svn/Designbest
sudo svnadmin load /opt/svn/Designbest < /percorso/del/file/Designbest.svn
# Permessi
sudo chown www-data:www-data /opt/svn/ -R

Editare la configurazione del modulo

sudo nano /etc/apache2/mods-available/dav_svn.conf

Scommentare lasciando questo:

<Location /svn>
  DAV svn
  SVNParentPath /opt/svn

  AuthType Basic
  AuthName "Webmobili Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd

  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
</Location>

Abilitare il modulo e riavviare Apache

sudo a2enmod dav dav_svn
# Se non era abilitato riavviare, altrimenti non serve
sudo systemctl restart apache2

A questo punto è possibile esplorare il repository con Tortoise usando l'indirizzo

http://nomeserverospitante/svn/Generic

che è in http .

Per inserire il supporto ad HTTPS
è necessario creare un virtualhost che gestisca il certificato e rimandi la gestione al modulo dav_svn

sudo nano svn-ssl.conf
<VirtualHost *:443>
        ServerAdmin info@designbest.com
        DocumentRoot /opt/svn
        ServerName svn.office.webmobili.it

        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

        Include /etc/apache2/mods-available/dav_svn.conf
</VirtualHost>

in questo modo viene validato con un certificato interno autofirmato (snakeoil) e la sua gestione viene passata al modulo.

sudo systemctl reload apache2.service

Se tutto è andato bene ora è possibile esplorare il repository con Tortoise usando l'indirizzo

https://svn.office.webmobili.it/svn/Generic