Le titre de l’article est mensonger. Je ne vais pas détailler, la procédure pour installer Let’s Encrypt, car c’est très bien fait sur cette page :

https://www.human-geek.com/installer-lets-encrypt-sur-un-vps-ovh/

Rapide résumé (pour comprendre allez voir le tuto sur human-geek.com)

Et arrivé à ce point vous devriez avoir le choix du ou des domaines pour activer le https… oui mais pas chez moi, rien du tout, il me propose de les ajouter à la main et après ça plante !

PAS DE PANIQUE

Voici les 4 erreurs que j’ai rencontré en installant Let’s Encrypt:

 

1 . Le port 443 doit être libre

Si vous avez configuré votre accès SSH sur le port 443… et bien retour sur le port 22 obligatoire.

Le 443 doit être disponible sous peine de ne pas comprendre pourquoi le script bug.

 

2 . Let’s Encrypt ne trouve pas les noms de domaine

Le virtual host d’Apache est en cause, même ma super config plante à ce stade.

Les régles à respecter pour que ça marche :

  1. Un seul nom de domaine par fichier de configuration /etc/apache2/sites-available/
  2. Pour voir votre nom de domaine proposé avec et sans le www il faut commencé la config ainsi :

    Dans mon tuto sur la configuration d’un virtual host avec gestion automatique des sous domaines, j’ai besoin de cette ligne :

    Aucun soucis, les ServerAlias sont cumulables, donc :

Vous pouvez maintenant relancer le script :

Et reprendre le tuto sur human-geek.com

En cas de pépins, revenez ici.

 

3 . Firefox m’affiche un avertissement concernant du contenu mixte et bloque certains éléments

Comme détaillé sur la page officielle : Le blocage du contenu mixte avec Firefox

Simple, il y a dans votre code source au moins un lien en http:// au lieu de https://

Une bibliothèque javascript importé depuis un serveur ou comme moi cette balise :

Balise qui réglé le problème d’arborescence factise de l’url rewriting.

Il faut tout simplement ajouter un s à la fin du http :

Et Firefox affichera votre page https sans soucis !

 

4 . C’est bien joli mon gars, mais ta super config de la mort ne fonctionne plus

Crotte, vous vous souvenez du tuto : VirtualHost et nom de domaines sur un VPS OVH, ben ça déconne à plein gaz maintenant !

La raison, Let’s Encrypt ajoute quelques lignes dans vos virtual host dans /etc/apache2/sites-available/

A la toute fin, juste avant </VirtualHost> , vous pourrez voir ceci :

Sauf que pour la peine nos règles de ré-écriture avant sont ignorées, il faut donc déplacer les lignes ci-dessus juste en dessous de RewriteEngine on, exemple :

 

Cet article est particulièrement intéressant pour les petites dotation en RAM comme le Raspberry Pi.
Car oui, 1Go en 2016 c’est tout petit. Alors pour votre vieux netbook ou votre framboise, zRAM va vous aider.

Car zRAM (anciennement compcache) va compresser votre RAM et gérer une zone de SWAP dans la RAM. Il y a une petite perte de temps pour la compression qu’il faut relativiser avec le temps perdu en lecture/écriture d’une zone de SWAP classique sur un disque dur ou une clé usb (en usb 2 pour le pi)

J’ai testé sur le Pi 3 avec Ubuntu Mate :

  1. Pas de SWAP, (par défaut) petit freeze avec plusieurs logiciels lancés
  2. SWAP sur clé USB, l’écran ne freeze plus
  3. Zram, l’écran ne freeze plus et l’on gagne un peu plus en réactivité

La solution zRAM est pour moi de loin la meilleure, car donnant plus de souffle. Le premier lancement reste un peu long (identique à la distribution sans swap) par contre les lancements suivants dans la même session sont plus rapides.

Sous Ubuntu

Se fier à l’article de la doc Ubuntu : https://doc.ubuntu-fr.org/zram
Dont voici les actions à réaliser :

Sous Debian

Se fier au wiki Debian : https://wiki.debian.org/ZRam
Dont voici les actions à réaliser :

y coller :

et enfin :

Pour rendre exécutable le fichier, l’ajouter au boot et redémarrer pour la prise d’effet.

Faire du tri

Quand on a un Raspberry Pi :

Attention ! Raspbian possède un fichier de SWAP sur la carte SD, c’est le moment de le désactiver, la durée de vie de votre carte SD s’en fera certainement ressentir.

Voir l’article sur Framboise 314 pour plus de détails : http://www.framboise314.fr/et-si-on-se-passait-du-swap/

