Cette section regroupe un ensemble de notes, ou recettes auxquelles je peux me référer plus ou moins régulièrement, l'idée étant de les rendre publiques, pour le cas où elles pourraient servir à d'autres.
Concernant mes notes sur l'installation et l'entretien d'un serveur, ma configuration de prédilection est clairement celle d'un serveur Debian/Ubuntu nu, on trouve de petits serveurs dédiés notamment chez DigitalOcean, ScaleWay ou simplement OVH pour quelques euros par mois, sans engagement.
Les vieux articles sont dans la section Archives
Apache
La plupart des sites se contentent d'un domaine en www.monsite.com, d'autres (dont moi-même) multiplient les sous-domaines à tort et à travers; et trouvent que déclarer chaque sous-domaine dans la zone DNS puis dans les VHosts Apache c'est très fatiguant, et puis il faut attendre la propagation de la zone, bref c'est d'un ennui mortel. Heureusement, il y a les wildcards, aussi bien côté DNS que c
Apache intègre un petit module de monitoring qui permet de suivre les requêtes en cours, la charge du serveur et toute cette sorte de choses. Le module en question est implémenté comme un classique module Apache 'mod_status', qu'on trouvera matérialisé dans /etc/apache2/mods-available sous deux fichiers 'mod_status.load' et 'mod_status.conf'. On l'activera par la commande a2enmod mais il se trouv
Supposons que j'aie monté un petit serveur http NodeJS qui tourne sur le port 8080, bien. Maintenant, j'aimerais pouvoir l'appeler via un sous-domaine de mon site sous Apache, par exemple 'test.riffzone.net'. Côté Apache, on a besoin de deux modules, 'proxy' et 'proxy_http'. On les installe comme suit:
Pour réaliser un module Apache, le plus simple est de créer un module dynamique (DSO, pour Dynamic Shared Object), un poil moins efficace qu'un module statique mais pour la phase de mise au point c'est tout de même largement plus cool, et je dirais même pour la suite, plus facile à installer; tout ça reste au final une question de goût. Notre principal outil sera l'utilitaire Apxs (Apxs2 pour Apa
L'exécution de scripts PHP à l'intérieur de pages HTML, c'est très pratique, c'est d'ailleurs la finalité historique de ce langage. On peut profiter du même fonctionnement avec Python, à condition d'activer les Python Server Pages dans Apache. La plupart des tutoriaux montreront comment les activer depuis un vhost ou un htaccess, voisi comment les activer globalement au niveau d'Apache. Tout d'ab
LAMP
Notre serveur Debian peut crasher, et de manière irrécupérable. Shit happens. Si vous n'avez pas une arborescence d'une centaine de Gigas de petits fichiers à sauvegarder, alors l'utilitaire sitecopy est une solution plutôt pratique que j'utilise régulièrement. Son principal défaut est de maintenir l'état des fichiers sauvegardés dans un fichier xml, ce qui est de la dernière crétinerie puisque c
Quel que soit votre hébergeur (éventuellement vous-même, avec un vieux PC reconverti), je supposerai par la suite que vous avez installé une distribution Debian nue, sans aucun logiciel autre que le système de base. Une partie des sections ci-dessous est optionnelle, suivant vos besoins.
Les sauvegardes, c'est important. Je ne m'étendrai pas ici sur les différents systèmes existants, mais sur le cas particulier des sauvegardes de bases MySQL vers un répertoire local du serveur, lequel sera sauvegardé ainsi que les autres répertoires de fichiers plats. Le cahier des charges est le suivant: Exporter chaque nuit à heure fixe l'intégralité des bases du serveur vers un répertoire défi
En cette année 2016, PHP 7 a un peu de mal à se faire une place, et pour cause. Debian est clairement à la traine sur le sujet, et la plupart des tutos en ligne expliquent surtout comment installer un PHP 5.6 avec les dernières distributions mais la version 7 semble garder un statut de paria. Dans le même temps, l'Ubuntu Xenial (LTS) propose PHP 7 par défaut donc allons-y, je pense avoir isolé le
On trouvera ici le modus operandi le plus simple pour installer sans soucis un serveur LAMP sous Ubuntu Focal Fossa avec PHP 7 et PHPMyAdmin. Pour installer Apache, PHP (en version 7 par défaut) et le module Apache pour PHP:
Sans vouloir être plus mauvaise langue que d'habitude, inviter WordPress sur son serveur l'expose à un tas de problèmes, qu'ils soient liés ou non à des attaques extérieures. Passer de zéro plantages à un par semaine laisse pour le moins perplexe. Quelle que soit la cause, au final, on peut vouloir faire surveiller son MySQL par un superviseur indépendant, lequel le relancera si besoin; différent
Linux
On a parfois besoin d'une référence rapide concernant certaines commandes utiles, notamment en cas de panique. Disque système qui déborde, processus bloqués, les cas ne manquent pas.
Pour des besoins particuliers, tel qu'un serveur de tracking, une architecture Apache/PHP/MySQL peut vite atteindre ses limites. Un serveur plus simple en Go peut suffire, retourner un pixel en enregistrant toutes les requêtes ne demande pas une sophistication extraordinaire. Nous partirons d'un serveur Debian nu, notamment sans Apache ou équivalent. Commençons par installer Go:
Apache, c'est super. Les services NodeJS aussi, ou bien en GoLang, tant qu'on y est. Mais tout ce petit monde ne peut pas naturellement cohabiter sur le port 80, à moins de passer par un proxy qui traduira des (sous-)domaines différents en autant de ports locaux (pas le port 80, réservé au proxy). C'est ce que nous allons faire ici avec HAProxy. Apache en 8080 pour tous les domaines par défaut, Go
Une seule adresse, Rufus: J'en ai testé d'autres avant de tomber sur le bon, Rufus m'a spontanément signalé des fichiers qui manquaient pour rendre vraiment ma clé USB bootable, me proposant de les télécharger lui-même sans plus de formalités. Le truc est gratuit et même open-source, que du bon.
Inutile de débattre de l'utilité ou non d'un tel composant, on peut ne jamais en avoir besoin tout comme s'apercevoir un jour que tiens, on a été blacklisté sur telle RBL et que nos mails sortants n'arrivent plus à destination. Voyons comment installer et utiliser l'outil "Linux Malware Detect" proposé par R-fx Networks. L'adresse du projet est: https://www.rfxn.com/projects/linux-malware-detect
Un serveur FTP, on en a encore besoin assez couramment, que ce soit pour WordPress ou bien sitecopy. Nous allons donc voir les étapes nécessaires à l'installation d'un serveur PureFTPd, avec définition des comptes dans une base MySQL, pour ne pas avoir à les créer au niveau système. L'installtion du moteur proprement dit est triviale:
Prenons le cas de deux serveurs linux, un serveur "sandbox.riffzone.net" que je veux automatiquement sauvegarder sur un second serveur "carbon.riffzone.net". Sur carbon.riffzone.net, j'installe d'abord rsync:
Depuis quelque temps, les clients FTP commencent à s'émouvoir de ce qu'on ne gère pas les connexions FTP sécurisées sur un serveur, voyons donc comment ajouter une couche SSL à PureFTPd, dont on a vu l'installation dans un précédent article.
Pas de clé SSH, mais l'utilitaire sshpass, méthode donc à utiliser ponctuellement pour un besoin unique, quick & dirty. Commande lancée sur le serveur DESTINATION:
WxWidgets
Documentation
Flexboxes
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
http://flexbox.malven.co
HTML Entities
https://dev.w3.org/html5/html-author/charref
Outils
Pixlr
https://pixlr.com
Composants
WkHTMLToPDF
https://wkhtmltopdf.org
API Tester
https://apitester.com
Lightbox
http://highslide.com
Sélecteur de couleurs
https://htmlcolorcodes.com/fr/selecteur-de-couleur
Sélecteur d'emojis
https://getemoji.com
Disclaimer
Je n'apporte aucune garantie d'aucune sorte sur le bon fonctionnement ou l'adéquation à votre problème ou configuration, les informations données ici le sont en l'état et à titre essentiellement didactique, même si un feedback est toujours le bienvenu. En particulier, si l'utilisation du contenu de ces pages devait provoquer l'incendie de votre disque dur, de votre maison, un débarquement d'aliens ou le prochain conflit thermonucléaire global, je ne saurais en être tenu responsable, merci.