Trac (subversion) a Ubuntu

Trac és un sistema integrat per gestionar projectes de software que proporciona:

  1. Interfície web pel sistema subversion.
  2. Gestió de bugs.
  3. Gestió de sol·licituds.
  4. Planificació en el temps.
  5. Generació de documentació estil wiki.

Instal·lació:

aptitude install trac libapache2-svn

Creem el fitxer de configuració per Apache “/etc/apache2/sites-available/trac” amb el contingut:

<VirtualHost *>
        ServerAdmin webmaster@localhost
        ServerName trac.example.com
        DocumentRoot /usr/share/trac/cgi-bin/
        <Directory /usr/share/trac/cgi-bin/>
                Options Indexes FollowSymLinks MultiViews ExecCGI
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        Alias /trac "/usr/share/trac/htdocs"

        <Location /trac.cgi>
            SetEnv TRAC_ENV_PARENT_DIR "/var/trac"
        </Location>

        DirectoryIndex trac.cgi
        ErrorLog /var/log/apache2/error.trac.log
        CustomLog /var/log/apache2/access.trac.log combined
</VirtualHost>

Descomentar del fitxer “/etc/apache2/apache2.conf” la línia:

# To use CGI scripts outside /cgi-bin/:
#
AddHandler cgi-script .cgi

Activem la configuració que acabem de crear i desactivem el site que configura Apache per defecte:

a2ensite trac
a2dissite default

Reiniciem apache:

/etc/init.d/apache2 restart

Creem el repositori subversion relacionat i afegim un projecte:

mkdir /var/svn
svnadmin create /var/svn
cd /tmp
mkdir projecte/
cd projecte/
echo Hello > Hola.cs
svn import . -m "Inici"  file:///var/svn/projecte
cd
rm -rf /tmp/projecte

Inicialitzem l’entorn per Trac:

cd /var/trac/
trac-admin /var/trac/projecte initenv

A les preguntes contestem:

Creating a new Trac environment at /var/trac/projecte

Trac will first ask a few questions about your environment
in order to initalize and prepare the project database.

 Please enter the name of your project.
 This name will be used in page titles and descriptions.

Project Name [My Project]> El meu projecte

 Please specify the connection string for the database to use.
 By default, a local SQLite database is created in the environment
 directory. It is also possible to use an already existing
 PostgreSQL database (check the Trac documentation for the exact
 connection string syntax).

Database connection string [sqlite:db/trac.db]>

 Please specify the absolute path to the project Subversion repository.
 Repository must be local, and trac-admin requires read+write
 permission to initialize the Trac database.

Path to repository [/var/svn/test]> /var/svn/projecte

 Please enter location of Trac page templates.
 Default is the location of the site-wide templates installed with Trac.

Templates directory [/usr/share/trac/templates]>

Creating and Initializing Project
 Configuring Project
 ...

---------------------------------------------------------------------
Project environment for 'El meu projecte' created.

You may now configure the environment by editing the file:

  /var/trac/projecte/conf/trac.ini

If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

  tracd --port 8000 /var/trac/projecte

Then point your browser to http://localhost:8000/projecte.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).

The latest documentation can also always be found on the project
website:

  http://projects.edgewall.com/trac/

Congratulations!

Donem permisos per a que es pugui modificar el contingut del directori des de la web:

chown -R www-data /var/trac/projecte/

Ara ja es possible accedir a “http://localhost/” on es mostrarà un llistat de tots el projectes disponibles, en el nostre cas només hi haurà “El meu projecte”.

Per permetre accés per password cal afegir a “/etc/apache2/sites-available/trac” (abans de “”):

	<Location "/trac.cgi/*/login">
            AuthType Basic
            AuthName "Trac"
            AuthUserFile /etc/apache2/dav_svn.passwd
            Require valid-user
       </Location>

Crearem el fitxer “/etc/apache2/dav_svn.passwd” amb el usuaris “user1” i “user2”:

htpasswd2 -c /etc/apache2/dav_svn.passwd user1
htpasswd2 /etc/apache2/dav_svn.passwd user2

A cada usuari podem assignar-li una serie de permisos a Trac, per això utilitzarem la comanda trac-admin:

# trac-admin /var/trac/projecte/
Trac [/var/trac/projecte]> permission list
...
Trac [/var/trac/projecte]> permission add user1 TRAC_ADMIN
Trac [/var/trac/projecte]> quit

Al fer “permission list” es pot veure el llistat d’usuaris amb els seus permisos. L’usuari anonymous sempre existeix i representa tots els usuaris que no s’han identificat, si volguessim fer que tothom s’hagi d’identificar podríem treure tots el permisos a anonymous.

Per habilitar l’accés normal subversion (amb permís de lectura per tothom) cal afegir a “/etc/apache2/sites-available/trac” (abans de “”):

	<Location /svn/>
            DAV svn
            SVNPath /var/svn/
            AuthType Basic
            AuthName "Subversion Repository"
            AuthUserFile /etc/apache2/dav_svn.passwd
            <LimitExcept GET PROPFIND OPTIONS REPORT>
                Require valid-user
            </LimitExcept>
        </Location>

Els usuaris son els mateixos que per l’aplicació Trac, donat que aquests es defineixen al fitxer “/etc/apache2/dav_svn.passwd” tal i com ja hem vist.

Ara podríem fer una copia local del repositori amb:

svn checkout http://localhost/svn/projecte

Autor: Marble

This entry was posted in Ubuntu. Bookmark the permalink.

4 Responses to Trac (subversion) a Ubuntu

  1. Isabel says:

    Algú del vostre col·lectiu sap com es pot traduir el Trac de l’anglès al català? Encara no ho he trobat a cap banda, tan díficil és??
    Gràcies per llegir-me.

  2. sergi says:

    Segons aquesta plana del projecte trac:
    http://trac.edgewall.org/wiki/TracFaq#are-there-any-provisions-for-i18n-and-l10n-is-it-enough-to-translate-the-templates

    encara no estàn pel tema de les traduccions, ja que primer volen tenir el producte estable i plenament funcional, encara que diuen que ja hi ha gent fent algunes coses. Bé, millor que segueixis l’enllaç i ho vegis per tu mateixa. Si et fixes per la plana tenen l’adreça de les llistes de correu i irc per parlar amb els desenvolupadors directament, que crec que és el millor que pots fer en aquests casos.
    Sort 😉

  3. Isabel says:

    Només cal veure pàgines que estan traduïdes, però la gent té el defecte de no compartir els coneixements de programari lliure:
    http://www.softcatala.org/trac/gnome
    O t’escriu un robot dient que no pot ajudar-te o escrius al fòrum i ningú sap que dir-te…
    És una llàstima…

  4. sergi says:

    mmm…no l’havia vista aquesta…
    bé, si mires el trac aquest que indiques, i segueixes el wiki a la plana “pencaires” només surt una cosa del Toni Hermoso. Potser l’ha montat ell? Prova de contactar-hi buscant el seu correu o via aquest formulari de la seva web: http://www.cau.cat/blog/contact

    Segurament el que passa és que has tingut mala sort al preguntar de no encertar en la persona adeqüada.

Leave a Reply