Quand on n’a pas un Raspberry Pi :

Si vous avez un ordinateur autre que le Raspberry Pi, et si vous avez une zone de SWAP sur votre disque dur, alors c’est le moment de la désactiver et de la supprimer depuis Gparted par exemple.

SWAP sur USB (méthode alternative)

Si jamais vous voulez tester le SWAP sur USB, munissez vous d’une vieille clé, passage sous Gparted pour lui coller une partition de type « linux-swap » puis de trouver son petit nom avec la commande :

Puis en partant du principe que votre swap usb se trouve en /dev/sda1 :

Attention, ça n’a d’effet que le temps de la session, à relancer à chaque démarrage donc.

Dernière astuce pour la route

Transférer les fichiers de log en RAM pour allonger la durée de vie de votre carte SD : http://www.magdiblog.fr/divers/comment-prolonger-la-duree-de-vie-de-vos-cartes-sd-sur-raspberry-pi/

Cet article va vous permettre d’envoyer des mails depuis le terminal ou avec la fonction mail de php en utilisant le smtp de gmail.

C’est à dire que les mails seront envoyés par le biais de votre adresse perso gmail. Que ce soit pour être alerté d’une présence (avec une photo en pièce jointe), des mises à jours de sécurité à appliquer ou que sais-je encore…

 

Créer un mot de passe spécifique

Rendez-vous sur la page Mots de passe d’application de google et renseigner comme ceci :
Sélectionner une application -> Messagerie
Sélectionner un appareil -> Autre (nom personnalisé) -> Raspberry Pi

Vous obtiendrez un mot de passe spécifique qui a l’avantage de pouvoir être révoqué en cas de doute sur la sécurité de votre Raspberry Pi et de pouvoir envoyer des mails sans avoir à effectuer l’authentification en deux étapes.

Installer les packages

puis

Choisir la première ligne « Distribution directe par SMTP (site Internet) »
Distribution directe par SMTP (site Internet) : RaspberryPi
Liste d’adresses IP : 127.0.0.1 ; ::1_
Autres destinations : RaspberryPi
RaspberryPi : (laisser vide)
Machines à relayer : (laisser vide)
Faut-il minimiser les requêtes DNS : Non
Format « mbox » dans /var/mail
Faut-il séparer la configuration dans plusieurs fichiers ? Non
Destinataire des courriers de « root » et « postmaster » : (laisser vide)

 

ajouter les lignes à la fin du fichier en modifiant votre adresse et votre mot de passe (celui générer au début du tuto)

Il faut relancer Exim4 :

 

Courage on touche au bout :

ssmtp pour permettre l’utilisation du smtp de gmail
mailutils & mpak pour envoyer des mails en shell

Supprimer les deux ligne :

Et ajouter à la fin (en remplaçant le nom et le mot de passe une fois de plus)

 

Cron et d’autres services vont certainement vouloir envoyer des mails, pour qu’ils soient bien routés, il faut ajouter ces deux lignes à la fin du fichier /etc/aliases :

 

Tester

Avec php mail()

 

 

Avec mailutils dans le terminal :

Taper le texte, et pour envoyer il faut taper un point + [entrée] sur une nouvelle ligne.

 

Vous avez des tâches cron ?

Désormais, votre cron daemon va vous envoyer des alertes à chaque exécution d’une tâche. Voici comment paramétrer les alertes cron :

J’ai depuis deux ans, un Raspberry Pi à la maison pour écouter des radios par internet avec MPD et MPC.

Depuis peu, j’ai un haut parleur Bluetooth, qui se connecte au Raspberry par le biais d’un dongle usb de ce type.  Le tout fonctionne bien, mais pour éviter de planter le service MPD il faut arrêter la lecture avant d’éteindre le haut parleur. Dans le cas contraire, il faut se connecter au Raspberry en SSH et lui coller :

C’est soit ça, soit un redémarrage du Pi.

Pour éviter ceci, j’utilise UDEV qui est déjà présent sur votre distribution car c’est un gestionnaire de périphérique sous linux.

Nous allons lui dire d’exécuter un script quand notre haut parleur se connecte et un autre script à la déconnexion.

et ajouter les deux lignes :

la première ligne va lancer le script /usr/lib/udev/bluetooth_add à la connexion (ACTION== »add »)

et la deuxième ligne va lancer le script /usr/lib/udev/bluetooth_remove à la déconnexion (ACTION== »remove »)

Reste à créer les scripts :

Contenu de /usr/lib/udev/bluetooth_add :

Contenu de /usr/lib/udev/bluetooth_remove :

