Author

Matt

Browsing
Matt est formateur, développeur expert WordPress et WooCommerce, et administrateur réseau chez Codeable.

Il y a quelques mois de cela, le site du Centre de Kriya Yoga France a eu droit à un léger rafraichissement de son style : un peu plus de lisibilité, moins de fonds colorés, un peu plus de finesse dans les traits.

C'était juste un petit coup de plumeau mais comme j'ai oublié de vous en parler, voici une petite capture d'écran :

kriyafrance-2014

Mais cette semaine, j'ai retroussé mes manches et suis totalement passé à l'offensive :

Note pour plus tard : si, lors de la prévisualisation d'un thème WordPress, rien ne s'affiche ou si la personnalisation (customizer) ne répond pas, c'est qu'un plugin met la zone au niveau du javascript. Dans mon cas, c'était pdf-js.

Without further ado, je suis assez content de vous présenter la version 4.0 :

kriyafrance-2015

Pas mal de changements mais je pense que cela en vaut vraiment le coup. Le site devenait vieillissant et n'était plus adapté aux smartphones et tablettes, et l'ancienne boutique (Cubecart) était une horreur à gérer.

Tout est beaucoup plus simple maintenant, avec de jolis graphiques pour les commandes, la gestion du stock... bref, c'est bien mieux pour moi à gérer et plus simple pour le CKYF.

Qu'en pensez-vous ?

Wordpress iconVoici deux requêtes SQL pour récupérer la liste des adresses email de tous les utilisateurs d'un site tournant sous WordPress.

Emails des membres

En supposant que le préfixe WordPress est 'wp_', cette requête extrait l'adresse email de chaque membre du site :

/* Query name : get members' emails
/* Author : Matt
/* Author URI : https://www.skyminds.net/
*/
SELECT DISTINCT user_email FROM wp_users GROUP BY user_email

Emails des commentateurs

Et cette requête extrait l'adresse email de chaque personne ayant commenté sur le site :

/* Query name : get commenter' emails
/* Author : Matt
/* Author URI : https://www.skyminds.net/
*/
SELECT DISTINCT comment_author_email FROM wp_comments WHERE comment_approved<>'spam' GROUP BY comment_author_email

Astuce SQL : la clause DISTINCT permet d'éviter d'avoir des doublons dans la liste.

Estás Tonné est russe (du temps où l'Ukraine appartenait à l'ex-URSS) et un guitariste virtuose qui gère très bien la guitare classique :

Troubadour des temps modernes, Estás Tonné parcourt le monde et s'inspire d'une multitude de références culturelles. Sa musique est une fusion de structures classiques, flamenco, musique tsigane et latine.

Sa musique est harmonieuse, toujours mélodique, pleine d'émotions.

Estás Tonné joue en concert, à des conférences, dans la rue, dans des festivals de yoga ou d'art mais est aussi engagé dans différents projets : cinéma, poésie, méditation... C'est un artiste au sens propre du terme.

Aujourd'hui, on va s'atteler à sécuriser le serveur de mail, géré par Postfix et Courier, pour utiliser notre certificat SSL et en ajoutant le Perfect Forward Secrecy.

Ce tutoriel part du principe que votre serveur tourne sous Debian et que vous avez suivi le tutoriel précédent sur Postfix avec gestion d'utilisateurs virtuels, c'est-à-dire que le serveur de mail doit déjà être opérationnel.

email-security

Vérification du fonctionnement du serveur de mail

On commence par vérifier que le serveur est capable d'envoyer des mails avec :

echo "test" | mail -s testsubject user@example.com

Si le mail est reçu, passez à l'étape suivante.

Configuration du certificat SSL

Nous allons concaténer la clé et le certificat pour Courier :

cd /etc/ssl
cat skyminds.net.key  skyminds_net.crt >> courier-key-crt-dh.pem

et on va y inclure un échange de clés Diffie-Hellman :

openssl dhparam 2048 >> courier-key-crt-dh.pem

On ajoute une autre clé DH en 2048 bits:

