D'après le site officiel, Cherokee est un serveur web, rapide, flexible, facile à configurer, supportant une multitude de technologies : FastCGI, SCGI, PHP, CGI, uWSGI, SSI, TLS et SSL, Virtual hosts, Authentification, Load Balancing, fichiers de logs compatible Apache compatible, Data Base Balancing, Reverse HTTP Proxy, Traffic Shaper, Video Streaming ...
Cette méthode d'installation fonctionne aussi sous Ubuntu 10.04 LTS
Installation de Cherokee
Comme souvent maintenant, la version disponible en paquet pour Debian Lenny de Cherokee est la (0.7.2-4). La dernière version stable est la 1.0.15 et la version disponible dans Debian testing est la 1.0.8.
Il existe plusieurs méthodes conseillées dans la documentation officielle : http://www.cherokee-project.com/doc/basics_installation_unix.html
La méthode avec l'utilisation des dépôts de la teting peut occasionner des problèmes de mises à jour de paquets desquels dépendraient d'autres applications, donc à tester avec précautions.
Pour une fois je vais choisir de compiler à partir des sources ayant des besoins avec des contraintes d'utilisation dans un environnement avec d'autres applications dépendant des paquets de la distribution Lenny stable.
On commence par installer les outils nécessaires à la compilation et quelques dépendances :
# apt-get install build-essential gettext
On veut garder un comportement comme Apache, on va donc créer le même utilisateur et le même groupe que pour Apache :
# groupadd -g 33 www-data
# useradd -u 33 -g 33 www-data
On télécharge et on décompresse les sources de Cherokee :
# cd /usr/src
# wget http://www.cherokee-project.com/cherokee-latest-tarball -O -| tar zxvf -
Si vous avez besoins du support SSL il faut installer le paquet libssl-dev.
Et on installe
# cd cherokee-1.0.1x
# ./configure --localstatedir=/var --prefix=/opt/cherokee --sysconfdir=/etc --with-wwwroot=/var/www --with-wwwuser=www-data --with-wwwgroup=www-data
--disable-ipv6
# make
# make install
On crée le fichier d'init :
# cp contrib/cherokee /etc/init.d/
# chmod +x /etc/init.d/cherokee
# update-rc.d -f cherokee start 91 2 3 4 5 . stop 09 0 1 6 .
On démarre et on vérifie qu'il fonctionne :
# /etc/init.d/cherokee start
# ps -auxf | grep cherokee
root 17805 0.0 0.1 26776 896 ? S<l 10:30 0:00 /opt/cherokee/sbin/cherokee
www-data 17808 0.0 0.3 74740 1708 ? S<l 10:30 0:00 _ /opt/cherokee/sbin/cherokee-worker
# netstat -tpnl | grep cherokee
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17808/cherokee-work
Avec un navigateur on va sur l'adresse de la machine et si tout marche on obtiens une page affichant quelque chose comme ceci :
Pour finir on rajoute les paths dans /etc/profile :
if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/cherokee/sbin:/opt/cherokee/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/opt/cherokee/bin"
fi
Administration
Cherokee dispose d'une console web d'administration qu'il faut démarrer :
# cherokee-admin -b &
[1] 17836
# [09/12/2010 10:40:10.906] (error) rrd_tools.c:120 - Could not find the rrdtool binary.
Cherokee Web Server 1.0.12 (Dec 9 2010): Listening on port ALL:9090, TLS
disabled, IPv6 disabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, 5 threads, 408 connections per thread, standard
scheduling policy
Login:
User: admin
One-time Password: IZj9AuRroUI8iujY
Web Interface:
URL: http://localhost:9090/
Pour corriger l'erreur rrdtool :
# apt-get install rrdtool
L'interface d'admin est donc disponible sur le port 9090 avec un mot de passe à utilisation unique. On se retrouve alors sur un écran comme celui-ci :