Subversion: differenze tra le versioni

Da Webmobili Wiki.
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(12 versioni intermedie di uno stesso utente non sono mostrate)
Riga 5: Riga 5:
* <code>Designbest.svn</code>
* <code>Designbest.svn</code>


Installare <code>subversion</code> e il modulo per ''Apache''
'''Installare''' <code>subversion</code> e il '''modulo per ''Apache'''''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo apt install subversion libapache2-mod-svn
sudo apt install subversion libapache2-mod-svn
</syntaxhighlight>
</syntaxhighlight>


Editare la configurazione
'''Importare''' i dati backuppati specificando <code>/percorso/del/file/</code> con quello corretto in cui si trovano i file <code>.svn</code>
<syntaxhighlight lang="bash">
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
</syntaxhighlight>
 
Editare la '''configurazione del modulo'''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo nano /etc/apache2/mods-available/dav_svn.conf
sudo nano /etc/apache2/mods-available/dav_svn.conf
Riga 29: Riga 48:
</Location>
</Location>
</syntaxhighlight>
</syntaxhighlight>
Creare le credenziali con '''basic authentication''' nella cartella specificata
<syntaxhighlight lang="bash">
sudo htpasswd -c /etc/apache2/dav_svn.passwd designbest
# inserire la solita password 'W3bm0b1l!'
</syntaxhighlight>
'''Abilitare''' il modulo e riavviare ''Apache''
<syntaxhighlight lang="bash">
sudo a2enmod dav dav_svn
# Se non era abilitato riavviare, altrimenti non serve
sudo systemctl restart apache2
</syntaxhighlight>
A questo punto è possibile '''esplorare il repository''' con Tortoise usando l'indirizzo
<syntaxhighlight lang="bash">
http://nomeserverospitante/svn/Generic
</syntaxhighlight>
che è in '''http''' .
Per inserire il '''supporto ad HTTPS'''<br/>
è necessario creare un '''virtualhost''' che gestisca il certificato e rimandi la gestione al modulo <code>dav_svn</code>
<syntaxhighlight lang="bash">
sudo nano svn-ssl.conf
</syntaxhighlight>
<syntaxhighlight lang="bash">
<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>
</syntaxhighlight>
in questo modo viene validato con un certificato interno autofirmato (snakeoil) e la sua gestione viene passata al modulo.


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cd /opt
sudo systemctl reload apache2.service
sudo mkdir svn
</syntaxhighlight>
sudo chown www-data:www-data svn/ -R
 
sudo chmod 775 svn/ -R
Se tutto è andato bene ora è possibile '''esplorare il repository''' con Tortoise usando l'indirizzo
cd svn
<syntaxhighlight lang="bash">
svnadmin create /Generic
https://svn.office.webmobili.it/svn/Generic
svnadmin load /Generic < /percorso/del/file/Generic.svn
</syntaxhighlight>
</syntaxhighlight>
dove <code>svn.office.webmobili.it</code> che punta all'IP dell'svn server è definito nel file di '''loopback''' della macchina client.

Versione attuale delle 17:18, 14 mar 2025

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>

Creare le credenziali con basic authentication nella cartella specificata

sudo htpasswd -c /etc/apache2/dav_svn.passwd designbest
# inserire la solita password 'W3bm0b1l!'

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

dove svn.office.webmobili.it che punta all'IP dell'svn server è definito nel file di loopback della macchina client.