PHP 7 vient de sortir en décembre dernier et promet des gains importants de performance. La tentation étant trop forte, j’ai upgradé mon serveur durant le week-end. Et effectivement, sur WordPress, pas besoin de tests pour sentir la différence.
Le spam devient de plus en plus problématique sur mon WordPress, je viens de dépasser les 150 000 pour le seul mois de Juillet ! J’ai beau utiliser Akismet qui accompli un très beau travail, il a le défaut de laisser les spams 15 jours dans la catégorie indésirable avant de les effacer.
Bilan, ma base de données atteint la taille respectable de 350 Mo !! Lire la suite →
Mon blog n’a pas de grandes prétentions ni une audience importante. Malheureusement, il attire déjà les spammeurs en tout genre. Pour être tranquille, j’utilise Akismet, il se trouve être pas trop mal et gratuit (pour un usage personnel). Nous ne sommes que le 8 novembre mais Akismet a déjà intercepté 23 382 spams. Autant dire que je suis bien parti pour en recevoir 90 000 ce mois-ci, contre « seulement » 33 255 en octobre.
Malheureusement, vu le nombre de spams, je n’ai pas le temps de contrôler les éventuels faux-positifs !
Le pire dans cela est que si les spammeurs continuent, c’est qu’il doit bien se trouver des niais gens pour cliquer sur leurs liens. Pourtant, il serait quand même bon que tous soient conscients qu’acheter des génériques pas chers de viagra ou autres trouvés dans des spams est encore le plus sûr moyen, au mieux se faire arnaquer, au pire de s’empoisonner !
Cet article présente l’installation de GateOne, un client SSH écrit 100% en HTML5. Mais quel est l’intérêt? Deux cas de figures sont possibles.
1er cas, on se trouve dans un environnement restrictif, par exemple derrière un proxy avec authent ntlm qui ne laisse passer que le http/https, ou sur un windows sans possibilité d’installer un client SSH. GateOne ne requiert qu’un navigateur en html5 et une connexion https standard, pas besoin de plugin, jvm ou autre.
2ème cas, on souhaite permettre un accès externe à une zone privée (intranet, etc.) sans pour autant ouvrir les accès SSH à travers sa DMZ. On peut monter GateOne derrière un reverse proxy en frontal sans compromettre sa sécurité. Lire la suite →
Bien souvent, on souhaite disposer d’un serveur web exclusivement en https. Se pose alors le problème de gérer les requêtes http, généralement, on préfère une redirection en https. Lire la suite →
Je viens de tomber sur LoadImpact, un site sympa pour tester en charge son serveur web. La version gratuite mise à disposition est bien sûr limitée, mais elle permet déjà de se faire une idée. Le résultat complet est disponible en ligne et c’était l’occasion de voir la solidité de mes optimisations.
Malheureusement, sans s’enregistrer et/ou payer il n’est pas possible de monter la charge ou de mener des tests plus fins. Mais j’ai pu constater que :
le site encaisse sans soucis 50 clients actifs simultanés/li>
les temps de chargements des utilisateurs restent plats à 300ms
la charge cpu de Nginx et php-fpm (mesurée avec htop) n’a jamais dépassé 1%
Nginx peut donc certainement encore encaisser une charge très supérieure. Vu le trafic de mon blog, j’ai de quoi voir venir !
Quand on cherche à optimiser son site web, on se voit souvent conseiller d’utiliser des CDN de librairies JavaScript, par exemple Google Hosted Libraries. C’est une bonne idée, a priori, elles permettent :
de diminuer la charge sur son serveur
d’améliorer le temps de chargement pour les clients distants du serveur
avec un peu de chance, la librairie a déjà été chargée par le navigateur du client
C’est du moins la théorie. Dans la pratique, conserver les librairies sur son propre serveur permet d’être certain qu’elles seront toujours disponibles, en tous cas, au moins autant que son propre site. J’utilise HighCharts intensivement pour un autre WordPress et aujourd’hui mauvaise surprise, quelques uns de mes graphiques ne fonctionnaient plus… Après vérification du code, j’avais oublié de remplacer les url des libraires highcharts par celles hébergées sur mon serveur.
Je ne sais pas très bien pourquoi, mais l’url de la ligne 6 ne fonctionne plus depuis 2 jours (au moins) et renvoie le message d’erreur » The chart could not be found. » au lieu du JS. Et pourtant, cette url était utilisée par le site cloud.highcharts.com dans ses templates !
Bref, je ne suis pas en train de dire qu’il ne faut pas utiliser ces CDN de librairies. Comme toutes optimisations, elles ont leurs avantages et inconvénients, mais les utiliser à l’aveugle, sans s’être demandé si son site pouvait en bénéficier réellement, est absurde.
Comment configurer le serveur par défaut sous nginx surtout dans un environnement de « virtual host » ? Généralement, on attend de son serveur web le comportement suivant :
toutes les requêtes mal formatées sont récupérées par le serveur www.domaine.com
ces dernières sont alors ré-écrites en www.domaine.com (au lieu de 192.168.1.102 par ex.)
Opcache-status et Opcache-gui sont deux interfaces très pratiques pour superviser l’état de Zend Opcache. Elles permettent de mieux comprendre son fonctionnement et d’en améliorer le paramétrage. Elles sont toutes les deux assez similaires, à ceci près qu’Opcache-gui est un peu plus détaillée et permet de vider le cache, ce qui s’avère utile lors de tests.
Cet article présente l’installation de phpMyAdmin dans une zone d’administration sécurisée dont la base est présentée dans l’introduction de cette série. Est-ce la peine de présenter phpMyAdmin ? Il s’agit d’une interface web d’administration de ses bases de données MySQL. Elle permet d’exécuter, facilement et sans grandes connaissances, de nombreuses requêtes, d’effectuer la plupart des tâches administratives comme la sauvegarde/restauration des bases, etc.
La plupart des distributions linux (Debian, Ubuntu, Fedora, etc.) disposent du package, alors quel est l’intérêt d’installer depuis les sources ? Bien souvent, les versions fournies ne sont pas les plus à jours. De plus on ne maîtrise pas vraiment les répertoires d’installation et leur intégration dans l’architecture globale de son serveur web. rien ne remplace donc une installation customisée pour ses besoins. Lire la suite →