Damien Mathieu

Blog d’un développeur web

Maintenance serveur vendredi et samedi

septembre18

Je procéderais à une maintenance sur le serveur qui héberge ce blog (ainsi que RefStats).
La raison de celle-ci est assez simple. A l’heure actuelle, les bases de données SQL sont stockées au même endroit que les fichiers de log, dans /var.

J’ai besoin de plus d’espace disque pour ces bases SQL. Espace dont je dispose dans /home.
Je dois donc couper le serveur mysql, déplacer toutes les bases et le relancer.
Lorsque j’avais tenté de faire cela l’an dernier, j’avais tout cassé. Je compte ici prendre beaucoup plus de rigueur et ait déjà fait l’essai sur Norris. Il n’y a pas de raison que cela foire.

Je prévois cependant d’avoir quelques soucis. On sait jamais.
La maintenance aura donc lieu au mieux vendredi de 22h à 1-2h du matin (GMT+1). Si je n’ai pas fini à ce moment la, je remets tout en place et je finis le lendemain dans les mêmes horaires.

Inutile donc de visiter ce blog ou RefStats demain (et peut-être samedi) entre 22h et 2h du matin (GMT+1).

posted under Général | 1 Comment »

Serveur avec multi IPs et sélection de celle-ci en PHP

août1

De multiples hébergeurs (notemment OVH en dédié) proposent à leurs utilisateurs de configurer plusieurs adresses ip sur leur machine.
Cela peut permettre par exemple de configurer, sur la machine et sur le port 80, deux serveurs web.
Un Apache et un Lighttpd.
Le second transmettant les fichiers statiques beaucoup plus rapidement et en consommant moins de ressources machines, c’est une bonne méthode d’optimisation de vos ressources système.

Aucun problème pour les connexions entrantes donc.
J’ai cependant eu envie de me confronter à autre chose. Les connexions sortantes en PHP avec Curl.
Comment sélectionner laquelle de mes deux ips je veux que mon script utilise pour faire appel à une page externe ?

Ne sachant pas trop ou chercher, je me suis dit au début “il doit y avoir une fonction native, ou un truc dans la configuration”. Queue d’ale.

Cependant après quelques recherches, j’ai trouvé la solution, qui était sous mon nez !
Pour ceux qui ne savent pas comment fonctionne curl, celui-ci possède une fonction curl_setopt qui permet de paramétrer votre appel distant.
Ainsi vous pouvez ajouter des paramètres en POST, modifier le referer, ajouter des cookies, ajouter une identification http ou ssl etc. Les possibilitées sont illimitées.

Et c’est la que l’une des options fait son apparition. CURLOPT_INTERFACE, qui prends comme paramètre … une IP ou un nom d’hôte.
Et le script utilisera l’ip définie.

Ainsi je change mon ip en faisant :
curl_setopt($ch, CURLOPT_INTERFACE, $myIp);

Notez cependant que vous ne pouvez bien evidemment pas utiliser n’importe quelle ip. Seules celles configurées sur votre carte réseau le sont. Cela serait trop facile.
Vous pouvez cependant tester cela même si vous n’avez qu’une seule ip sur votre machine. Faites appel à une page locale et utilisez votre ip distante ainsi que 127.0.0.1 :-)

Je n’ai donc ensuite eu plus qu’a récupérer aléatoirement l’une ou l’autre de mes ip et mes appels externes se font à 50% sur une de mes ip et à 50% sur l’autre.
Je viens de diviser par deux les chances que l’ip de mon serveur ne se fasse bannir par Google avec les appels faits par RefStats.

Rss Feeds

En Français
In English