Installer Trac + SVN sur une Debian Plesk

Nous allons créer deux sous-domaines sous Plesk :

  • svn.mydomain.com : pour gérer le subversion
  • trac.mydomain.com : pour gérer trac

Pour information, 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.

Nous allons installer le logiciel subversion sur notre machine.

apt-get install subversion

Installer le module Webdav pour apache 2

apt-get install mod_dav_svn

On vérifie la version du SVN ainsi que présence du module webdav.

svn --version

On crée le répertoire dans notre sous domaine pour la repository.

mkdir /var/www/vhosts/mydomain.com/subdomains/svn/httpdocs/repo

Création d’une repositery vide dans notre répertoire.

svnaddmin create /var/www/vhosts/mydomain.com/subdomains/svn/httpdocs/repo

On défini les accès a notre repository pour Apache et SVN.

chmod -R 777 /var/www/vhosts/mydomain.com/subdomains/svn/httpdocs/repo

Nous allons, maintenant, installer le logiciel TRAC sur notre machine.
Soit par le dépot :

apt-get install trac

Soit par easy_install :

apt-get install python-setuptools
easy_install Trac

On crée le répertoire dans notre sous domaine pour l’environnement TRAC.

mkdir /var/www/vhosts/mydomain.com/subdomains/trac/httpdocs/tracrepo

Génère l’environnement de TRAC dans notre répertoire.

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

On se déplace dans le répertoire du sous-domaine.

cd /var/www/vhosts/mydomain.com/subdomains/trac/httpdocs

On change le groupe de permissions de tracrepo et sous répertoire en psacln qui est l’utilisateur Apache de Plesk.

chgrp -R psacln *

On change le propriétaire de tracrepo et sous répertoire avec l’utilisateur FTP du domaine (mydomainuser : à modifier ci-dessous).

chown -R mydomainuser *

Gestion de l’Authentification :

La protection de l’SVN et du TRAC se fera à l’aide d’un login Apache. Pour ceci nous allons créer un fichier de mot de passe :

htpasswd -c /etc/auth-file

Pour ajouter un utilisateur :

htpasswd /etc/auth-file

Configuration d’apache
Pour le fichier /var/www/vhosts/mydomain.com/subdomains/trac/conf/vhost.conf :

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

Pour le fichier /var/www/vhosts/mydomain.com/subdomains/svn/conf/vhost.conf :

<Location />
DAV svn
SVNPath /var/www/vhosts/mydomain.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/mydomain.com/subdomains/trac/httpdocs/tracrepo/db
Et
/var/www/vhosts/mydomain.com/subdomains/trac/httpdocs/tracrepo/db/trac.db

On demande à Plesk de prendre en compte notre configuration :

/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=mydomain.com 

On relance Apache

service httpd restart

Penser à configurer votre TRAC dans le fichier :
/var/www/vhosts/mydomain.com/subdomains/trac/httpdocs/tracrepo/conf/trac.ini.

Pour donner les droits admins à un user sur Trac :

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

Sources :

http://www.chaodisiaque.com/article-installation-svn-trac-307.html

http://cms.ersezer.com/index.php/menuwebdev/58-contentplesksvntrac.html

CSS SuperScrub

Un webware qui va vous permettre de réduire de manière très significative la taille de vos CSS, tout en les réorganisant. Il permet aussi de réduire la complexité de votre code CSS en supprimant les règles redondantes et inutiles.

Pour optimiser vos CSS : http://isnoop.net/tools/css.php

Voici également une classe PHP qui permet de faire des choses sympa en compression CSS : http://www.phpclasses.org/browse/package/5364.html (cliquez ici pour une démo)

Checkmycolours : analyse colorimétrique

Voici un webware indispensable aux infographistes et webdesigners.

Checkmycolours permet d’analyser le contraste entre le premier plan et l’arrière plan pour chacun des éléments de votre design, le tout selon les recommandations du W3C.

Site de Checkmycolours : http://www.checkmycolours.com/

Z-Cron un vrai planificateur de tâches

Si, comme moi, vous faites régulièrement les mêmes choses sur votre ordinateur :

  • Défragmenter votre disque dur
  • Backup de vos données
  • Vider votre cache IE / Firefox / etc….
  • etc…

Z-Cron est fait pour vous.

En effet, les fonctions plus que limitées du planificateur de tâches de Windows ne permet pas une mise place facile des tâches planifiées.

Site de Z-Cron : http://www.point2click.de/freeware/cron.html

PhraseExpress – Gagner du temps

Voici le logiciel indispensable pour gagner un maximum de temps en tant que développeur.

En effet, ce logiciel vous permet d’effectuer de nombreuse tâche de manière automatique.

Exemple avec la commande :

linkscreen

J’obtiens :
<link rel="stylesheet" href="" type="text/css" media="screen" />

Pour ma part je l’ai configuré, pour effectuer des tâches précises :

  • Création des boucles foreach, while, for
  • Création des inputs
  • Création du gabarit XHTML
  • etc…
  • mais également pour exécuter des programmes et des macros

Bref, un outils indispensable pour tout développeur voulant gagner du temps

Plus d’informations sur le site de l’éditeur : http://www.phraseexpress.com

Commandes Linux

commandes Linux

//==============================================
// Commande pour nettoyer le répertoire /tmp :
//==============================================

find /tmp -type f -mtime +3 | xargs -r -n 10 rm

//==============================================
// Informations sur l’espace disque disponible
//==============================================

df -h

//==============================================
// Espace disque utilisé par un répertoire
//==============================================

du -sh /tmp/

//==============================================
// Espace disque utilisé par un répertoire + ses sous-répertoires
//==============================================

du -h --max-depth=2 /tmp/

//==============================================
// Nombre de fichiers dans un répertoire
//==============================================

ls -1A |wc -l

Installer Munin sur Plesk

On installe munin

apt-get install munin munin-node

Créer depuis plesk un nouveau sous-domaines « munin » sur l’un de vos nom de domaine

On va changer le propriétaire du répertoire httpdocs correspondant + modifier le chmod en 0755 (rwxr-xr-x)

chown munin:munin /var/www/vhosts/mondomaine.fr/subdomains/munin/httpdocs

Editer le fichier /etc/munin/munin.conf et modifier la variable htmldir

htmldir	/var/www/vhosts/mondomaine.fr/subdomains/munin/httpdocs

Pour que Munin prenne en compte nos modifications : redémarrons le

/etc/init.d/munin-node restart

Pour aller plus loin de vous conseille ces deux sites :

Optimisation Serveur Apache

Penser à modifier votre MaxClients (150 -> 800 par exemple : à voir selon la capacité de votre serveur) et pour les sites avec très peu de contenu statiques on désactive KeepAlive

Modifier le fichier logrotate.conf et mettre daily au lieu de weekly et rotate 2 au lieu de 4 (on ne garde les logs que sur 2 semaines et non 4)

Compatibilité Debian 32 bits / 64 bits

Pour éviter les problèmes de compatibilités entre Debian 32 et 64 :

apt-get intall ia32-libs

Quand PECL ne marche pas….

Il m’arrive souvent que PECL ne fonctionne pas à cause du phpize malgré le php5-dev, voici la solution que je préconise :

wget http://pecl.php.net/get/monExtension.tgz
tar zxvf monExtension.tgz
cd monExtension
phpize
./configure
make
make install