Installer SVN et Trac sur un serveur dédié

Voilà un article qui est le résultat de 2 semaines de recherche et de bataille pour installer un environnement de travail en collaboration. Une fois la victoire acquise, je me suis empressé de faire un petit tuto afin que d’autres ne misère pas autant que moi, je vous le met à disposition en téléchargement pdf en fin d’article.

Voici le tuto que vous trouverez dans le pdf :
Avant de démarrer:

Pour savoir ce qu’est Trac : http://trac.edgewall.org
Pour savoir ce qu’est Subversion : http://fr.wikipedia.org/wiki/Subversion_(logiciel)
Pour savoir ce qu’est Plesk : http://fr.wikipedia.org/wiki/Plesk

Tout d’abord l’installation de SVN
Installation dans un sous-domaine svn.domaine.com
Je me connecte via putty en SSH à mon serveur et voici la marche à suivre en tant que root :

[pastacode lang= »c » manual= »%23%20yum%20install%20subversion » message= » » highlight= » » provider= »manual »/]
Ceci installera subversion sur votre machine

[pastacode lang= »c » manual= »%23%20yum%20install%20mod_dav_svn » message= » » highlight= » » provider= »manual »/]
Ceci installera le module Webdav

[pastacode lang= »c » manual= »%23%20yum%20install%20mod_python » message= » » highlight= » » provider= »manual »/]
Ceci installera le module python

[pastacode lang= »c » manual= »%23%20mkdir%20%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Fsvn%2Fhttpdocs%2Frepo » message= » » highlight= » » provider= »manual »/]
Ceci  créera  un répertoire dans le sous domaine, pour le repository

[pastacode lang= »c » manual= »%23%20svnadmin%20create%20%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Fsvn%2Fhttpdocs%2Frepo » message= » » highlight= » » provider= »manual »/]
Création d’une repositery vide dans le répertoire

[pastacode lang= »c » manual= »%23%20chmod%20%E2%80%93R%20777%20%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Fsvn%2Fhttpdocs%2Frepo » message= » » highlight= » » provider= »manual »/]
Donne les accès au repository pour APACHE et SVN (Celon les besoins)

SVN est installé !

P.S : ne pas oublier d’activer sur vos sous domaine via plesk :
CGI, FastCGI et mod_python

Installation de Trac
Installation dans un sous-domaine trac.domaine.com
Je me connecte via putty en SSH à mon serveur et voici la marche à suivre en tant que root :

[pastacode lang= »c » manual= »%23%20yum%20install%20python-setuptools » message= » » highlight= » » provider= »manual »/]
Afin de pouvoir utiliser easy_install

[pastacode lang= »c » manual= »%23%20easy_install%20Trac » message= » » highlight= » » provider= »manual »/]
Installera tout le nécessaire pour Trac

[pastacode lang= »c » manual= »%23%20mkdir%20%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Ftrac%2Fhttpdocs%2Ftracrepo » message= » » highlight= » » provider= »manual »/]
Ceci  créera  un répertoire dans le sous domaine, pour l’environnement Trac

[pastacode lang= »c » manual= »%23%20trac-admin%20%20%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2F%20trac%20%2Fhttpdocs%2F%20tracrepo%20initenv » message= » » highlight= » » provider= »manual »/]
Génère l’environnement de Trac

[pastacode lang= »c » manual= »%23%20cd%20%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2F%20trac%20%2Fhttpdocs » message= » » highlight= » » provider= »manual »/]
Pour se placer dans le répertoire

[pastacode lang= »c » manual= »%23%20chgrp%20%E2%80%93R%20psacln%20* » message= » » highlight= » » provider= »manual »/]
Pour changer le groupe de permission de tracrepo en psacln qui est l’utilisateur Apache de Plesk

[pastacode lang= »c » manual= »%23%20chown%20%E2%80%93R%20user_ftp_project%20* » message= » » highlight= » » provider= »manual »/]
On change le propriétaire de tracrepo avec l’utilisateur FTP du domaine

Pour l’authentification
Cette partie est un peu plus délicate et je dois avouer que c’est à ce niveau que cela a été plus complexe.
L’authentification de svn et de trac se fera via Apache. Créons un fichier de mot de passe :

[pastacode lang= »c » manual= »%23%20htpasswd%20%E2%80%93c%20%20%2Fetc%2Fauth-file%20user » message= » » highlight= » » provider= »manual »/]
Crée le fichier d’authentification dans le dossier etc. pour ajouter d’autres utilisateurs enlevé simplement le –c

Configurer Apache
Pour que SVN et Trac fonctionnent avec les 2 sous-domaines, il faut configurer apache. Créons un fichier de configuration dans

