User Tools

Site Tools


doc:appunti:linux:sa:subversion_repository

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
doc:appunti:linux:sa:subversion_repository [2011/10/13 18:30]
niccolo [Configurazione accesso con WebSVN]
doc:appunti:linux:sa:subversion_repository [2011/11/21 17:19] (current)
niccolo [Setup una-tantum]
Line 17: Line 17:
  
 <​code>​ <​code>​
-mkdir /var/svn+mkdir /var/lib/svn
 addgroup subversion addgroup subversion
 </​code>​ </​code>​
Line 24: Line 24:
 Configurando **WebDAV** (vedere più avanti) per ogni repository sarà possibile puntare il browser su un URL del tipo **''​%%http://​host/​svn/​my_project/​%%''​**. Il controllo di accesso avviene tramite autenticazione HTTP, è possibile anche definire delle ACL sulle directory. Configurando **WebDAV** (vedere più avanti) per ogni repository sarà possibile puntare il browser su un URL del tipo **''​%%http://​host/​svn/​my_project/​%%''​**. Il controllo di accesso avviene tramite autenticazione HTTP, è possibile anche definire delle ACL sulle directory.
  
-Se si installa **WebSVN** si potrà puntare il browser all'​indirizzo **''​%%http://​host/​websvn/​%%''​** e sfogliare i vari repository. Il controllo di accesso?+Se si installa **WebSVN** ​(vedere più avanti) ​si potrà puntare il browser all'​indirizzo **''​%%http://​host/​websvn/​%%''​** e sfogliare i vari repository. Il controllo di accesso ​può avvenire con lo stesso file di configurazione usato da WebDAV.
  
 Per utilizzare SVN via web esiste anche [[http://​supermind.nl/​submin/​about.html|Submin]],​ non pacchettizato Debian. Per utilizzare SVN via web esiste anche [[http://​supermind.nl/​submin/​about.html|Submin]],​ non pacchettizato Debian.
Line 37: Line 37:
  
 <​code>​ <​code>​
-svnadmin create --fs-type fsfs /​var/​svn/​my_project +svnadmin create --fs-type fsfs /var/lib/​svn/​my_project 
-chgrp -R subversion /​var/​svn/​my_project +chgrp -R subversion /var/lib/​svn/​my_project 
-chmod -R g+w /​var/​svn/​my_project +chmod -R g+w /var/lib/​svn/​my_project 
-chmod -R o-r /​var/​svn/​my_project +chmod -R o-r /var/lib/​svn/​my_project 
-chmod -R o-x /​var/​svn/​my_project +chmod -R o-x /var/lib/​svn/​my_project 
-find /​var/​svn/​my_project -type d | xargs chmod g+s+find /var/lib/​svn/​my_project -type d | xargs chmod g+s
 </​code>​ </​code>​
  
Line 90: Line 90:
 <​Location /​svn/​my_project>​ <​Location /​svn/​my_project>​
     DAV svn     DAV svn
-    SVNPath /​var/​svn/​my_project +    SVNPath /var/lib/​svn/​my_project 
-    #​SVNParentPath /var/svn+    #​SVNParentPath /var/lib/svn
     AuthType Basic     AuthType Basic
     AuthName "​Subversion Repository for my_project"​     AuthName "​Subversion Repository for my_project"​
     AuthUserFile /​etc/​apache2/​svndav_my_project.passwd     AuthUserFile /​etc/​apache2/​svndav_my_project.passwd
 +    #​AuthUserFile /​etc/​apache2/​svndav.passwd
     Require valid-user     Require valid-user
     #​SSLRequireSSL     #​SSLRequireSSL
Line 102: Line 103:
 Ovviamente si deve creare il file delle password con **''​htpasswd''​** ed eventualmente configurare l'​accesso in HTTPS. Per sfogliare il progetto basta puntare il browser su **''​%%http://​host/​svn/​my_project%%''​**. Ovviamente si deve creare il file delle password con **''​htpasswd''​** ed eventualmente configurare l'​accesso in HTTPS. Per sfogliare il progetto basta puntare il browser su **''​%%http://​host/​svn/​my_project%%''​**.
  
-Per pubblicare tutti i repository con una sola configurazione si usa la direttiva **''​SVNParentPath''​** al posto di ''​SVNPath'',​ in tal caso è opportuno dare un nome appropriato alla ''​Location''​.+Per pubblicare tutti i repository con una sola configurazione si usa la direttiva **''​SVNParentPath''​** al posto di ''​SVNPath'',​ in tal caso è opportuno dare un nome appropriato alla ''​Location''​ e alla ''​AuthUserFile''​
 + 
 +Il file indicato da AuthUserFile deve appartenere a **''​root:​www-data''​** con **''​mode 640''​**. Viene gestito con **''​htpasswd''​**.
  
 Per accedere tramite WebDAV si usa la sintassi: Per accedere tramite WebDAV si usa la sintassi:
Line 150: Line 153:
 Il demone http deve avere accesso al repository (che può essere anche remoto), eventualmente si impostano le credenziali di accesso nello stesso file di configurazione. Il demone http deve avere accesso al repository (che può essere anche remoto), eventualmente si impostano le credenziali di accesso nello stesso file di configurazione.
  
-Per attivare il controllo di accesso bisogna creare un //​Subversion access file//. Si può usare lo stesso file ACL usato direttamente da Subversion (quindi ​valido ​per ogni metodo di accesso). Per il singolo repository tale file viene indicato in **''​conf/​svnserve.conf''​**,​ a livello di sistema ​invece esiste? FIXME+Per attivare il controllo di accesso bisogna creare un //​Subversion access file//. Si può usare lo stesso file ACL usato per WebDAV. Dovrebbe essere possibile usare lo stesso file ACL anche per il programma ​Subversion (quindi ​rendere le ACL valide ​per ogni metodo di accesso). Per il singolo repository tale file viene indicato in **''​conf/​svnserve.conf''​**,​ a livello di sistema ​forse va messo in ''/​etc/​subversion/​config''​? FIXME
  
 Nella configurazione di WebSVN si aggiunge (è preferibile editare **''/​etc/​websvn/​config.php''​** piuttosto che ''/​etc/​websvn/​svn_deb_conf.inc'',​ perché non viene riscritto dal gestore pacchetti Debian): Nella configurazione di WebSVN si aggiunge (è preferibile editare **''/​etc/​websvn/​config.php''​** piuttosto che ''/​etc/​websvn/​svn_deb_conf.inc'',​ perché non viene riscritto dal gestore pacchetti Debian):
doc/appunti/linux/sa/subversion_repository.1318523445.txt.gz · Last modified: 2011/10/13 18:30 by niccolo