#Serveur

Laisser un commentaire

Maîtriser les variables d'environnement

Les variables d’environnements sont des variables du système accessibles à tous les programmes. Elles contiennent par exemple l’adresse et les credentials de la base de données, l’adresse du serveur de fichiers… Ces variables rendent aisé l’accès à l’information par différents programmes potentiellement codés dans différents langages, remplaçant ainsi avantageusement les fichiers de config.

Le Twelve-Factor App, dans son chapitre sur la configuration, recommande d’ailleurs l’usage des variables d’environnent plutôt que des fichiers de configuration. Cela permet clairement de séparer la configuration du code de l’application, et facilite la gestion des différents environnements (développement, staging, production…).

Voyons donc comment tirer profit de ce système en apprenant à configurer ces variables sur les serveurs Linux.

Laisser un commentaire

PHP-FPM: remédier à server reached pm.max_children

Contrairement à d’autres modèles d’intégration de PHP aux serveurs web, PHP-FPM est un dæmon qui tourne indépendamment du serveur. Il est lancé par le système d’initialisation de l’OS et communique par la suite avec le serveur web via FastCGI.

Laisser un commentaire

Utiliser WebP pour gagner en performances

WebP est un format d’image développé par Google spécialement pour le web et sorti en 2010. Comme il propose à la fois des compressions avec et sans perte de qualité, il est tout indiqué pour se substituer aussi bien au png qu’au jpeg.

Jusqu’alors, seul Google Chrome supportait WebP. Malgré l’importante part de marché du navigateur, cela restait limité. Cependant, à partir de 2019, Firefox et Edge vont à leur tour ajouter le support des images WebP. On pourra donc réellement parler d’un standard.

Dès lors, comme il autorise des fichiers de 20 à 80% plus légers, voyons comment convertir et servir nos images afin de proposer une expérience plus rapide à nos visiteurs – tout en leur faisant économiser de la bande passante.

Laisser un commentaire

Certbot: challenge DNS OVH & wildcard

Certbot est l’outil de l’EFF qui permet d’automatiser la génération de certificats TLS Letsencrypt. L’outil dispose de plusieurs méthodes – appellées challenges – permettant de valider que vous contrôlez bien le domaine. Cependant, seule la méthode DNS permet de générer des certificats wildcard. Voyons comment la mettre en place avec OVH.

Laisser un commentaire

Apache & Nginx : servir des fichiers sans extension

Les pretty urls comme on les appelles communément, consistent à faire abstraction de l’extension des fichiers dans les urls. Ainsi, https://buzut.net/a-propos.html se transforme en https://buzut.net/a-propos. C’est plus court, c’est plus clean, c’est plus SEO, bref, c’est plus mieux. Voyons comment faire cela avec les serveurs les plus courants : Apache2 et Nginx.

Laisser un commentaire

SSH : Connection closed by x et Could not load host key

Ce matin, alors que je viens de finir l’installation d’un VPS, après reboot, j’ai une erreur Connection closed by x.x.x.x lorsque je tente de me connecter à la machine en SSH. Bizarre…

Laisser un commentaire

Les répertoires & points de montages Linux en 2/2

Petit quickie sur les points de montages de Linux et leur utilité. On se retrouve en effet souvent désemparé face aux nombreux répertoires et à leur utilité. Où placer tel binaire, où mettre tel script. Tentons de répondre rapidement à cette question.

Laisser un commentaire

Synthèse des commandes SFTP en CLI

Je sais bien que la plupart du temps, vous utilisez un client graphique pour ce genre d’activité… surement FileZilla même. Mais pour une raison x ou y – ou tout simplement pour le plaisir de jouer le barbu – il arrive un jour où vous devez vous connectez en SFTP en ligne de commande. Rien de bien complexe rassurez-vous. Voyons rapidement comment s’en sortir.

Laisser un commentaire

Tirer toute la puissance d'Ansible avec les rôles

Ansible est absolument génial. Il permet d’automatiser l’installation et la maintenance de machines et d’infrastructures complètes. J’ai déjà consacré un article à la prise en main d’Ansible, nous nous concentrerons ici sur les rôles.

Les rôles représentent une manière d’abstraire les directives includes. C’est en quelque sorte une couche d’abstraction. Grâce aux rôles, il n’est plus utile de préciser les divers includes dans le playbook, ni les paths des fichiers de variables etc. Le playbook n’a qu’à lister les différents rôles à appliquer et le tour est joué !

En outre, depuis les tasks du rôle, l’ensemble des chemins sont relatifs. Inutile donc de préciser l’intégralité du path lors d’un copy, template ou d’une tâche. Le nom du fichier suffit, Ansible s’occupe du reste.

Laisser un commentaire

Optimiser les performances de MySQL

Les bases de données SQL et plus particulièrement MySQL restent une des pierres angulaires de l’immense majorité des sites internet. MySQL fonctionne très bien out of the box, cependant, dès que la base se trouve assez sollicitée, on s’aperçoit que les réglages par défaut méritent une petite optimisation. Jetons un œil à tout ça !