Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
trac [Le 15/11/2008, 12:25] – Ajout dans le dépanage de "No module named svn" 213.95.41.13 | trac [Le 14/08/2020, 23:00] (Version actuelle) – [Références] ortho, https, **(en)** Bissap | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | |||
+ | ====== Trac : environnement de suivi de projet technique ====== | ||
+ | |||
+ | Instructions pour installer et configurer Apache2, Trac et Subversion sous Ubuntu. Trac intègre aussi un wiki et un système de //bug tracking// évolué. | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | |||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Ceci fait, voici la liste des [[: | ||
+ | |||
+ | On crée le répertoire système pour les instances de Trac, par exemple dans « /var/trac » sans oublier de le rendre accessible en écriture par Apache : | ||
+ | |||
+ | sudo mkdir /var/trac | ||
+ | sudo chown www-data: | ||
+ | |||
+ | |||
+ | ===== Création d'une instance Trac pour votre projet ===== | ||
+ | |||
+ | Il nous faut maintenant importer un projet dans Subversion. Pour l' | ||
+ | |||
+ | Vous pouvez sauvegarder ce script dans un fichier « create_svn_repo.sh » par exemple, sans oublier de le rendre exécutable : | ||
+ | |||
+ | chmod +x create_svn_repo.sh | ||
+ | |||
+ | Il faudra bien sûr le lancer au moyen de « sudo » afin d' | ||
+ | |||
+ | <note important> | ||
+ | Voir [[http:// | ||
+ | |||
+ | < | ||
+ | niko@nikobox: | ||
+ | ####################################### | ||
+ | Création d'un nouveau projet Subversion | ||
+ | ####################################### | ||
+ | |||
+ | Tapez le nom du nouveau projet : | ||
+ | monzouliprojet | ||
+ | Tapez maintenant le chemin du répertoire source : | ||
+ | (Note: les répertoires trunk, branches et tags seront créés automatiquement) | ||
+ | / | ||
+ | Création du projet monzouliprojet depuis / | ||
+ | Adding | ||
+ | Adding | ||
+ | Adding | ||
+ | ... | ||
+ | |||
+ | Committed revision 1. | ||
+ | |||
+ | Projet subversion monzouliprojet créé avec succès ! | ||
+ | </ | ||
+ | |||
+ | {{icons: | ||
+ | >Vous pouvez éditer le fichier du script pour y spécifier notamment le chemin de la racine subversion : < | ||
+ | |||
+ | Ensuite, il faut initialiser l' | ||
+ | |||
+ | < | ||
+ | |||
+ | sudo trac-admin / | ||
+ | sudo chown -R www-data /var/trac/ | ||
+ | |||
+ | Notez encore une fois que je crée la racine trac dans « /var/trac » mais vous pouvez tout à fait utiliser un autre emplacement. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Créer un ou plusieurs utilisateurs Trac et Subversion, gérer les autorisations ===== | ||
+ | |||
+ | Par défaut, une instance Trac permet à tous les visiteurs anonymes d'en modifier les contenus ; bien évidemment, | ||
+ | |||
+ | Créons tout d' | ||
+ | |||
+ | sudo htpasswd2 -c / | ||
+ | |||
+ | 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' | ||
+ | |||
+ | sudo trac-admin / | ||
+ | |||
+ | On peut également imaginer la création d'un compte utilisateur développeur, | ||
+ | |||
+ | sudo htpasswd2 / | ||
+ | sudo trac-admin / | ||
+ | |||
+ | Il nous reste à désactiver les contributions anonymes : | ||
+ | |||
+ | sudo trac-admin / | ||
+ | |||
+ | Par la suite, vous pourrez effectuer la plupart de ces opérations par le biais du plugin WebAdmin dont nous détaillerons l' | ||
+ | |||
+ | Vous trouverez plus d' | ||
+ | |||
+ | Côté Subversion, il nous faut autoriser les // | ||
+ | |||
+ | < | ||
+ | [general] | ||
+ | anon-access = read | ||
+ | auth-access = write | ||
+ | password-db = passwd | ||
+ | # authz-db = authz | ||
+ | realm = MonZouliProjet Subversion Repository | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Installer Trac WebAdmin ( Trac version < 0.11 ) ===== | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | wget http:// | ||
+ | sudo python ez_setup.py | ||
+ | |||
+ | Ceci fait, téléchargez le fichier de plugin [[http:// | ||
+ | |||
+ | < | ||
+ | (l'url a changé:) | ||
+ | sudo easy_install http:// | ||
+ | |||
+ | [[: | ||
+ | |||
+ | < | ||
+ | [components] | ||
+ | webadmin.* = enabled | ||
+ | </ | ||
+ | |||
+ | Enregistrez le fichier et quittez. | ||
+ | |||
+ | |||
+ | ===== Créer un hôte virtuel Apache ===== | ||
+ | |||
+ | Cette section s' | ||
+ | |||
+ | 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 / | ||
+ | |||
+ | 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 » : | ||
+ | |||
+ | < | ||
+ | < | ||
+ | ServerAdmin webmaster@mondomaine.org | ||
+ | ServerName trac.mondomaine.org | ||
+ | | ||
+ | DocumentRoot / | ||
+ | < | ||
+ | SetHandler mod_python | ||
+ | PythonHandler trac.web.modpython_frontend | ||
+ | PythonOption TracEnv / | ||
+ | PythonOption TracUriRoot / | ||
+ | PythonPath " | ||
+ | </ | ||
+ | |||
+ | ErrorLog | ||
+ | CustomLog / | ||
+ | | ||
+ | < | ||
+ | DAV svn | ||
+ | SVNPath / | ||
+ | AuthType Basic | ||
+ | AuthName " | ||
+ | AuthUserFile / | ||
+ | < | ||
+ | Require valid-user | ||
+ | </ | ||
+ | </ | ||
+ | | ||
+ | < | ||
+ | AuthType Basic | ||
+ | AuthName "Trac login" | ||
+ | AuthUserFile / | ||
+ | Require valid-user | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 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é [[http:// | ||
+ | |||
+ | < | ||
+ | ## Fichier /etc/hosts | ||
+ | 127.0.0.1 | ||
+ | 123.124.125.126 | ||
+ | </ | ||
+ | |||
+ | Nous utilisons « mod_python » (précédemment installé), n' | ||
+ | |||
+ | sudo a2enmod mod_python | ||
+ | |||
+ | ou en cas d' | ||
+ | |||
+ | sudo a2enmod python | ||
+ | |||
+ | Ceci fait, il nous reste à activer le nouvel hôte apache et à relancer ce dernier : | ||
+ | |||
+ | sudo a2ensite trac.mondomaine.org | ||
+ | sudo / | ||
+ | |||
+ | Pour vérifier que tout s'est déroulé correctement, | ||
+ | |||
+ | Côté subversion, vous pouvez effectuer un // | ||
+ | |||
+ | svn co http:// | ||
+ | |||
+ | Un commit nécessitera cependant l' | ||
+ | |||
+ | svn commit -m "test de commit" | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Personnaliser Trac ===== | ||
+ | |||
+ | ==== Mettre en couleur le code ==== | ||
+ | |||
+ | Lorsque vous vous logez sur Trac, et que vous utilisez le **Browse Source**, le code est entièrement en noir sur fond blanc, et basta. | ||
+ | |||
+ | Bien, je vous annonce que comme dans les éditeurs de textes, Trac gère la coloration syntaxique ! | ||
+ | |||
+ | Pour l' | ||
+ | Et le voici le petit apt-get: | ||
+ | < | ||
+ | |||
+ | Voila, maintenant votre code est en couleur... C'est mieux hun !? 8-) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Personnaliser le logo ==== | ||
+ | |||
+ | Il est possible de changer le logo de trac en éditant le fichier trac.ini dans le dossier /conf du projet. | ||
+ | < | ||
+ | |||
+ | Dans celui-ci il faut modifier cette partie: | ||
+ | < | ||
+ | src = site/ | ||
+ | alt = My Project | ||
+ | width = 300 | ||
+ | height = 100 | ||
+ | </ | ||
+ | |||
+ | Il faut changer le my_logo.gif par ce que vous voulez. Moi j'ai créé un fichier logo.png. | ||
+ | |||
+ | Pour que le trac s' | ||
+ | |||
+ | Ensuite, il ne reste plus qu'à placer votre image dans le dossier **htdocs/** du projet et voila ! 8-) | ||
+ | |||
+ | |||
+ | ===== Dépannage ===== | ||
+ | |||
+ | |||
+ | ==== No module named scripts.admin ==== | ||
+ | |||
+ | Si vous obtenez cette erreur : | ||
+ | < | ||
+ | File "/ | ||
+ | from trac.scripts.admin import run | ||
+ | ImportError: | ||
+ | |||
+ | Il vous faut redéfinir la variable d' | ||
+ | Pour ce faire : | ||
+ | < | ||
+ | |||
+ | |||
+ | ==== ClearSilver not installed ==== | ||
+ | |||
+ | Si vous obtenez cette erreur : | ||
+ | < | ||
+ | |||
+ | Et si vous êtes en 64bits, il faut installer ce paquet: [[http:// | ||
+ | Ticket LaunchPad: [[https:// | ||
+ | |||
+ | Et voila ! ;-) | ||
+ | |||
+ | |||
+ | ==== mod_python: This module does not exist! ==== | ||
+ | |||
+ | Si vous avez cette erreur quand vous faites **sudo a2enmod mod_python** c'est que normalement vous n'avez pas installé le paquet libapache2-mod-python vous répondront les gens. Dans 98% des cas, ce sera vrai ! | ||
+ | |||
+ | Mais je viens de vivre le cas où j'ai le paquet installé ... mais rien à faire. | ||
+ | |||
+ | Pourquoi ? je sais pas... mais le fichier **mod_python.load** n'a pas été créé. | ||
+ | J'ai d' | ||
+ | |||
+ | Que cela ne tienne ! | ||
+ | C'est pas mon PC qui va me dicter sa loi... donc on va le créer ce fichier manquant ! | ||
+ | |||
+ | < | ||
+ | |||
+ | Et on colle dedans la ligne : | ||
+ | < | ||
+ | |||
+ | Et voila ! Maintenant : | ||
+ | < | ||
+ | |||
+ | === Solution alternative === | ||
+ | En fait, il semble que a2enmod n'ai plus besoin du préfixe " | ||
+ | Voici donc une alternative à cet ensemble de commandes : | ||
+ | < | ||
+ | |||
+ | |||
+ | ==== No module named svn ==== | ||
+ | |||
+ | Cette fois, vous avez sur le site trac ce message qui s' | ||
+ | < | ||
+ | |||
+ | Damned ! Quel journée ! | ||
+ | Heureusement je me suis fais avoir avant vous ... et j'ai trouvé la solution ! :-D | ||
+ | |||
+ | Il suffit d' | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | ===== Références ===== | ||
+ | |||
+ | * Cet article est la reprise d'un [[http:// | ||
+ | * **(en)** La doc officielle : https:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // |