Accélérer son blog avec eAccelerator

Ce tutoriel ne pourra fonctionner que si vous êtes sur un serveur dédié ou virtuel. Il vous faudra donc avoir configuré et installé PHP et Apache dessus. Mais fort, logiquement, si vous voulez utiliser ce module, c'est que vous avez déjà tout ça et que votre moteur tourne. Je le répète donc, si vous êtes sur un serveur mutualisé, n'ayant pas les droits administratifs de la machine, vous ne pourrez bien sûr pas le faire. Enfin, cette astuce permet d'optimiser et d'accélérer son blog, et pas uniquement WordPress dans mon cas, puisque cette optimisation se fait au niveau du serveur et plus précisément sur PHP..
Pourquoi... pas ?
eAccelerator est donc un projet open-source qui va optimiser et accélérer le calcul des scripts en les mettant dans un cache, afin de permettre au serveur de ne pas le surcharger en lui demandant pour chaque requête identique de les recalculer. Voici un peu d'informations en anglais sur ce module. eAccelerator est régulièrement optimisé, gratuit, et plutôt simple à installer, alors pourquoi s'en priver ? Certes, il ne résout pas tout, loin de là, mais puisqu'il ne consomme que très peu pour la machine, autant l'essayer. Pour ma part, sur mes requêtes, j'ai réduit presque par 2 le temps de création, mais comme je ne suis pas un expert, il ne faut peut-être pas croire que vous obtiendrez la même chose.
L'installation
Pour l'installer, j'ai suivi le tutoriel de HowtoForge, que j'ai découvert, il y a peu, suite à mon passage vers mon propre serveur dédié. La version de ma Debian est une Lenny (5.04) et ce tutoriel fonctionne parfaitement bien, même si, il est proposé pour la version précédente de Debian. Je vais tout de même le reprendre, histoire de la traduire et de l'expliquer un peu.
Tout d'abord, connectez-vous en tant qu'administrateur (root) à votre serveur. Pour continuer, nous aurons besoin d'ajouter, pour la commande phpize, l'environnement php5-dev.
aptitude install php5-dev
ou prendre la version essentielle
aptitude install build-essential php5-dev
Allons dans le répertoire temporaire pour y mettre nos futurs fichiers de passage.
cd /tmp
Allons ensuite récupérer le dernier paquetage (ici, la 0.9.6.1 dont voici les sources). Copions l'adresse du lien en tar.bz2 pour le coller dans notre interface en ligne de commande comme ceci :
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
Désormais, récupérée en un temps record, décompressons notre archive.
tar xvfj eaccelerator-0.9.6.1.tar.bz2
N'oublions pas d'aller dans notre nouveau répertoire pour éviter d'obtenir une erreur de type "cannot find config.m4"
cd eaccelerator-0.9.6.1
Attention aux numéros de versions à respecter. Voilà, il ne reste plus qu'à lancer les procédures de configurations et de créations :
phpize ./configure make make install
Désormais, eAccelerator est installé sur notre machine. Mais pour qu'il soit opérationnel, il reste une dernière étape à faire. Sur notre serveur, avec un logiciel de type WinSCP ou gFTP sous linux, (ou toujours en ligne de commande), créons
- le dossier /var/www/cache/eaccelarator avec un chmod de 0777 pour qu'il soit disponible en lecture et écriture
mkdir /var/www/cache/eaccelerator chmod 0777 /var/www/cache/eaccelerator
- le fichier eaccelerator.ini dans le répertoire /etc/php5/conf.d/ avec nano ou vi
nano /etc/php5/conf.d/eaccelerator.ini
dans lequel on mettra ceci :
extension="eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/var/www/cache/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9"
Différentes options de configurations sont présentées en anglais sur ce wiki officiel. Ici, nous indiquons au module d'utiliser le répertoire créé auparavant dans lequel sera stocké le cache. Enfin, afin de définitivement démarrer le nouveau service, un restart d'apache est nécessaire.
/etc/init.d/apache2 restart
Vérifier son fonctionnement
Pour vérifier qu'il fonctionne correctement, créons et exécutons (en tapant l'adresse dans le navigateur) un fichier phpinfo.php dans /var/www/votresite/ dans lequel on mettra ceci, pour vérifier que l'on a bien la mention "with eAccelerator..."
<?php phpinfo() ?>
Voilà, j'espère que ce petit tutoriel vous aura été utile. Peut-être, comme vous, je me coucherais moins bête, du haut de mes connaissances nuisibles pour la santé des ordinateurs. En tout cas, si vous avez des informations intéressantes à ajouter, si vous avez remarqué des erreurs, ou même si vous voulez proposer votre retour d'expérience sur cette extension, les commentaires sont là pour ça :)
En cas de désactivation suite à une mise à jour du serveur...
J'ai toujours dit que je n'étais pas un expert, et si le module n’apparaît plus, suite, par exermple, à une mise à jour de votre serveur, retentez l'installation à partir de l'étape où vous vous placez dans le répertoire d'eAccelerator.
cd eaccelerator-0.9.6.1 ./configure make clean make install
Pour cette étape, si vous avez des éléments d'informations supplémentaires à apporter, ils seront les bienvenus avec un gros poutou en remerciement :)




