Memcached est un démon qui permet de stocker en mémoire des objets, ce qui permet de grandement accélérer les sites web.
Dans cet article nous verrons comment installer memcached et l'extension php qui permettra de profiter de toute ses fonctionnalités.
Cette installation fonctionne très bien pour des sites Drupal et des sites WordPress (avec le module W3 Total Cache).
Le démon memcached
Installation
Par chance sous Debian l'installation est assez simple :
# apt-get install memcached
Configuration
Le fichier de configuration est /etc/memcached.conf.
Par défaut le démon fonctionne sur l'interface locale sur le port 11211. Par sécurité, on évitera de faire fonctionner ce démon sur une interface externe, sinon, il faudra limiter au maximum les machines ayant accès à memcache.
# Default connection port is 11211
-p 11211
# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 127.0.0.1
Par défaut la mémoire allouée à l'instance memcache est de 64Mo.
# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 64
Installation de l'extension pecl memcached
Cette extension permet d'interface memcached avec la librairie libmemcached. On va donc dans un premier temps avoir besoins d'installer la librairie libmemcached qui par chance n'existe pas dans les dépôts Debian Lenny.
Installation de la librairie
On trouve cette librairie sur launchpad à cette adresse : https://launchpad.net/libmemcached
# wget http://launchpad.net/libmemcached/1.0/0.44/+download/libmemcached-0.44.tar.gz
# tar xvzf libmemcached-0.44.tar.gz ; rm libmemcached-0.44.tar.gz
# cd libmemcached-0.44.tar.gz
# ./configure
# make
# make install
Installation de l'extension
On a besoins ici du paquet php5-dev :
# pecl install memcached
Configuration
On fini en ajoutant la ligne suivante dans les fichiers php.ini :
extension=memcached.so