Configurazione di autorizzazione e autenticazione in Trac/SVN

Guida alla configurazione di autorizzazione e autenticazione in una development farm Trac/SVN
  1. Bisogna verificare che i permessi delle cartelle contenenti i repository e gli environments siano corretti: con ciò intendo dire che l'utente sotto cui gira Apache (solitamente www, comunque lo si può trovare in httpd.conf, alla voce User) vi deve poter accedere in lettura/scrittura.
  2. per ogni repository SVN, creare/modificare i seguenti file:
    • reposDir/conf/passwd, in cui inserire gli account utente tramite l'utility htdigest di Apache. Per aggiungere uno user si digita:

      htdigest passwdfile realm username
      
      Si noti che passwdfile e realm devono essere uguali rispettivamente al valore degli attributi AuthDigestFile e AuthName, nel tag LocationMatch di httpd.conf. Se il password-file non esiste ancora, o se lo si vuole resettare, inserire l'opzione -c. E' altresì possibile utilizzare lo stesso file delle password per tutti i repositories; in questo caso sarà opportuno modificare il path del file, ad esempio repositoriesParentPath/svn.passwd
    • reposDir/conf/authz, che contiene le istruzioni di autorizzazione. Poichè il contenuto di questo file potrebbe anche essere identico per tutti i repository, se ne potrebbe usare uno solo, posizionato in una locazione "comune", ad esempio repositoriesParentPath/common_authz.

    • creazione del password-file per Trac, utilizzando htdigest (come spiegato al punto precedente).
    • creazione di un file di autorizzazione per per ogni environment di Trac: per via del problema di SVN con gli utenti anonimi, il file di autorizzazione di Trac è leggermente diverso da quello di SVN. A meno che non si utilizzi lo stesso file per tutti gli environment, è opportuno mettere tale file in environmentDir/conf/
    • per ogni environment, modificare environmentDir/conf/trac.ini: nella sezione [trac], editare l'attributo authz_file:
      authz_file = path/to/authorization_file
      
    • modificare httpd.conf ai fini del funzionamento di Trac e Subversion; per questo fare riferimento al file del server 137.204.107.229, in cui si trova il testo aggiunto per i progetti esistenti. Si noti che, in questo file, la configurazione di Trac è indipendente dal numero di environment presenti, mentre Subversion necessita di un tag Location per ogni repository; ciò significa che, in fase di creazione di un nuovo progetto, la sezione di Trac non va toccata; tuttavia occorre inserire un nuovo tag Location per il repository SVN. Ciò è necessario affinchè ad ogni repository venga associato il corrispondente file delle autorizzazioni.
    • (supponendo che sia installato WebAdmin) entrare in ogni Trac-environment come amministratore (cioè con un account dotato del permesso TRAC_ADMIN), e assegnare ai vari utenti i permessi adeguati (Admin --> General --> Permissions).
    • (Scritto da Emanuele Panzavolta, aprile 2007.)