Bonjour à tous,
OVH conseille sur son site d'utiliser mod_rpaf ou mod_remoteip pour afficher les IPs de vos visiteurs à la place de celles du CDN OVH.
Je n'ai pas réussi à installer ni l'un (rpaf de Debian Squeeze ne fonctionne pas,
Invalid command 'RPAFheader', perhaps misspelled or defined by a module not included in the server configuration »), ni l'autre (remoteip n'est pas présent dans la version d'Apache 2.2 de Debian Squeeze, il faut Apache >= 2.3. Un
backport est disponible sur
http://people.apache.org/~wrowe/httpd-2.2-ports/ , mais je n'ai pas réussi à le faire fonctionner).
J'ai donc choisi d'utiliser le module développé par CloudFlare,
mod_cloudflare, disponible sur Github à l'adresse
https://github.com/cloudflare/CloudFlare-Tools , qui est basé sur mod_repoteip, mais qui fonctionne.
L'installation s'est faite sur une Debian Squeeze, mais ne devrait pas être trop différente chez les autres.
Étape 1 : Télécharger le fichier source :
Code:
wget https://raw.github.com/cloudflare/CloudFlare-Tools/master/mod_cloudflare.c
À partir de cette étape, toutes les commandes doivent être effectuées en
root
Étape 2 : Installation du logiciel pour compiler le module
Code:
aptitude install apache2-dev
Étape 3 : Compilation & installation du moodule
Code:
apxs2 -cia mod_cloudflare.c
Debian active automatiquement le module. Vous pouvez voir l'activation si le fichier .load est présent :
Code:
ls -l /etc/apache2/mods-enabled/cloudflare.load
lrwxrwxrwx 1 root root 33 2 févr. 00:32 /etc/apache2/mods-enabled/cloudflare.load -> ../mods-available/cloudflare.load
Étape 4 : Configuration.
Par défaut, mod_clouflare est configuré pour utiliser la configuration des serveurs CloudFlare.
Code:
cat >> /etc/apache2/mods-available/cloudflare.conf << EOF
# Specific to OVH
CloudFlareRemoteIPHeader X-Remote-Ip
# OVH CDN servers
# 46.105.0.1 to 46.105.254.254
CloudFlareRemoteIPTrustedProxy 46.105.0.0/16
EOF
cd /etc/apache2/mods-enabled/ && ln -s ../mods-available/cloudflare.conf .
Étape 5 : Redémarrage d'Apache
Code:
service apache2 restart
Et voilà, les IPs de vos visiteurs sont revenues (et dans vos fichiers de logs, ET dans vos d'environnement d'Apache, comme
$_SERVER['REMOTE_IP'] dans PHP) !
N'hésitez pas à poster vos retours sur ce tutoriel, qu'on puisse l'enrichir ensemble !
A+ & merci à OVH pour son CDN gratuit pour le moment,