10 Mai

Optimiser WordPress avec NGINX et W3 Total Cache – Intro

WordPress est un outil de blog très populaire, mais il faut le reconnaître tel quel, il est très consommateur de ressource. L’affichage des pages est abominablement lent même sur un site à faible trafic sur un serveur robuste. Ce post va donc présenter des optimisations très efficaces qui permettront à la fois de descendre à un affichage de pages sous la demi-seconde et de permettre à votre serveur d’encaisser un trafic plus important. Je me sers ici de W3 Total Cache (W3TC) qui est assez bon, on peut lui préférer WP Super Cache, pourquoi pas, mais la configuration de Nginx sera différente.

Environnement

OS : Debian 7.5 stable (Wheezy) (64bits)
Nginx : nginx/1.6.0
PHP : 5.5.12-1 avec Zend Engine v2.4.0 et Zend OPcache v7.0.4
W3 Total Cache : Version 0.9.4 avec les paramètres suivants

  • Page Cache – Disk Enhanced
  • Minify – Disk ou Désactivé (le Minify peut massacrer des thèmes mal codés)
  • Database Cache – Memcache ou Alternative PHP Cache (APC)
  • Object Cache – Memcache ou Alternative PHP Cache (APC)
  • Browser Cache – Désactivé (on laisse Nginx le gérer)

Lire la suite

10 Mai

Méfiance avec les Mises à Jour

J’ai donc passé une mise à jour du package php5-fpm tout à l’heure. Généralement, c’est relativement sans risque. Sauf que mes sites web affichaient ensuite une erreur 502 !
Un tour rapide sur les logs d’erreurs de nginx donne:

Je vais donc consulter le site qui gère les repositories et effectivement :

Please note that if you’re using an Unix socket to make PHP-FPM talk to your web server, you’ll have to set the listen.owner and listen.group directive to the right user/group (usually www-data), for each of your pool. Don’t change the permissions on the socket from 0660 to 0666 (too permissive), it would avoid the CVE-2014-0185 fix.

La solution consiste donc à dé-commenter les lignes listen dans /etc/php5/fpm/pool.d/www.conf:

Il ne reste plus qu’à recharger php5-fpm avec un service php5-fpm restart.

Bilan, 20 min d’interruption du site (et encore), ce n’est pas un drame. Mais il faut toujours se méfier des mises à jour automatiques. Mieux vaut les limiter au strict minimum (sécurité) et passer régulièrement sur son serveur appliquer les autres à la main. En cas de crash, on peut intervenir rapidement et on a une idée de l’origine du problème. Idéalement, on dispose d’un serveur de maquette sur lequel on test chaque manipulation, mais il s’agit de moyens plus généralement mis en œuvre sur des infrastructures professionnelles. Sur un serveur personnel, c’est moins évident…

08 Mai

UFW un frontend Iptables

Ce post présente UFW un outil simplifié de configuration d’iptable sur son serveur dédié, il est disponible sur les distributions Ubuntu et Debian. Pour rappel, iptables, et ip6tables pour l’IPv6, sont deux outils d’administration du module netfilter au sein du noyau qui permettent la manipulation des paquets IP. Ces deux utilitaires sont extrêmement puissants et utilisés principalement pour

  • mettre en place des règles de filtrage des paquets IP (firewall)
  • partager une connexion internet (NAT)
  • l’historisation du trafic réseau (log)

Toute bonne administration d’un serveur linux passe donc par la maîtrise d’iptables, et soyons honnêtes ce n’est pas un outil simple prendre en main. Comme souvent sur internet, on trouvera beaucoup trop de tuto qui sont soit mauvais soit simplistes, et dans tous les cas, on voit toujours trop de gens qui

  • pensent qu’ils n’ont pas besoin d’iptables puisque leur serveur fonctionne… pour le moment
  • débarquent sur les forum paniqués, leur serveur venant d’être hacké ou fermé car il a servi pour un DDoS

Pourtant, UFW propose une solution simple pour tous les débutants ou les plus flemmards qui n’ont pas envie de passer une journée à configurer/débuguer leur config iptables. Si la prise en main est aisée, UFW conserve la polyvalence d’iptables en permettant d’intégrer les règles les plus complexes.
Lire la suite

26 Avr

If it wasn’t backed-up, then it wasn’t important

Voici un script sympa que j’utilise pour faire des backups de mon système. rien de bien original et j’avoue m’être pas mal inspiré d’exemples divers sur internet. Je crois qu’on ne rappellera jamais la nécessité de réaliser des backups. Un jour ou l’autre, vous pouvez faire une fausse manip, ou tout simplement les disques durs de votre serveur seront morts (même en raid 1 ça arrive !) ou encore votre base de données sera irrémédiablement corrompue. Ce jour là, vous serez plus qu’heureux d’avoir mis en place un système de backup régulier. Mais avant de commencer, quelques pré-requis :

  • le rendre exécutable
  • installer ncftp: apt-get install ncftp sous debian
  • installer xz: apt-get install xz-utils sous debian
  • renseigner dedans les mots de passe et les paramètres ftp/mysql etc.

Lire la suite

26 Avr

Scripting – Bash – 101

Souvent, on peut être amené à récupérer des scripts sur internet et vouloir les faire tourner sur son serveur dédié. Par exemple celui-ci 🙂 Alors comment l’utiliser sur son serveur ?

C’est tout simple. Connectez-vous en ssh, éditez un fichier avec nano (ou vi) et copiez-collez le script dedans. Ensuite il ne vous reste plus qu’à le rendre exécutable grâce à un chmod a+x et c’est parti.

Alternativement, vous pouvez aussi copier/coller le script dans un éditeur comme notepad ++, enregistrer et uploader sur votre serveur le fichier ainsi obtenu grâce à un utilitaire comme FileZilla.
Si vous êtes sous Windows, vous risquez d’avoir des soucis, le formatage des fichiers étant différents entre les mondes Unix et Windows. Utilisez la commande dos2unix sous Debian/Redhat pour corriger ce problème.

Comme d’habitude, n’hésitez pas à tester le script d’abord sur une VM pour vous assurez de son bon fonctionnement.

26 Avr

Installer son Serveur TeamSpeak 3

Plus la peine de présenter Teamspeak. Il s’agit d’une plate-forme de communication très populaire. L’installation d’un serveur est gratuite si l’utilisation en est non commerciale dans une limite de 512 slots (voir « licence non-profit »). Bref, il y a de quoi faire et il ne reste plus qu’à l’installer sur son serveur dédié.
Lire la suite