Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Quoi de mieux que Subversion et Trac pour gérer tout vos projets ? Que cela soit pour travailler seul où en groupe c'est juste le combo gagnant.


Installation

Voyons comment les installer sur un serveur Ubuntu (où sur votre machine locale).

$ sudo apt-get update
$ sudo apt-get install subversion libapache2-svn libapache2-mod-python2.4 trac

En ce qui me concerne, je place mes instances de Trac dans /var/trac, de ce fait, je fais :

$ sudo mkdir /var/trac
$ sudo chown www-data:www-data /var/trac

Création de l'instance Trac

J'ai trouvé sur PrendreUnCafé un script très bien fait qui permet d'automatiser la création. Vous pouvez trouver ce script ici → create_svn_repo.sh

$ chmod +x create_svn_repo.sh

Il faut le lancer en tant que root ou via la commande sudo. Il vous suffit de répondre aux questions du script.

Vous pouvez éditer le fichier du script pour y spécifier notament le chemin de la racine subversion :

SVN_ROOT="/var/svn"

Ensuite, on initialise l'environnement Trac (après l'avoir crée) :

sudo mkdir /var/trac
sudo trac-admin /var/trac/projet initenv
sudo chown -R www-data /var/trac/projet

Gestion des utilisateurs

Par défaut, une instance Trac permet à tous les visiteurs anonymes d'en modifier les contenus ; bien évidemment, c'est un comportement de l'application particulièrement risqué, ne serait-ce qu'en regard du spam potentiel que vous pourriez récolter. Nous allons donc successivement créer un utilisateur subversion, puis désactiver les contributions anonymes pour Trac et ajouter un utilisateur possédant les droits d'administration Trac. Notez que nous utiliserons le même fichier de stockage des noms d'utilisateurs et de mots de passe pour Trac et Subversion ; ce fichier sera appelé au niveau de notre fichier de configuration Apache - défini un peu plus bas dans ce tutoriel.

Créons tout d'abord le fichier de stockage des mots de passe Trac/Subversion et ajoutons un utilisateur maintener :

$ sudo htpasswd -c /etc/apache2/dav_svn.passwd maintener
Si vous voulez ajouter des utilisateurs vous pouvez le faire simplement en les ajoutant au fichier de mot de passe :

$ sudo htpasswd /etc/apache2/dav_svn.passwd utilisateur

N'oubliez pas que vous devez attribuez des permissions à votre utilisateur pour le projet Trac concerné.

Attribuez-lui un mot de passe. Bien, cet utilisateur aura par la suite officiellement accès à notre dépôt Subversion. Donnons-lui maintenant les droits d'administration totale de Trac :

$ sudo trac-admin /var/trac/projet permission add maintener TRAC_ADMIN

On peut également imaginer la création d'un compte utilisateur développeur, qui peut créer des tickets, en fermer et maintenir le wiki :

$ sudo htpasswd -c /etc/apache2/dav_svn.passwd dev
$ sudo trac-admin /var/trac/projet permission add dev WIKI_CREATE WIKI_MODIFY TICKET_CREATE TICKET_MODIFY

Il nous reste à desactiver les contributions anonymes :

$ sudo trac-admin /var/trac/monzouliprojet permission remove anonymous WIKI_CREATE WIKI_MODIFY TICKET_CREATE TICKET_MODIFY

Vous trouverez plus d'informations sur les privilèges de Trac sur la page qui lui est consacrée.

Côté Subversion, il nous faut autoriser les checkouts anonymes mais s'assurer que'un utilisateur est authentifié avant d'accepter ses commits. Cela se configure très facilement dans le fichier /var/svn/projet/conf/svnserve.conf, dans lequel vous pouvez saisir :

[general]
anon-access = read
auth-access = write
password-db = passwd 
# authz-db = authz
realm = Projet Subversion Repository

Côté Apache

Nous devons rendre accessible par le web notre instance de Trac ainsi que le dépôt Subversion associé, par le biais d'un hôte virtuel apache dédié :

$ sudo vi /etc/apache2/sites-available/trac.conf

On y écrit les paramètres de notre hôte dédié, en admettant que nous disposons du domaine mondomaine.org nanti d'un sous-domaine trac :

<VirtualHost *>
    ServerAdmin webmaster@mondomaine.org
    ServerName trac.mondomaine.org
 
    DocumentRoot /var/trac/projet
    <Location />
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnv /var/trac/projet
        PythonOption TracUriRoot /
        PythonPath "sys.path + ['/var/trac/projet']"
    </Location>
 
    ErrorLog  /var/log/apache2/error.trac.domaine.org.log
    CustomLog /var/log/apache2/access.trac.domaine.org.log combined
 
    <Location /svn>
        DAV svn
        SVNPath /var/svn/projet
        AuthType Basic
        AuthName "Projet Subversion repository"
        AuthUserFile /etc/apache2/dav_svn.passwd
        <LimitExcept GET PROPFIND OPTIONS REPORT> 
            Require valid-user
        </LimitExcept>
    </Location>
 
    <Location "/login">
        AuthType Basic
        AuthName "Trac login"
        AuthUserFile /etc/apache2/dav_svn.passwd
        Require valid-user
    </Location>
 
</VirtualHost>

Vous devrez bien entendu enregistrer le domaine et le sous domaine dans votre fichier de configuration DNS, voire simplement dans votre fichier /etc/hosts si vous disposez d'un service de gestion DNS décentralisé comme celui que propose la société Gandi. Par exemple :

## Fichier /etc/hosts
127.0.0.1         localhost localhost.localdomain mamachine
123.124.125.126   trac.mondomaine.org

Nous utilisons mod_python (précédemment installé), n'oublions pas de l'activer :

$ sudo a2enmod mod_python

Ceci fait, il nous reste à activer le nouvel hôte apache et à relancer ce dernier :

$ sudo a2ensite trac.mondomaine.org
$ sudo /etc/init.d/apache2 restart

Pour vérifier que tout s'est déroulé correctement, faites pointer votre navigateur préféré vers l'adresse trac.mondomaine.org, vous devriez accéder sans encombres à votre instance nouvellement créée. Vous pouvez vous logguer en cliquant sur le lien Login et en fournissant les paramètres d'accès utilisateur que vous avez définis précédemment. Si vous vous logguez en administrateur Trac, vous devriez disposer du menu Admin donnant accès à l'extension WebAdmin où vous pourrez ajuster les paramètres de votre instance aux petits oignons.

Côté subversion, vous pouvez effectuer un checkout de votre projet de cette façon :

$ svn co http://trac.mondomaine.org/svn/trunk/ .

Un commit nécessitera cependant l'authentification ; vous pourrez forcer le nom d'utilisateur à utiliser :

$ svn commit -m "test de commit" main/test/toto.txt --username mainteneur
tutorial/ubuntu/tutorial_installer_subversion_trac_et_module_apache.txt · Dernière modification: 2009/06/21 19:58 (édition externe)
Piste: tutorial_backup_gmail tutorial_tune_son_western_digital_my_book_world_edition tutorial_creer_un_raid_0 post-it_creer_un_raid tutorial_installer_freebsd_en_mode_serveur post-it_samba tutorial_garder_son_serveur_a_jour tutorial_installer_wii_media_center tutorial_installer_et_configurer_apache_php tutorial_installer_subversion_trac_et_module_apache
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0