Problème réglé.

 
Petit bonus pour les heureux parents bidouilleurs qui pour des raisons absconses aux yeux de certains ne souhaitent pas lancer la musique trop forte quand leurs enfants dorment (enfin !)

Voici comment modifier le script de connexion /usr/lib/udev/bluetooth_add :

Volume à 70 le jour entre 8h00 et 21h00
Volume à 30 la nuit entre 21h00 et  8h00

Si vous avez aimé, si cela vous a aidé, ou si vous avez un petit script, merci de laisser un commentaire 😉

Pour faire un petit enregistrement d’un flux depuis le terminal, wget est votre ami !

Vous pouvez essayer :

Ça fonctionnera. Mais il faudra penser à arrêter l’enregistrement au bout d’un certain temps avec un Ctrl + c

Si vous voulez essayer avec un flux existant, voici celui de WDRV – 97.1 The Drive, une superbe radio rock de Chicago :

 

Automatiser l’enregistrement

Pas toujours simple d’écouter une émission au moment ou elle est diffusée, entre le boulot, la famille voir même le décalage horaire avec des radios outre atlantique, il peut être pratique d’enregistrer un morceau pour se l’écouter plus tard.

Pour automatiser cela, un petit script comme celui-ci est parfait :

 

Il faut le rendre éxecutable et le lancer avec les trois arguments qui sont : le temps d’enregistrement en minutes et l’URL du flux et le nom de la Radio ou de l’émission.

 

Dernière étape, programmer à heure fixe l’enregistrement avec crontab :

A la fin du fichier, cette ligne fera l’affaire :

nb : pensez à changer le chemin vers le script

Pour rappel, le codage du temps dans cron se fait dans l’ordre :

minutes (de 0 à 59)
heure (de 0 à 23)
jour du mois (de 1 à 31)
numéro du mois (de 1 à 12)
numéro du jour dans la semaine (de 1 à 7)

A l’heure actuelle, une bonne clé USB, 16 Go en usb 3 d’une marque reconnue coûte moins de 10 €. Et si comme moi, vous voulez :

  • un espace de stockage d’au moins 8 Go
  • une distribution linux transportable et personnalisable
  • tout ça sur la même clé
  • et de pouvoir lire l’espace de stockage aussi bien sur windows que sur linux

Il vous faudra alors :

  • une clé USB à minima de 16 Go (ou plus)
  • un ordinateur sous linux, windows ou mac
  • une iso d’une distribution linux basée sur Ubuntu

Je vais détailler la procédure pour linux et donner le nom des outils pour les autres OS, la démarche restant la même.

1 . Partitionner la clé

Sous linux, insérez votre clé usb dans l’ordinateur puis dans GParted sélectionnez la depuis le menu déroulant en haut à droite (une clé de 16Go, dans GParted affichera quelque chose comme 14.65 Gio)

Puis en partant du principe que votre clé usb est neuve et qu’elle ne possède aucune donnée, vous allez supprimer la partition qu’elle contient en faisant un premier clic droit dessus et ‘Démonter‘ puis un second clic droit ‘Supprimer‘. Vous devriez voir ceci :

Capture du 2015-03-24 14:13:19

Puis un 3eme clic droit sur la zone vide (non alloué) et choisir ‘Nouvelle‘ et remplir ainsi :

Capture du 2015-03-24 14:34:03Nouvelle taille (Mio) : 10 000 (10  000 pour une clé de 16 Go, 26 000 pour une de 32 Go … il faut laisser 6 Go minimum pour la partition qui contiendra linux)
Système de fichiers : fat32
Étiquette : usb (facultatif)

 

Et enfin un 4eme clic droit sur l’espace vide restant après la nouvelle partition et choisir encore ‘Nouvelle‘ dans le menu :

Capture du 2015-03-24 16:00:04Système de fichiers : fat32
Pour la taille, rien à faire, GParted proposera automatiquement d’occuper la place restante. J’ai aussi essayé ext2 et ext4 pour le système de fichiers, pour une live cd il est préférable de rester sur du fat32.

 

Votre écran doit ressembler à celui-ci :

Capture du 2015-03-24 16:01:53Reste à appliquer les changement avec cette icône :

Capture du 2015-03-24 16:03:24

2 . Installer Linux sur la clé

Pour que linux soit persistant, la meilleure solution reste de l’installer de façon classique sur la clé, ça fonctionne, mais c’est moins réactif.

Une deuxième solution consiste à créer une clé bootable (façon live cd) avec UNetbootin et une iso basée sur Ubuntu. Ça peut être Ubuntu, Xubuntu, Lubuntu… ou Linux Mint (que j’ai choisi)

