Come posso installare un server SVN (Subversion) sul mio Mac?

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

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.

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.

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 su svn, ma su come installarlo.

  1. Installare apache2 e svn server (per esempio con fink)
    • svn
    • svn-client
    • apache2
    • libapache2-mod-svn
  2. Creazione del repository svn (nb percorso-al-repository sta per una directory di vostra scelta, per esempio /usr/local/svnroot)
    • svnadmin create percorso-al-repository
    • chown -R www percorso-al-repository
  3. Configurazione di Apache
    • Controllare che nel file di configurazione di apache2 (se usate fink questo è /sw/etc/apache2/httpd.conf) sia presente la linea
      LoadModule dav_svn_module modules/mod_dav_svn.so
      Dovrebbe essere presente, se avete installato sia svn che libapache2-mod-svn.
    • Controllare che Apache giri con i permessi di www e metterlo in ascolto su una porta diversa dalla 80 di default (che è usata dall’apache stock di MacOS X).
      Per fare quanto sopra controllate che sia presente la riga
      User www
      Poi cambiate la linea
      Listen 80
      in
      Listen 8008
    • Aggiungete in fondo al file di configurazione le seguenti linee:
      <Location /svn>
      DAV svn
      SVNPath percorso-al-repository
      AuthType Basic
      AuthName "Subversion Repository"
      AuthUserFile /sw/etc/apache2/svn-auth-file
      Require valid-user
      </Location>
      Ovviamente assicurandosi di sostituire “percorso-al-repository” con il path del vostro repository.
  4. 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
    htpasswd -c /sw/etc/apache2/svn-auth-file
    e i successivi con htpasswd /sw/etc/apache2/svn-auth-file
    (notate, manca il "-c").
  5. Lanciare apache2 con
    /sw/bin/apachectl start
    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 (qui).

Darwin Ports

Se invece utilizzate darwin ports ecco un link ad una pagina di Apple stessa.

Installazione

[ Home | Elenco delle FAQ | Forum | Segnalazioni | Risorse | Feed RSS ]