Configuration du serveur Trac http://trac.sn.auf.org/

Installation du système de base

A ajouter ici : la doc de la configuration de base de tout cela...

Ajouter un projet

  1. Ajouter un dépot SVN :

    # svnadmin create /srv/subversion/nom-du-projet
    # chgrp -R subversion  /srv/subversion/nom-du-projet/*     # note : www-data est dans le groupe subversion
    # chmod -R g+w /srv/subversion/nom-du-projet/*
  2. Ajouter un site trac associé :

    # mkdir /srv/trac/nom-du-projet
    # trac-admin /srv/trac/nom-du-projet initenv
    ... et répondre aux questions :
    Project Name [My Project]> Nom Du Projet
    Database connection string [sqlite:db/trac.db]>
    Repository type [svn]> 
    Path to repository [/path/to/repos]> /srv/subversion/nom-du-projet
    Templates directory [/usr/share/trac/templates]> 
    # chown -R www-data:www-data /srv/trac/nom-du-projet
  3. Configurer le site trac dans /srv/trac/nom-du-projet/conf/trac.ini :

    #
    # extraits de /srv/trac/nom-du-projet/conf/trac.ini
    #
    
    (...)
    
    [header_logo]
    alt = 
    height = -1
    link = http://trac.sn.auf.org/nom-du-projet
    src = common/trac_banner.png
    width = -1
    
    (...)
    
    [project]
    descr = La description du projet
    footer = Un petit texte affiché en bas des pages du Trac
    icon = common/trac.ico
    name = nom-du-projet
    url = http://trac.sn.auf.org/nom-du-projet
    
    (...)
    
    # à ajouter à la fin pour activer le plugin webadmin :
    [components]
    webadmin.* = enabled
  4. Créer le fichier htpasswd pour trac et subversion :

    # htpasswd -c /etc/trac/projet.htpasswd thomas
    New password: 
    Re-type new password: 
    Adding password for user thomas
    # htpasswd /etc/trac/projet.htpasswd tini
    ... etc ...
    • Note : on peut parfaitement copier des lignes de /etc/shadow ou d'un autre fichier /etc/trac/xxx.htpasswd déjà existant.

  5. Configurer les droits sur le Trac.
    1. D'abord on met les utilisateurs dans un groupe admin :

      # trac-admin /srv/trac/asterisk-auf permission add thomas admins
      # trac-admin /srv/trac/asterisk-auf permission add tini admins
    2. Ensuite on donne les droits à ce groupe :

      trac-admin /srv/trac/asterisk-auf permission add admins MILESTONE_ADMIN REPORT_ADMIN ROADMAP_ADMIN TICKET_MODIFY TRAC_ADMIN WIKI_ADMIN
    3. Et on peut même vérifier si tout semble ok :

      # trac-admin /srv/trac/nom-du-projet permission list       # pour vérifier
  6. Note : avec les droits ci-dessus le site Trac reste très ouvert, notamment la partie wiki où tout le monde peut écrire. C'est un wiki, quoi !

  7. Et enfin ajouter l'accès via Apache :

    # extrait de /etc/apache2/sites-available/default
    
            # trac "nom-du-projet" 
            ScriptAlias /nom-du-projet /usr/share/trac/cgi-bin/trac.cgi
            <Location /nom-du-projet>
                    SetEnv TRAC_ENV "/srv/trac/nom-du-projet"
            </Location>
            <Location "/nom-du-projet/login">
                    AuthType Basic
                    AuthName "Trac Nom du Projet"
                    AuthUserFile /etc/trac/nom-du-projet.htpasswd
                    Require valid-user
            </Location>
            # svn "nom-du-projet"
            <Location "/svn/nom-du-projet">
                    DAV svn
                    SVNPath /srv/subversion/nom-du-projet
                    AuthType Basic
                    AuthName "Nom du Projet Subversion Repository"
                    AuthUserFile /etc/trac/nom-du-projet.htpasswd
                    # The following three lines allow anonymous read, but make
                    # committers authenticate themselves.  It requires the 'authz_user'
                    # module (enable it with 'a2enmod').
                    <LimitExcept GET PROPFIND OPTIONS REPORT>
                            Require valid-user
                    </LimitExcept> 
            </Location> 
  8. Pour la configuration complète, voir attachment:fichier-complet-apache2-default.txt

Vérifications et finitions :

  1. Aller sur http://trac.sn.auf.org/nom-du-projet et vérifier qu'on peut naviguer

  2. Se loger sur le site Trac et aller dans l'interface d'administration (bouton Admin en haut à droite), modifier des détails si besoin
  3. Tenter des checkout, update puis des commit sur le dépot svn

  4. Eventuellement, modifier /var/www/index.html pour référencer ce nouveau projet sur http://trac.sn.auf.org/

Ouf ! Fini !

A faire