|
Blog -
WebDev
|
|
Lundi, 08 Décembre 2008 20:49 |
J'ai passé un petit moment à installer sur mon serveur dédié un serveur SVN et une interface TRAC pour la gestion de mes projets. Mon installation est fait dans des sous-domaines de mon projet comme suit : svn.myproject.com et trac.myproject.com.
Présentation des outils :
Plesk : (Définition du Wikipédia) Plesk est une interface de gestion de serveur payant, édité par Parallels (anciennement SWSoft). Son code source est encrypté de manière à ce qu'il ne soit pas utilisable, sauf en exécution au sein d'un environnement Plesk.
Sa facilité de prise en main et sa capacité à faire en sorte qu'un utilisateur lambda puisse gérer le serveur en font un outil réputé dans le domaine de l'administration de serveurs dédié
Subversion (en abrégé svn) est un système de gestion de versions, distribué sous licence Apache et BSD. Il a été conçu pour remplacer CVS. Ses auteurs s'appuient volontairement sur les mêmes concepts (notamment sur le principe du dépôt centralisé et unique) et considèrent que le modèle de CVS est le bon, et que seule son implémentation est en cause. Le projet a été lancé en février 2000 par CollabNet, avec l'embauche par Jim Blandy de Karl Fogel, qui travaillait déjà sur un nouveau gestionnaire de version.
Trac est un système Open Source de gestion complète de projet par Internet, développé en Python.
Trac inclut :
* Un Wiki,
* Gestion de feuilles de route,
* Historique,
* Rapport de bugs,
* Explorateur subversion.
Note : Le serveur tourne sous Fedora Core 4.
Installation de SVN :
SVN fonctionnera avec webdav comme protocole d'accès de puis l'extérieur.
Vous devez pour ceci etre root en SSH sur votre machine.
- # yum install subversion : Permet d'installer le logiciel subversion sur votre machine.
- # yum install mod_dav_svn : Permet d'installer le module Webdav à apache 2.
- # svn --version : Permet de verifier la version du SVN que vous avez et la presence du module webdav.
- # mkdir /var/www/vhosts/myproject.com/subdomains/svn/httpdocs/repo : On crée le repertoire dans notre sous domaine pour la repository.
- # svnaddmin create /var/www/vhosts/myproject.com/subdomains/svn/httpdocs/repo : Creation d'une repositery vide dans notre répertoire.
- # chmod -R 777 /var/www/vhosts/myproject.com/subdomains/svn/httpdocs/repo : Donner accès a votre repository pour Apache et SVN. Ceci est a revoir dans le cas d'un serveur multi-utilisateurs (clients etc).
Installation de TRAC :
Vous devez pour ceci etre root en SSH sur votre machine.
- # yum install trac : Permet d'installer le logiciel TRAC sur votre machine.
- # mkdir /var/www/vhosts/myproject.com/subdomains/trac/httpdocs/tracrepo : On crée le répertoire dans notre sous domaine pour l'environnement TRAC.
- # trac-admin /var/www/vhosts/myproject.com/subdomains/trac/httpdocs/tracrepo initenv : Génère l'environnement de TRAC dans notre répertoire.
- # cd /var/www/vhosts/myproject.com/subdomains/trac/httpdocs On se deplace dans le repertoire du sous-domaine.
- # chgrp -R psacln * : On change le groupe de permissions de tracrepo et sous répertoire en psacln qui est l'utilisateur Apache de Plesk.
- # chown -R myprojectuser * : On change le propriétaire de tracrepo et sous répertoire avec l'utilisateur FTP du domaine.
Authentification :
La protection de l'SVN et du TRAC se fera à l'aide d'un login Apache. Pour ceci nous allons crée un fichier de mot de passe :
- # htpasswd -c /etc/auth-file utilisateur : Crée un fichier d'authentification pour Apache dans le répertoire /etc/. Pour ajouter d'autre utilisateurs il faut refaire la même commande sans le "-c".
Configuration d'apache :
Nous devons maintenant configurer apache pour que ces 2 sous-domaines fonctionnent avec SVN et TRAC. Plesk gerant lui meme le fichier de configuration d'apache nous ne pouvons pas etider celui-ci car il sera ecrasé automatiquement par plesk. Pour ceci nous devons créer un fichier de configuration dans /var/www/vhosts/myproject.com/subdomains/trac/conf/ et /var/www/vhosts/myproject.com/subdomains/svn/conf/ pour que Apache prenne en compte nos modifications :
Le fichier /var/www/vhosts/myproject.com/subdomains/trac/conf/vhost.conf :
<Location />
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/www/vhosts/myproject.com/subdomains/trac/httpdocs/tracrepo/
PythonOption TracUriRoot /
SetEnv PYTHON_EGG_CACHE /tmp
PythonInterpreter trac
AuthType Basic
AuthName "MyProject Trac System"
AuthUserFile /etc/auth-file
Require valid-user
</Location>
Le fichier /var/www/vhosts/myproject.com/subdomains/svn/conf/vhost.conf :
<location />
DAV svn
SVNPath /var/www/vhosts/myproject.com/subdomains/svn/httpdocs/repo/
AuthType Basic
AuthName "MyProject Subversion Repository"
AuthUserFile /etc/auth-file
Require valid-user
</location>
Il nous reste plus qu'a relancer Apache et demander à Plesk de prendre en compte nos fichiers de configuration :
- # /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=myproject.com : Damande à plesk de prendre en compte notre configuration.
# service httpd reload (ou service httpd restart) : Relance le serveur Apache.
Note : Ne pas oublier de configurer votre TRAC dans le fichier /var/www/vhosts/myproject.com/subdomains/trac/httpdocs/tracrepo/conf/trac.ini. Et de lire leur wiki pour les autres options.
|
Comments