<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<root domanda="Come posso installare un server SVN (Subversion) sul mio Mac?" lastedit="1171404267" lasteditor="marco" lastupdate="1171404267" number="4" owner="rik0" type="faq">
  <args>
    <arrayitem value="develop" />
    <arrayitem value="unix" />
    <arrayitem value="utils" />
  </args>
  <note></note>
  <relateds>
    <arrayitem value="19" />
    <arrayitem value="212" />
  </relateds>
  <risposta>&lt;ul&gt;
&lt;li&gt;Info su SVN: &lt;a href=&quot;http://www.macdevcenter.com/pub/a/mac/2004/08/10/subversion.html&quot; target=&quot;_blank&quot;&gt;www.macdevcenter.com/pub/a/mac/2004/08/10/subversion.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Per configurare subversion 1.3.0, note che spiegano come agire sulle direttive SVNParentPath e SVNListParentPath: &lt;a href=&quot;http://tortoisesvn.sourceforge.net/docs/release/TortoiseSVN_en/ch03.html#tsvn-serversetup-apache-4&quot; target=&quot;_blank&quot;&gt;http://tortoisesvn.sourceforge.net/docs/release/TortoiseSVN_en/ch03.html#tsvn-serversetup-apache-4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Per prima cosa dovremmo chiederci perché dovremmo installare un server Subversion (SVN). Ovvero: cosa è SVN.&lt;br /&gt;
SVN sarà probabilmente il sostituto di CVS, ed è un sistema di gestione concorrente di versioni (detto così sembra ostrogoto).&lt;/p&gt;

&lt;p&gt;SVN permette a più persone a lavorare alla stesso corpo di documenti (è in questo modo che viene sviluppato software nelle aziende e nel mondo open source, con svn o con prodotti analoghi) a più persone e gestisce versioni successive.&lt;/p&gt;

&lt;p&gt;Se anche siete da soli, svn è uno strumento prezioso. Mantenendo traccia delle modifiche, potrete scartare modifiche che si sono rivelate controproducenti, per esempio. Non solo, ma potrete anche mantenervi sincronizzati su più macchine, lavorando su una copia locale e di volta in volta sincronizzandola con il server centrale.&lt;/p&gt;

&lt;p&gt;Quanto detto si applica anche per il “semplice” sviluppo in HTML, non serve solo a programmare Kernel :). Teoricamente funziona anche se usate file binari (esempio word, open office), anche se con un po’ meno eleganza. Comunque questo non è un tutorial &lt;b&gt;su&lt;/b&gt; svn, ma su come installarlo.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Installare apache2 e svn server (per esempio con fink)
&lt;ul&gt;
&lt;li&gt;svn&lt;/li&gt;
&lt;li&gt;svn-client&lt;/li&gt;
&lt;li&gt;apache2&lt;/li&gt;
&lt;li&gt;libapache2-mod-svn&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Creazione del repository svn (nb percorso-al-repository sta per una directory di vostra scelta, per esempio /usr/local/svnroot)

&lt;ul&gt;
&lt;li&gt;svnadmin create percorso-al-repository&lt;/li&gt;
&lt;li&gt;chown -R www percorso-al-repository&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Configurazione di Apache

&lt;ul&gt;
&lt;li&gt;Controllare che nel file di configurazione di apache2 (se usate fink questo è /sw/etc/apache2/httpd.conf) sia presente la linea&lt;br /&gt;
&lt;b&gt;LoadModule dav_svn_module modules/mod_dav_svn.so&lt;/b&gt;&lt;br /&gt;
Dovrebbe essere presente, se avete installato sia svn che libapache2-mod-svn.&lt;/li&gt;
&lt;li&gt;Controllare che Apache giri con i permessi di &lt;b&gt;www&lt;/b&gt; e metterlo in ascolto su una porta diversa dalla 80 di default (che è usata dall’apache stock di MacOS X).&lt;br /&gt;
Per fare quanto sopra controllate che sia presente la riga&lt;br /&gt;
&lt;b&gt;User www&lt;/b&gt;&lt;br /&gt;
Poi cambiate la linea&lt;br /&gt;
&lt;b&gt;Listen 80&lt;/b&gt;&lt;br /&gt;
in&lt;br /&gt;
&lt;b&gt;Listen 8008&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Aggiungete in fondo al file di configurazione le seguenti linee:

&lt;blockquote&gt;
&amp;lt;Location /svn&amp;gt;&lt;br /&gt;
DAV svn&lt;br /&gt;
SVNPath &lt;i&gt;percorso-al-repository&lt;/i&gt;&lt;br /&gt;
AuthType Basic&lt;br /&gt;
AuthName &quot;Subversion Repository&quot;&lt;br /&gt;
AuthUserFile /sw/etc/apache2/svn-auth-file&lt;br /&gt;
Require valid-user&lt;br /&gt;
&amp;lt;/Location&amp;gt;
&lt;/blockquote&gt;

Ovviamente assicurandosi di sostituire “&lt;i&gt;percorso-al-repository&lt;/i&gt;” con il path del vostro repository.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Ora dobbiamo aggiungere gli utenti di Apache (che saranno gli utenti di subversion). Non c’è nessuna relazione con gli utenti di sistema. Si aggiunge il primo con&lt;br /&gt;
&lt;b&gt;htpasswd -c /sw/etc/apache2/svn-auth-file &lt;username&gt;&lt;/b&gt;&lt;br /&gt;
e i successivi con &lt;b&gt;htpasswd /sw/etc/apache2/svn-auth-file &lt;username&gt;&lt;/b&gt;&lt;br /&gt;
(notate, manca il &quot;-c&quot;).&lt;/li&gt;
&lt;li&gt;Lanciare apache2 con&lt;br /&gt;
&lt;b&gt;/sw/bin/apachectl start&lt;/b&gt;&lt;br /&gt;
Ovviamente lanciare apache manualmente ogni volta non è per nulla comodo. Se usate Tiger non fate un LaunchService (al momento nessuno lo ha fatto, bisognerebbe modificare il codice di Apache; perfino Apache di Apple viene lanciato con gli StartupItems). Per creare lo startup item, c'è un chiaro messaggio sulla mailing list di fink (&lt;a href=&quot;http://www.mail-archive.com/fink-users@lists.sourceforge.net/msg19883.html&quot;&gt;qui&lt;/a&gt;).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;Darwin Ports&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Se invece utilizzate darwin ports ecco un link ad una pagina di Apple stessa.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeUserGuide/Contents/Resources/en.lproj/12_UsingSubversion/chapter_50_section_2.html&quot; target=&quot;_blank&quot;&gt;Installazione&lt;/a&gt;&lt;/p&gt;</risposta>
</root>
