|
|
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.) |