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.
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.
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.
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.
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.
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…
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.
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.
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.
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 !