Ce tuto a été modifié le 24 aout 2008, il n'utilise plus une ipfailover mais le port 81 pour apache (pas gênant car en interne)
Je vais vous expliquer ici comment mettre un lighttpd en frontal tout en gardant un apache qui tourne derrière avec les htaccess fonctionnels
En fait lightpd va mettre en cache certains fichiers (images, css...) et les servir, si il n'as pas ce fichier en cache ou si c'est un fichier php qui est demandé il transmet ça a apache sur le port 81 ...
Pour ca on va installer un lighttpd qui a été patché avec modcache, on le trouve ici :
http://www.linux.com.cn/modcache/
J'ai pris celui la : "v1.4.3 source tarball lighttpd 1.4.18 with mod_cache v1.4.3 patched"
il faut après le compiler et l'installer
Maintenant la seule modif a faire sur la configuration d'apache est de le faire écouter sur le port 81 :
debian :
Code:
vim /etc/apache/httpd.conf
gentoo
Code:
vim /etc/httpd/httpd.conf
On change Listen en indiquant l'ip de notre serveur
Code:
Listen YY.YY.YY.YY:81
On ne redémarre pas apache tout de suite, on va d'abord paramétrer lighttpd
Code:
vim /etc/lighttpd/lighttpd.conf
Les modules activés chez moi:
Code:
"mod_redirect",
"mod_proxy",
"mod_access",
"mod_cache",
La partie concernant le cache :
Code:
### CACHE ###
cache.support-queries = "enable" #ignore '?' in url
cache.refresh-pattern = (
"\.(?i)(js|css|swf)$" => "240", # *.js, *.css, toutes les 4h
"\.(?i)(jpg|bmp|jpeg|gif|png)$" => "2880", # images misent en cache 2jours
"." => "nocache" # pas de cache pour le reste
)
cache.bases = ("/home/lighttpd") # write cached files in /data/cache directory
cache.enable = "enable"
proxy.server = ( "/" =>
(
( "host" => "YY.YY.YY.YY", "port" => 80 ) # vers apache si jamais lighty ne peut servir le fichier
)
)
proxy.worked-with-mod-cache = "enable" # que le mod_cache marchent avec mod_proxy
et enfin on dit a lighty d'écouter sur l'ip principale :
Code:
server.bind = "XX.XX.XX.XX"
server.port = 80
Prêts a passer en prod ? ^^
On stoppe apache
Code:
/etc/init.d/httpd stop
On démarrer apache
Code:
/etc/init.d/httpd start
Et on démarrer lighttpd :
Code:
/etc/init.d/lighttpd start
Logiquement mieux que ma première proposition non ?