openssl gendh -out /etc/postfix/dh_2048.pem -2 2048

L'échange de clés Diffie-Hellman - du nom de ses auteurs Whitfield Diffie et Martin Hellman - est une méthode par laquelle deux personnes nommées conventionnellement Alice et Bob peuvent se mettre d'accord sur un nombre (qu'ils peuvent utiliser comme clé pour chiffrer la conversation suivante) sans qu'une troisième personne appelée Ève puisse découvrir le nombre, même en ayant écouté tous leurs échanges. Cela sécurise un peu plus l'échange.

Sommaire de la série Monter un serveur dédié de A à Z

  1. Serveur dédié : installation d'Apache, PHP, MySQL et Webmin
  2. Serveur dédié : créer la base de données MySQL et importer WordPress
  3. Serveur dédié : créer et activer un Virtual Host sous Apache
  4. Serveur dédié : changer les DNS du nom de domaine et le faire pointer vers le serveur
  5. Serveur dédié : sécurisation des services avec iptables et fail2ban
  6. Serveur dédié : sécurisation de la couche TCP/IP
  7. Serveur dédié : création d'un serveur mail Postfix (sécurisé avec Saslauthd et certificat SSL) et Courier (accès POP et IMAP) utilisant une base MySQL d'utilisateurs/domaines virtuels
  8. Serveur dédié : sécuriser Apache 2 avec ModSecurity
  9. Serveur dédié : CHMOD récursif sur des fichiers ou répertoires en ligne de commande
  10. Serveur dédié : installer APC comme système de cache et configurer Varnish comme reverse-proxy pour Apache pour améliorer les performances
  11. Serveur dédié : afficher la véritable IP derrière un reverse-proxy comme Varnish
  12. Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes
  13. Serveur dédié : installer la dernière version d'APC par SVN
  14. Serveur dédié : analyse des performances du serveur
  15. Serveur dédié : mettre à jour le noyau Debian de la Kimsufi
  16. Serveur dédié : sauvegarde automatique des fichiers avec Backup Manager sur le serveur de sauvegarde OVH
  17. Serveur dédié : configurer la limite mémoire pour PHP et Suhosin
  18. Bash : supprimer tous les fichiers et sous-répertoires d'un répertoire
  19. Serveur dédié : impossible de se connecter à un port distant
  20. Rsync: rapatrier les fichiers du serveur à la maison
  21. Bash : réparer les tables MySQL en cas de crash
  22. Serveur dédié : création d'une seedbox avec Transmission
  23. Serveur dédié : des paquets LAMP à jour sous Debian
  24. Serveur dédié : mise à jour vers Debian 7 Wheezy
  25. Serveur dédié : activer X11 forwarding pour SSH
  26. Serveur dédié : optimiser toutes les images JPG et PNG avec OptiPNG et JpegOptim
  27. Postfix : résoudre l'erreur "fatal: www-data(33): message file too big"
  28. Serveur dédié : mise en place de l'IPv6
  29. WordPress : accorder les bonnes permissions aux fichiers et dossiers avec chown et chmod
  30. WordPress : héberger les images sur un sous-domaine
  31. Serveur dédié : ajouter l'authentification SPF, Sender-ID et DKIM à Postfix et Bind9 avec opendkim
  32. Apache : lorsque le domaine seul (sans WWW) renvoie une erreur 403
  33. Serveur dédié : sécuriser Apache avec HTTPS (HTTP avec la couche TLS/SSL) en Perfect Forward Secrecy
  34. Serveur dédié : passer WordPress en HTTPS (TLS/SSL)
  35. Serveur dédié : configurer Webmin en TLS avec un certificat SSL
  36. Serveur dédié : configurer Transmission pour accéder au WebUI via TLS-SSL
  37. Serveur dédié : installer et configurer Varnish 4
  38. Serveur dédié : passage au mod FastCGI et PHP-FPM avec Apache MPM Worker
  39. J'ai planté le serveur... ou comment récupérer un serveur Kimsufi après un plantage de kernel avec le mode rescue OVH
  40. Serveur dédié : configurer Postfix et Courier pour utiliser TLS-SSL en Perfect Forward Secrecy
  41. Serveur dédié : retirer Varnish, devenu inutile avec HTTPS
  42. Serveur dédié : ajout de mod_spdy pour accélérer la connexion TLS-SSL sous Apache
  43. Serveur dédié : installer la dernière version d'OpenSSL sous Debian
  44. Serveur dédié : activer l'IP canonique du serveur sous Apache
  45. Serveur dédié : mise à jour vers PHP 5.6
  46. MySQL : convertir les tables MyISAM au format InnoDB
  47. Serveur dédié : optimiser toutes les images GIF avec GIFsicle
  48. Serveur dédié : migration de MySQL vers MariaDB
  49. BASH : lister, bloquer et débloquer des adresses IP avec iptables
  50. Serveur dédié : produire une meilleure réserve d'entropie avec haveged
  51. Serveur dédié : mettre en place DNSSEC pour sécuriser les DNS du domaine
  52. Serveur dédié : mise en place du protocole DANE
  53. 8 règles d'or pour bien déployer DNSSEC et DANE
  54. Serveur dédié : installer PHP7 FPM avec FastCGI sous Debian
  55. Serveur dédié : réduire les connexions TIME_WAIT des sockets et optimiser TCP
  56. Fail2Ban: protéger Postfix contre les attaques DoS de types AUTH, UNKNOWN et EHLO
  57. Serveur dédié : mettre à jour Apache et configurer le mod_http2 pour HTTP/2
  58. Serveur dédié : ajouter le domaine à la liste HSTS preload
  59. Serveur dédié : ajouter l'authentification DMARC à Postfix et BIND
  60. Serveur dédié : à la recherche de l'inode perdue ou comment résoudre le problème "no space left on device"
  61. Serveur dédié : installer NginX avec support HTTP2 et certificat SSL, PHP, MariaDB sous Debian

Diego Stocco est un hacker musicien plutôt original : en récupérant le clavier d'un piano démembré qui traînait dans son jardin, il a décidé d'en créer un nouvel instrument avec d'autres pièces d'instruments qu'il possédait.

Le résultat est cet instrument mécanique hybride qui porte le doux nom de "Bassoforte" (contraction de "basse" et "pianoforte").

Le son qui s'en dégage est plutôt génial :

Le manche vient d'une basse électrique hors d'usage, les micros viennent d'une guitare, la partie haute métallique est une partie de chapeau de cheminée qui sert de résonateur et pour la percussion.

Une vrai musique de western futuriste!

sshAu cours de mes errements avec le mode rescue, j'ai été obligé de m'identifier sur le serveur avec des identifiants temporaires différents de ceux que j'utilise habituellement.

J'ai retiré la clé habituelle, ajouté la nouvelle (celle du mode rescue), et maintenant, de retour sur ma session habituelle, SSH se plaint - à juste titre - que l'empreinte de la clé RSA du serveur a changé.

Problème : la clé RSA du serveur a changé

Dans ma précipitation à vouloir tout réparer, j'ai ajouté les identifiants temporaires de manière permanente au fichier /home/matt/.ssh/known_hosts.

Et, bien sûr, dès que j'ai voulu me connecter, j'ai obtenu ce message d'erreur :

Warning: the RSA host key for 'hostname' differs from the key for the IP address 'xxx.xxx.xxx.xxx'
Offending key for IP in /home/matt/.ssh/known_hosts:16
Matching host key in /home/matt/.ssh/known_hosts:11
Are you sure you want to continue connecting (yes/no)? 

(Avec un peu de retard) et après des vacances fort reposantes, voici les quelques derniers ajouts et améliorations du site :

  1. [+] WordPress : transformation des pages en articles. Avec la suppression des dates dans les URLs (link), il n'y a plus aucune raison d'avoir du contenu dans des pages. Le site passe donc de 230 pages à... seulement douze. Je garde juste les pages institutionnelles : contact, à propos etc. Un plugin m'a beaucoup aidé : Vice Versa.
  2. [+] WordPress : réorganisation des contenus du site : les catégories Misc (catégorie un peu fouillis) et Classics (articles marquants) ont été fondues dans Blog. Les anciennes pages ont été ajoutées à de nouvelles catégories : Anglo-American Civilisation regroupe les pages Civilisation et Politics; Littérature les pages American Literature, English Literature, Literatura Española et Littérature. Les articles Economie et Sociologie se retrouvent logiquement dans la catégorie Economie-Sociologie et les articles relatifs à la pédagogie ont été placés, faute de mieux, dans Boulot. Un jour, je trouverai un nom correct pour cette dernière catégorie mais je reste à cours d'idée.
  3. [+] WordPress : remplacement du menu : à la base fait à la main, il utilise maintenant les menus natifs de WordPress.
  4. [*] CSS : quelques modifications pour le nouveau menu.

Prochain changelog en décembre pour les changements automne-hiver !

J'ai lamentablement fait planter le serveur en voulant mettre le kernel à jour...

Heureusement, il existe le mode rescue chez OVH qui permet d'installer un linux provisoire sur le serveur et d'initier une connexion SSH pour que l'on puisse réparer le système.

lifesaver

Si jamais cela vous arrive, voici la marche à suivre.

Passage en mode rescue depuis le manager OVH

1. Aller sur le manager OVH > Dedicated > Infrastructure > clic sur votre serveur > clic sur l'onglet Server Status. Vous obtenez quelque chose comme :

System (OS) : Debian 6.0 oldstable LTS (Squeeze)
Boot :   hd (Boot from hard drive (no netboot)) 

2. Nous allons temporairement booter en mode rescue donc cliquez sur Modifier. Vous obtenez cet écran :
ovh-rescue-mode-boot

Sélectionnez Boot on rescue mode puis rescue-pro. On vous demande de confirmer :
ovh-rescue-mode-boot-confirm

3. Confirmez. La fenêtre se ferme. Dans le manager, en haut à droite, cliquez sur Restart pour redémarrer votre serveur.

Sommaire de la série Monter un serveur dédié de A à Z

  1. Serveur dédié : installation d'Apache, PHP, MySQL et Webmin
  2. Serveur dédié : créer la base de données MySQL et importer WordPress
  3. Serveur dédié : créer et activer un Virtual Host sous Apache
  4. Serveur dédié : changer les DNS du nom de domaine et le faire pointer vers le serveur
  5. Serveur dédié : sécurisation des services avec iptables et fail2ban
  6. Serveur dédié : sécurisation de la couche TCP/IP
  7. Serveur dédié : création d'un serveur mail Postfix (sécurisé avec Saslauthd et certificat SSL) et Courier (accès POP et IMAP) utilisant une base MySQL d'utilisateurs/domaines virtuels
  8. Serveur dédié : sécuriser Apache 2 avec ModSecurity
  9. Serveur dédié : CHMOD récursif sur des fichiers ou répertoires en ligne de commande
  10. Serveur dédié : installer APC comme système de cache et configurer Varnish comme reverse-proxy pour Apache pour améliorer les performances
  11. Serveur dédié : afficher la véritable IP derrière un reverse-proxy comme Varnish
  12. Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes
  13. Serveur dédié : installer la dernière version d'APC par SVN
  14. Serveur dédié : analyse des performances du serveur
  15. Serveur dédié : mettre à jour le noyau Debian de la Kimsufi
  16. Serveur dédié : sauvegarde automatique des fichiers avec Backup Manager sur le serveur de sauvegarde OVH
  17. Serveur dédié : configurer la limite mémoire pour PHP et Suhosin
  18. Bash : supprimer tous les fichiers et sous-répertoires d'un répertoire
  19. Serveur dédié : impossible de se connecter à un port distant
  20. Rsync: rapatrier les fichiers du serveur à la maison
  21. Bash : réparer les tables MySQL en cas de crash
  22. Serveur dédié : création d'une seedbox avec Transmission
  23. Serveur dédié : des paquets LAMP à jour sous Debian
  24. Serveur dédié : mise à jour vers Debian 7 Wheezy
  25. Serveur dédié : activer X11 forwarding pour SSH
  26. Serveur dédié : optimiser toutes les images JPG et PNG avec OptiPNG et JpegOptim
  27. Postfix : résoudre l'erreur "fatal: www-data(33): message file too big"
  28. Serveur dédié : mise en place de l'IPv6
  29. WordPress : accorder les bonnes permissions aux fichiers et dossiers avec chown et chmod
  30. WordPress : héberger les images sur un sous-domaine
  31. Serveur dédié : ajouter l'authentification SPF, Sender-ID et DKIM à Postfix et Bind9 avec opendkim
  32. Apache : lorsque le domaine seul (sans WWW) renvoie une erreur 403
  33. Serveur dédié : sécuriser Apache avec HTTPS (HTTP avec la couche TLS/SSL) en Perfect Forward Secrecy
  34. Serveur dédié : passer WordPress en HTTPS (TLS/SSL)
  35. Serveur dédié : configurer Webmin en TLS avec un certificat SSL
  36. Serveur dédié : configurer Transmission pour accéder au WebUI via TLS-SSL
  37. Serveur dédié : installer et configurer Varnish 4
  38. Serveur dédié : passage au mod FastCGI et PHP-FPM avec Apache MPM Worker
  39. J'ai planté le serveur... ou comment récupérer un serveur Kimsufi après un plantage de kernel avec le mode rescue OVH
  40. Serveur dédié : configurer Postfix et Courier pour utiliser TLS-SSL en Perfect Forward Secrecy
  41. Serveur dédié : retirer Varnish, devenu inutile avec HTTPS
  42. Serveur dédié : ajout de mod_spdy pour accélérer la connexion TLS-SSL sous Apache
  43. Serveur dédié : installer la dernière version d'OpenSSL sous Debian
  44. Serveur dédié : activer l'IP canonique du serveur sous Apache
  45. Serveur dédié : mise à jour vers PHP 5.6
  46. MySQL : convertir les tables MyISAM au format InnoDB
  47. Serveur dédié : optimiser toutes les images GIF avec GIFsicle
  48. Serveur dédié : migration de MySQL vers MariaDB
  49. BASH : lister, bloquer et débloquer des adresses IP avec iptables
  50. Serveur dédié : produire une meilleure réserve d'entropie avec haveged
  51. Serveur dédié : mettre en place DNSSEC pour sécuriser les DNS du domaine
  52. Serveur dédié : mise en place du protocole DANE
  53. 8 règles d'or pour bien déployer DNSSEC et DANE
  54. Serveur dédié : installer PHP7 FPM avec FastCGI sous Debian
  55. Serveur dédié : réduire les connexions TIME_WAIT des sockets et optimiser TCP
  56. Fail2Ban: protéger Postfix contre les attaques DoS de types AUTH, UNKNOWN et EHLO
  57. Serveur dédié : mettre à jour Apache et configurer le mod_http2 pour HTTP/2
  58. Serveur dédié : ajouter le domaine à la liste HSTS preload
  59. Serveur dédié : ajouter l'authentification DMARC à Postfix et BIND
  60. Serveur dédié : à la recherche de l'inode perdue ou comment résoudre le problème "no space left on device"
  61. Serveur dédié : installer NginX avec support HTTP2 et certificat SSL, PHP, MariaDB sous Debian

Eric Clapton a écrit la chanson "Why Does Love Got To Be So Sad?" en Angleterre avec Bobby Whitlock.

Tout l'album, Layla And Other Assorted Love Songs (1970), parle d'amour non-partagé. C'est inspiré par la femme de George Harrison, Pattie, avec qui Eric Clapton entretenait une liaison. Cela le tourmentait parce qu'il était ami avec George.

Plus tard, Clapton and Pattie ont vécu ensemble puis se sont mariés. George n'a jamais été vraiment atteint et tous deux sont restés amis. Finalement, Pattie et Eric ont divorcé et Pattie s'est remarié avec quelqu'un qui ne jouait pas de la guitare.

J'ai toujours rêvé d'une imprimante d'étiquettes - principalement parce que j'ai la flemme de toujours rechercher sur Google les mêmes adresses parce que je n'ai pas de carnet d'adresse à jour, mais aussi parce que cela fait plus professionnel pour les gens qui reçoivent mes missives.

Après une petite visite sur Amazon, je découvre l'imprimante d'étiquette Brother QL-710W, qui en plus bénéficie d'une offre de remboursement de 50 euros jusqu'à fin décembre 2014. Je me dis que cela pourrait être cool, surtout qu'elle est USB et WiFi.

brother-ql710wCommandée, reçue le lendemain, déballée, branchée en USB, je me penche maintenant sur la configuration sous Linux.

Installation en USB

Alors, sous Ubuntu, l'imprimante s'installe toute seule. Par contre, sous certaines versions Linux (Linux Mint ou Debian par exemple), il va falloir passer en manuel, en ligne de commandes dans le terminal. C'est parti :

  1. on branche l'imprimante en USB et on l'allume.
  2. on se rend sur la page des pilotes linux de la Brother QL-710W et on y télécharge les deux fichiers suivants : LPR printer driver et CUPSwrapper printer driver.

    Pour référence : la liste de tous les drivers Linux pour les imprimantes Brother.

  3. en voulant lancer l'installation des paquets comme indiqué sur la page du support Brother, j'ai été confronté aux erreurs suivantes :
    mkdir: impossible de creer le repertoire "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type
    chown: impossible d'acceder à "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type
    chgrp: impossible d'acceder à "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type
    chmod: impossible d'acceder à "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type

    ce qui signifie tout simplement que le répertoire /var/spool/lpd n'existe pas. On s'en assure :

    file /var/spool/lpd

    résultat :

    /var/spool/lpd: ERROR: cannot open `/var/spool/lpd' (No such file or directory)

    donc on le crée :

    sudo mkdir -p /var/spool/lpd
  4. ensuite, on installe nos deux paquets :
    sudo dpkg -i --force-architecture ql710wlpr-1.0.1-1.i386.deb
    sudo dpkg -i --force-architecture ql710wcupswrapper-1.0.1-1.i386.deb

    Plus d'erreurs, on continue et on vérifie que les pilotes ont été installés et chargés :

    dpkg -l | grep Brother

    retourne :

    ii  printer-driver-ptouch     1.3-3ubuntu0.1     printer driver Brother P-touch label printers
    ii  ql710wcupswrapper:i386     1.0.1-1     Brother CUPS PTouch Printer Definitions
    ii  ql710wlpr:i386     1.0.1-1     Brother lpr Ptouch Printer Definitions
  5. à ce stade l'imprimante est quasiment installée, il suffit de se rendre sur la page d'administration de CUPS, à l'adresse http://localhost:631 et de cliquer sur Admin > Add Printer > Local Printer et on se laisse guider.

Voici la troisième saison de Bad Education sur BBC3.

bad-education-s3

Créée par Jack Whitehall qui tient également le premier rôle, cette comédie se centre sur Alfie Wickers, un professeur d’histoire à l’Abbey Grove School qui est aussi immature que ses élèves.

C'est le dernier trimestre de l'année avant les vacances d'été et Alfie Wickers revient motivé des vacances de Pâques pour amener sa classe à l'examen.

Néanmoins, Alfie est choqué d'apprendre que son père, Martin Wickers, a été nommé principal adjoint. Ses premières actions sont d'augmenter les effectifs des classes et de licencier un des membres de la communauté éducative pour avoir investi l'argent de l'école pour sa garde-robe personnelle, Dolce and GaBanter.

Pour Alfie, cela signifie l'arrivée d'une nouvelle élève, Cleopatra, et une dure décision à prendre : appuyer la position de sa petite amie, Miss Gulliver, lorsqu'elle lance un piquet de grève ou se sacrifier pour sauver sa classe de l'échec aux examens.

Rapport de faute d’orthographe

Le texte suivant sera envoyé à nos rédacteurs :