Serveur SVN, Python et Trac avec MAMP sous Mac OS X

29 août 2009

Encore une fois, j’ai eu du mal à trouver de la documentation intéressante sur le net pour expliquer la procédure d’installation d’un serveur SVN et un Trac sous Mac OS, et donc j’ai décidé de partager ce petit tuto avec vous, en espérant qu’il vous sera utile (autant qu’à moi).

Prérequis :

Télécharger et installer les deux softs suivants :

  • MAMP, (Apache / MySQL / PHP)
  • SPMPT un petit soft qui va grandement nous simplifier la vie, un genre d’extension à MAMP, pour lui ajouter mod_python, svn, et trac en un clic. (Dailleurs c’est dommage que ce n’est pas inclus par défaut sur MAMP).

Mise en place de SVN et Trac

Une fois les deux softs téléchargés et installés avec succès (ce qui ne devrait pas poser trop de soucis), il ne vous reste plus qu’à mettre en place votre repository SVN et le relier à Trac. Pour ce faire suivez les instructions ci-dessous.

1 – Ouvrez un terminal (/Applications/utilitaires/Terminal)

2 – Créez votre repository avec la commande suivante :

/Applications/MAMP/subversion/bin/svnadmin create /Dossier/de/votre/repository

2 – Ajoutez les lignes suivantes à la fin de votre fichier de configuration Apache (/Applications/MAMP/conf/apache/httpd.conf)

LoadModule python_module modules/mod_python.so
<Location /svn>
DAV svn
SVNPath /Dossier/de/votre/repository
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /Applications/MAMP/conf/svn-auth-file
Require valid-user
</Location>
<Location /trac>
SetHandler mod_python
PythonDebug on
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
# Yout trac-projects environment
PythonOption TracEnv /Dossier/de/votre/trac
#/trac/ refer to /trac (Location)
PythonOption TracUriRoot /trac
PythonOption PYTHON_EGG_CACHE /tmp
AuthType Basic
AuthName "Trac"
AuthUserFile /Applications/MAMP/conf/svn-auth-file
Require valid-user
</Location>

3 – Après il faut créer le fichier qui contiendra les utilisateur de votre serveur SVN/Trac en utilisant la commande suivante :

htpasswd -c /Applications/MAMP/conf/svn-auth-file nomutilisateur

Choisissez ensuite votre mot de passe (cet utilisateur va être choisi pour être administrateur de Trac)

4- Ensuite, Initialisez Trac avec la commande suivante :

/Applications/MAMP/Trac/bin/trac-admin /Dossier/de/votre/trac initenv "nom-de-votre-trac" sqlite:db/trac.db "svn" /Dossier/de/votre/repository

5- Accordez ensuite les droits d’admin du trac à l’utilisateur créé précédemment :

/Applications/MAMP/Trac/bin/trac-admin /Dossier/de/votre/trac permission add nomutilisateur TRAC_ADMIN

6- Quelques réglages de droits avec les commandes suivantes :

current_user=`ls -l /Applications/MAMP/ | grep MAMP.app | awk '{ print $3 }'`
sudo chown -R $current_user /Applications/MAMP/
chmod -R ug+rw /Applications/MAMP/

Voilà maintenant votre trac et votre SVN sont prêts à être utilisé, lancez MAMP, et ensuite vous aurez accès à votre serveur svn avec l’url http://localhost:8888/svn ou votre trac avec l’adresse http://localhost:8888/trac

Mise en place du hook ‘post commit’ de Trac

Pour faire fonctionner le hook de post commit de Trac, la procédure est assez simple :

1 – Téléchargez tout dabord la dernière version du script de post-commit de trac,

2- Copiez ce script dans le dossier hooks de votre repository SVN créé précédemment,

3- modifiez ensuite le fichier post-commit.tmpl qui est dans le dossier hooks de votre svn comme suit :

REPOS="$1"
REV="$2"
TRAC_ENV="/dossier/de/votre/trac"
/Applications/MAMP/python/bin/python2.6 Dossier/de/votre/repository/hooks/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV"

Remarque : Attention il faut mettre le bon numéro de version de python, actuellement dans SPMPT c’est 2.6

4- renommer ce fichier en enlevant simplement l’extension .tmpl, vous pouvez par exemple utiliser la commande :

cd /Dossier/de/votre/repository/hooks
mv post-commit.tmpl post-commit

Voilà vous êtes prêts à commiter et à agir sur le trac directement ;)

Enjoy

Un commentaire pour “Serveur SVN, Python et Trac avec MAMP sous Mac OS X”

Flux rss des commentaires de cet article :.: Ajouter un commentaire
  1. Youknowriad sur Blogasty

    Retrouvez cet article sur Blogasty …

    Vous aimez cet article? Votez pour lui sur Blogasty …

Laisser un commentaire