Configurazione di autorizzazione e autenticazione in Trac/SVN
Guida alla configurazione di autorizzazione e autenticazione in una development farm Trac/SVN
- 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.
- 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.)
- reposDir/conf/passwd, in cui inserire gli account utente tramite l'utility htdigest di Apache. Per aggiungere uno user si digita: