| At line 1 changed one line |
| !!Installazione svn su ubuntu |
| __[Principali comandi svn]__\\ |
| At line 3 changed 8 lines |
| 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/ |
|
| !!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/\ |
|
| %%prettify |
| {{{ |
| apt-get install apache2 subversion libapache2-svn ssl-cert |
| }}} |
| Dopo aver installato i pacchetti si deve abilitare il modulo ssl. |
| %%prettify |
| {{{ |
| 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:\\ |
| %%prettify |
| {{{ |
| Listen 443\\ |
| }}} |
| Fatto questo si deve creare il cerficato per SSL. Solitamente si crea nella directory /etc/apache2/ssl:\\ |
| %%prettify |
| {{{ |
| 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: |
| %%prettify |
| {{{ |
| cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default-ssl |
| }}} |
| Bisogna sostuire la riga: |
| %%prettify |
| {{{ |
| NameVirtualHost * |
| }}} |
| con: |
| %%prettify |
| {{{ |
| NameVirtualHost *:443 |
| }}} |
| e poi la riga: |
| %%prettify |
| {{{ |
| <VirtualHost *> |
| }}} |
| con: |
| %%prettify |
| {{{ |
| <VirtualHost *:443> |
| }}} |
| infine, prima di: |
| %%prettify |
| {{{ |
| </VirtualHost> |
| }}} |
| si aggiunge: |
| %%prettify |
| {{{ |
| 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: |
| %%prettify |
| {{{ |
| 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: |
| %%prettify |
| {{{ |
| <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: |
| %%prettify |
| {{{ |
| 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: |
| %%prettify |
| {{{ |
| 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: |
| %%prettify |
| {{{ |
| /etc/init.d/apache2 restart |
| }}} |
| Per testare il funzionamento del sistema si può aggiungere un file al server con il comando: |
| %%prettify |
| {{{ |
| 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. |