Principali comandi svn

Installazione svn su ubuntu con apache2 e https#

  • creazione del gruppo subversion, al quale associare gli utenti desiderati
  • sudo apt-get install subversion
  • sudo mkdir /opt/svn/repository
  • sudo chown -R utente:subversion /opt/svn/*
  • sudo svnadmin create /opt/svn/repository/
  • sudo vi /opt/svn/repository/conf/svnserve.conf
  • sudo vi /opt/svn/repository/conf/passwd
  • sudo svnserve -d –foreground -r /opt/svn/repository/\
apt-get install apache2 subversion libapache2-svn ssl-cert
Dopo aver installato i pacchetti si deve abilitare il modulo ssl.
a2enmod ssl
A questo punto si configura Apache per accettare le richieste sulla porta 443 (HTTPS). Per fare ciò è sufficiente aggiungere al file /etc/apache2/ports.conf la riga:
Listen 443\\
Fatto questo si deve creare il cerficato per SSL. Solitamente si crea nella directory /etc/apache2/ssl:
mkdir /etc/apache2/ssl
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
chmod 600 /etc/apache2/ssl/apache.pem

Quindi si crea la configurazione per il server virtuale. Per farlo basta copiare il file di default e apportare qualche piccola modifica:

cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default-ssl
Bisogna sostuire la riga:
NameVirtualHost *
con:
NameVirtualHost *:443
e poi la riga:
<VirtualHost *>
con:
<VirtualHost *:443>
infine, prima di:
</VirtualHost>
si aggiunge:
SSLEngine on\\
SSLCertificateFile /etc/apache2/ssl/apache.pem\\
SSLProtocol all\\
SSLCipherSuite HIGH:MEDIUM\\
Ora è possibile abilitare il virtual server in ascolto sulla porta 443 con il comando:
a2ensite default-ssl
Ora è necessario configurare il repository SVN. Per farlo bisogna innanzitutto editare il file /etc/apache2/mods-available/dav_svn.conf che dovrà contenere qualcosa del tipo:
<Location /svn>
  DAV svn
  SVNPath /var/lib/svn/NOME_REPOSITORY
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
</Location>

Il file /etc/apache2/dav_svn.passwd si crea con il comando:

htpasswd -c /etc/apache2/dav_svn.passwd NOMEUTENTE
Per aggiungere un nuovo utente
htpasswd /etc/apache2/dav_svn.passwd NOMEUTENTE
I comandi necessari alla creazione del repository vero e proprio sono:
mkdir /var/lib/svn
svnadmin create  /var/lib/svn/NOME_REPOSITORY
chown -R www-data:www-data  /var/lib/svn
chmod -R g+ws /var/lib/svn

Infine si deve riavviare il server Apache con il classico:

/etc/init.d/apache2 restart
Per testare il funzionamento del sistema si può aggiungere un file al server con il comando:
touch ~/file_di_prova
svn import ~/file_di_prova https://localhost/svn/NOME_REPOSITORY -m "Test importazione"
Ora che il server è installato, configurato e funzionante, consiglio di leggere il manuale di subversion per i vari comandi necessari al commit/checkout dei file.

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-17) was last changed on 14-Apr-2010 14:30 by CerlettiPaolo