Subversion: differenze tra le versioni
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"> | ||
sudo systemctl reload apache2.service | |||
sudo | </syntaxhighlight> | ||
Se tutto è andato bene ora è possibile '''esplorare il repository''' con Tortoise usando l'indirizzo | |||
<syntaxhighlight lang="bash"> | |||
https://svn.office.webmobili.it/svn/Generic | |||
</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.svnGeneric.svnDesignbest.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.