[pastacode lang= »c » manual= »%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Ftrac%2Fconf%2Fvhost.conf » message= » » highlight= » » provider= »manual »/]
(j’ai utilisé la commande # touch, mais il doit y avoir mieux)

Puis y mettre :

[pastacode lang= »c » manual= »SetHandler%20mod_python%0APythonHandler%20%20trac.web.modpython_frontend%0APythonInterpreter%20main_interpreter%0APythonOption%20TracEnv%20%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Ftrac%2Fhttpdocs%2Ftracrepo%0APythonOption%20TracUriRoot%20%2F%0ASetEnv%20PYTHON_EGG_CACHE%20%2Ftmp%0AAuthType%20Basic%0AAuthName%20%22myproject%22%0AAuthUserFile%20%2Fetc%2Fauth-file%0ARequire%20valid-user » message= » » highlight= » » provider= »manual »/]

 

Puis dans

[pastacode lang= »c » manual= »%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Fsvn%2Fconf%2Fvhost.conf » message= » » highlight= » » provider= »manual »/]
(j’ai utilisé la commande # touch, mais il doit y avoir mieux)

[pastacode lang= »c » manual= »DAV%20svn%0ASVNPath%20%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Fsvn%2Fhttpdocs%2Frepo%0AAuthType%20Basic%0AAuthName%20%22myproject%20SVN%22%0AAuthUserFile%20%2Fetc%2Fauth-file%0ARequire%20valid-user » message= » » highlight= » » provider= »manual »/]

 

Ne pas oublier de rendre possible en lecture et écriture :

[pastacode lang= »c » manual= »%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Ftrac%2Fhttpdocs%2Ftracrepo%2Fdb » message= » » highlight= » » provider= »manual »/]
Et

[pastacode lang= »c » manual= »%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Ftrac%2Fhttpdocs%2Ftracrepo%2Fdb%2Ftrac.db » message= » » highlight= » » provider= »manual »/]

[pastacode lang= »c » manual= »%23%20%2Fusr%2Flocal%2Fpsa%2Fadmin%2Fsbin%2Fwebsrvmng%20–reconfigure-vhost%20–vhost-name%3Ddomaine.com%20%3A » message= » » highlight= » » provider= »manual »/]
Demande à plesk de prendre en compte notre configuration

[pastacode lang= »c » manual= »%23service%20httpd%20reload » message= » » highlight= » » provider= »manual »/]
Ou

[pastacode lang= »c » manual= »%23service%20httpd%20restart » message= » » highlight= » » provider= »manual »/]
Relance le serveur Apache

Divers
Pour donner les droits admins à un user sur Trac :

[pastacode lang= »c » manual= »%23trac-admin%20%2Fvar%2Fwww%2Fvhosts%2Fdomaine.com%2Fsubdomains%2Ftrac%2Fhttpdocs%2Ftracrepo%2F%20permission%20add%20user%20TRAC_ADMIN » message= » » highlight= » » provider= »manual »/]

Si vous avez une erreur du Type 500 lorsque vous vous connecté sur Trac, rajouté dans le vhost.conf de Trac :

[pastacode lang= »c » manual= »…%0APythonDebug%20on » message= » » highlight= » » provider= »manual »/]

 

Cela va vous permettre de repérer d’où vient l’erreur.

Quelques sources, qui m’ont permis d’y arriver

http://cms.ersezer.com/index.php/home/40-webdev/58-contentplesksvntrac.pdf
http://trac.edgewall.org
http://techteam.wordpress.com/2008/04/29/installation-of-python-fedoracommons-webarchive/
http://www.question-defense.com/2009/03/16/install-easy_install-via-yum-on-linux-centos-server/

N’hésitez pas à laissez vos commentaires ou suggestions d’améliorations.

Voici le PDF :

Installer SVN+TRAC LudiKreation

Author: Franck Pertegas

Share This Post On

2 Comments

  1. bonjour,

    je suis debutant(NULL) et je dois installer trac sur un serveur apatch ,

    je suis sur Windows, vous auriez pas un tutoriel pour débutant pour installation trac

    merci.

    Post a Reply
  2. Bonjour mustapha,

    Bienvenue sur ce blog,
    Tu souhaites installer Trac en local ?? Ou sur un serveur distant qui est une plateforme windows ?

    Post a Reply

Trackbacks/Pingbacks

  1. Centos – Plesk – Mise à jour version PHP 5.1 vers 5.2 | LudiBlog - [...] Installer SVN et Trac sur un serveur dédié [...]

Submit a Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *