Show last authors
1 Guida in 11 punti alla creazione e alla configurazione di un progetto in Trac/SVN per la development farm sul server 137.204.107.229.
2 <ol>
3 <li>creare il repository SVN tramite il comando
4 <pre>
5 svnadmin create newRepPath
6 </pre>
7 </li>
8 <li>creare l'environment di Trac nella posizione desiderata
9 <pre>
10 trac-admin newEnvPath initenv
11 </pre>
12 A questo punto, viene chiesto di inserire alcune informazioni sull'environment da creare. A meno che non sia indicato esplicitamente cosa digitare, inserire sempre l'opzione di default (compare a console racchiusa tra parentesi quadre):
13 * Project Name. Inserire il nome del progetto;
14 * Database connection string.
15 * Repository type.
16 * Path to repository. Inserire <tt>newRepPath</tt> (path completo)
17 * Templates directory.
18 </li>
19 <li>verificare che i permessi delle cartelle contenenti i repository e gli environment siano corretti: con ciò intendo dire che l'utente sotto cui gira Apache (solitamente <tt>www</tt>, comunque lo si può trovare in <tt>httpd.conf</tt>, alla voce User) vi deve poter accedere in lettura/scrittura.</li>
20 <li> riguardo al repository SVN, creare/modificare i seguenti file:
21 * <tt>newRepPath/conf/passwd</tt>, in cui inserire gli account utente tramite l'utility htdigest di Apache. Per aggiungere uno user si digita:
22 <pre>
23 htdigest passwdfile realm username
24 </pre>
25 Se il realm è costituito da più parole, ricordarsi di scriverlo tra virgolette ("").
26 Si noti che <tt>passwdfile</tt> e <tt>realm</tt> devono essere uguali rispettivamente al valore degli attributi AuthDigestFile e AuthName, nel tag Location di <tt>httpd.conf</tt>. Se il password-file non esiste ancora, o se lo si vuole resettare, inserire l'opzione -c.
27 E' altresì possibile utilizzare lo stesso file delle password per tutti i repository; in questo caso sarà opportuno modificare il path del file, ad esempio <tt>repositoriesParentPath/svn.passwd</tt>
28 * <tt>newRepPath/conf/authz</tt>, 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 <tt>repositoriesParentPath/common_authz</tt>.
29 <li> creazione del password-file per Trac, utilizzando <tt>htdigest</tt> (come spiegato al punto precedente).</li>
30 <li>creazione di un file di autorizzazione per l'environment di Trac, che non è uguale a quello per SVN. A meno che non si utilizzi lo stesso file per tutti gli environment, è opportuno posizionare tale file in <tt>newEnvPath/conf/</tt></li>
31 <li>fare le seguenti modifiche a <tt>newEnvPath/conf/trac.ini</tt>:
32 * se si intende sfruttare la patch "WikiRBAC", aggiungere alla sezione \[wiki\] queste linee:
33 <pre>
34 authz_svn_module_name = tracwiki
35 authorization_mode = require_all
36 </pre>
37 * nella sezione \[trac\], inserire l'attributo <tt>authz_file</tt>, indicandovi il path del file che specifica le autorizzazioni sul repository e sullo spazio wiki.
38 * nella sezione \[components\] (se non esiste, crearla), inserire la linea
39 <pre>
40 webadmin.* = enabled
41 </pre>
42 Ciò va fatto perchè l'attivazione di WebAdmin generalmente non avviene in maniera automatica.</li>
43 <li>sincronizzare l'environment con il repository SVN
44 <pre>
45 trac-admin newEnvPath resync
46 </pre>
47 </li>
48 <li>modificare <tt>httpd.conf</tt> 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.</li>
49 <li>riavviare Apache.</li>
50 <li>(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). Altrimenti l'assegnazione dei permessi va fatta da shell, direttamente sul server (per la sintassi dei comandi, vedi http://trac.edgewall.org/wiki/TracPermissions).</li>
51 </ol>
52
53 1.1 Note
54
55 Il file <tt>httpd.conf</tt> è il file centrale di configurazione del web server Apache. La sua collocazione esatta nel filesystem dipende dall'installazione di Apache.
56
57 I comandi <tt>svnadmin</tt> e <tt>trac-admin</tt> potrebbero non essere riconosciuti dal sistema; in tal caso occorre aggiungerne il percorso alla variabile d'ambiente <tt>PATH</tt>. Nel caso del server 137.204.107.229, i comandi da eseguire sono rispettivamente (la prima riga per <tt>svnadmin</tt>, la seconda per <tt>trac-admin</tt>):
58 <pre>
59 PATH=$PATH:/usr/local/bin
60 PATH=$PATH:/System/Library/Frameworks/Python.framework/Versions/2.3/bin
61 </pre>
62
63 (Scritto da Emanuele Panzavolta, aprile 2007.)