Attention, le mode persistant a des limites, vous allez pouvoir créer des comptes, changer la langue, le clavier, le fond d’écran … mais il faut garder en tête que c’est un live cd amélioré. L’installation de paquet ne fonctionne pas bien et globalement tout n’est pas persistant.

Dans UNetbootin :

Capture du 2015-03-24 16:24:16Sélectionnez ‘Diskimage
Un petit clic sur ‘‘ pour trouver l’iso sur votre disque dur.
Renseigner la ligne du dessous avec 1024 MB – très important, c’est l’aspect persistant qui est déterminer ici.
Type : ‘USB Drive
Drive : la deuxième partition de votre clé, chez moi c’est /dev/sdc2 mais chez vous c’est peut être /dev/sdb2

Reste à monter la partition et à lancer l’opération.

3 . Démarrer sur la clé :

Il faudra jouer avec le bios ou être très rapide au démarrage en tapant sur la touche ‘échap’ par exemple sur un portable ASUS pour accéder au menu du BOOT et sélectionner votre clé.

Une fois votre linux démarré, il faut créer un nouvel utilisateur ayant les droits d’admin et activer l’auto-login pour celui-ci. Après redémarrage, vous devez être logué sur la session de votre nouveau utilisateur.

 

4 . Facultatif :

Les distributions live cd sont souvent en anglais, il faut penser à modifier le clavier, et la langue du système.

Même après passage en français, il reste des applications en anglais, pour y remédier, vous pouvez faire ceci :

Certains menus de l’explorateur de fichiers doivent être encore en anglais. Et dans le terminal, des commandes comme nano aussi. Pour y remédier, vous pouvez décompresser cette archive dans /usr/share/locale/fr/LC_MESSAGES

Télécharger “LC_MESSAGES.zip” LC_MESSAGES.zip – Téléchargé 79 fois – 3 MB

A décompresser en mode root, sinon :

Mise à jour le 22/07/2016 suite à l’excellent commentaire de leknoppix.

Sur votre serveur virtuel, vous avez installé apache, php, mysql, c’est super mais pas moyen de faire fonctionner plusieurs sites et de faire pointer vos noms de domaine ( et sous domaines ) vers vos différents répertoires dans /var/www/html

Pas de panique, voici la solution.

Ce tuto est destiné à un serveur de prod, un vps hébergé chez OVH, mais vous pouvez très bien le transposer à un autre serveur. Si vous développez à la maison, en remplacement du premier chapitre, je vous conseille cet article permettant de donner une adresse bidon à son site en lieu et place de 127.0.0.1 ou de localhost.

 

1 . Le nom de domaine

Dans votre espace client OVH, sélectionnez le nom de domaine : jaimelasaucisse.fr … c’est un exemple, j’aime la saucisse mais pas au point de payer un tribut à l’AFNIC pour autant.

Dans l’onglet « Zone DNS » vérifiez que votre domaine jaimelasaucisse.fr a été créé avec le type A et le type AAAA qui pointe bien vers les IP de votre VPS. ( type A = IPv4 & le type AAAA IPv6 )

Si vous voulez ajouter un sous domaine, un petit clic sur le bouton « Ajouter une entrée« , choisir dans « champs de pointage » le bouton « A » puis tapez votre sous domaine (toulouse.jaimelasaucisse.fr) et l’IPv4 de votre VPS comme « Cible« . Et c’est tout pour la gestion du domaine.

 

2 . Le stockage

Si je peux me faire mettre un conseil, créez un dossier par domaine. Et de sous dossiers pour chaque domaine et ses sous domaines.

et attribuer les dossiers à l’utilisateur www-data

3 . VirtualHost

Niveau apache, deux règles à respecter pour mieux s’y retrouver.

Premièrement, le nom du virtual host doit être identique au nom de domaine, c’est à dire :

Et deuxièmement, les sous domaines cohabitent dans le même fichier de configuration.

Un copié / collé sauvage avec ceci :

Reste à activer avec :

Et ça marche !

Pour ajouter un nouveau sous-domaine, plus besoin de toucher au virtual host, un nouveau dossier dans /var/www/html/jaimelasaucisse.fr portant le même nom que le sous domaine et le tour est joué.

Important ! Si ça ne fonctionne plus avec l’installation de Let’s Encrypt ou autres pourvoyeurs de https://
Alors rendez vous au §4 de l’article : Passer son serveur en https avec Let’s Encrypt

 

Si vos dossiers sont vides, voici comment y palier temporairement :