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 :

# yum install subversion

Ceci installera subversion sur votre machine

# yum install mod_dav_svn

Ceci installera le module Webdav

# yum install mod_python

Ceci installera le module python

# mkdir /var/www/vhosts/domaine.com/subdomains/svn/httpdocs/repo

Ceci  créera  un répertoire dans le sous domaine, pour le repository

# svnadmin create /var/www/vhosts/domaine.com/subdomains/svn/httpdocs/repo

Création d’une repositery vide dans le répertoire

# chmod –R 777 /var/www/vhosts/domaine.com/subdomains/svn/httpdocs/repo

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 :

# yum install python-setuptools

Afin de pouvoir utiliser easy_install

# easy_install Trac

Installera tout le nécessaire pour Trac

# mkdir /var/www/vhosts/domaine.com/subdomains/trac/httpdocs/tracrepo

Ceci  créera  un répertoire dans le sous domaine, pour l’environnement Trac

# trac-admin  /var/www/vhosts/domaine.com/subdomains/ trac /httpdocs/ tracrepo initenv

Génère l’environnement de Trac

# cd /var/www/vhosts/domaine.com/subdomains/ trac /httpdocs

Pour se placer dans le répertoire

# chgrp –R psacln *

Pour changer le groupe de permission de tracrepo en psacln qui est l’utilisateur Apache de Plesk

# chown –R user_ftp_project *
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 :

# htpasswd –c  /etc/auth-file user

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

/var/www/vhosts/domaine.com/subdomains/trac/conf/vhost.conf

(j’ai utilisé la commande # touch, mais il doit y avoir mieux)

Puis y mettre :

<Location />
SetHandler mod_python
PythonHandler  trac.web.modpython_frontend
PythonInterpreter main_interpreter
PythonOption TracEnv /var/www/vhosts/domaine.com/subdomains/trac/httpdocs/tracrepo
PythonOption TracUriRoot /
SetEnv PYTHON_EGG_CACHE /tmp
AuthType Basic
AuthName "myproject"
AuthUserFile /etc/auth-file
Require valid-user
</Location>

Puis dans

/var/www/vhosts/domaine.com/subdomains/svn/conf/vhost.conf

(j’ai utilisé la commande # touch, mais il doit y avoir mieux)

<Location />
DAV svn
SVNPath /var/www/vhosts/domaine.com/subdomains/svn/httpdocs/repo
AuthType Basic
AuthName "myproject SVN"
AuthUserFile /etc/auth-file
Require valid-user
</Location>

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

 /var/www/vhosts/domaine.com/subdomains/trac/httpdocs/tracrepo/db

Et

/var/www/vhosts/domaine.com/subdomains/trac/httpdocs/tracrepo/db/trac.db
# /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=domaine.com :

Demande à plesk de prendre en compte notre configuration

#service httpd reload

Ou

#service httpd restart

Relance le serveur Apache

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

#trac-admin /var/www/vhosts/domaine.com/subdomains/trac/httpdocs/tracrepo/ permission add user TRAC_ADMIN

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

<Location />
...
PythonDebug on
</Location>

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

Comments
  1. mustapha
  2. LudiKadmin

Leave a Reply

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


*