Archives de catégorie : Vie de mes sites

bascule du serveur Poweredge T310 vers le thinkcenter M92P

Ça y est c’est fait, comme annoncé dans mon précédent post, j’ai basculé de mon gros serveur Dell PowerEdge T310 vers un mini PC Lenovo ThinkCenter M92p, cela m’a pris quand même quelques heures de travail étalées sur trois jours. J’ai installé Mageia 8 sans grande difficulté et il m’a fallu également installer et paramétrer les services de:

  • Authentification utilisateur basée sur OpenLDAP
  • Serveur de fichiers basé sur NFS avec la copie des données hors multimédia qui restent sur le serveur Dell
  • Serveur de mail basé sur fetchmail, dovecot, sendmail, spamassassin, ClamAV anti virus et roundcube webmail
  • Serveur LAMP (Apache+PHP+MySQL/MariaDB) pour travailler en local sur mes sites, pour l’interface à roundcube webmail et divers outils accessibles via le web

Sans compter les opérations nécessaires pour configurer le firewall shorewall et remettre les routes en place sur mon routeur et la box pour que roundcube webmail soit accessible d’un mobile ou d’un ordinateur portable non connecté au réseau local.

Maintenant le nouveau serveur se trouve dans la cuisine entre l’onduleur et la box en face du routeur TP-Link qui vient compléter les misérables fonctionnalités de la box.

Serveur Lenovo ThinkCenter M92p

A vrai dire ce qui m’a pris le plus le temps dans cette histoire a été de remettre en place les connexions chiffrées au niveau des échanges de mail entre le serveur et les postes clients. J’ai eu beaucoup de mal avec Thunderbird qui refusait de reconnaitre le nouveau certificat et je n’ai pas trouvé le moyen d’effacer l’ancien certificat correspondant à l’ancien serveur pour qu’il prenne en compte le nouveau. J’ai dû recréer un nouveau compte de mail pour pouvoir le faire, finalement cette création n’a pas posé de problème particulier pour retrouver mes mails vu que j’utilise que mon serveur de mail utilise IMAP.

Mon Dell PowerEdge ne part pas pour autant au rebut, je le garde comme serveur de fichiers pour les données multimédia qui nécessitent beaucoup de stockage disque et auxquelles j’accède de temps à autre. Mais dans l’histoire je devrais faire une belle économie de consommation électrique.

Suite à toutes ces manipulations, j’ai mis à jour mon site Funix avec la modification des pages suivantes :

pages divers
– page trucs et astuces, rajout d’un astuce (rajout d’une police personnalisée)
– page ma configuration, présentation du nouveau serveur Thinkpad M92p qui va remplacer le PowerEdge T310 gros consommateur en énergie

pages réseau et système
– page installation de l’annuaire OpenLDAP, grosse mise à jour la dernière datant de 5 ans
– page authentification des utilisateurs avec OpenLDAP, grosse mise à jour, la dernière datant de 5ans
– page outils de sauvegarde du système et des données, modification de l’installation de borg

pages LAMP
– page installation d’un serveur LAMP avec les sources, passage à MariaDB 10.8.3, Apache 2.4.54, PHP 8.1.18 et phpMyAdmin 5.2

pages gestion des mails
– page réception des courriers et mise à disposition, passage à roundcubemail 1.6.0
– page filtrer les mails, passage à ClamAV 0.105.1

page de téléchargement, mise à jour des documents
– Installation d’un serveur LAMP
– Envoyer et recevoir du courrier pour un réseau multi utilisateurs

– Mise en place d’OpenLDAP et d’une authentification utilisateu

Nouveau serveur basse consommation

Alors que la sobriété énergétique devient une nécessité, j’ai des scrupules à laisser mon serveur Dell PowerEdge T310 tourné en permanence 24h/24 et 7j/7. Si je devais estimer sa consommation, sachant que l’alimentation fait 375W, au doigt mouillé on va dire qu’il consomme 150W par heure, soit 0,15kwh. Sachant que le coût du kwh est de 0,1740 € (tarif réglementé). Sur une journée, le coût est de 0,15x24x0,1740=0,62€. Sur un mois le coût est de 0,62€x30=18,8€ et sur un an 225€ tout de même, c’est assez conséquent. Alors bien sûr ce chiffre pourrait être affiné avec les heures creuses, heures pleines et mieux encore avec un contrôleur de consommation, mais ça donne un ordre de grandeur qui ne parait pas trop délirant.

Mon serveur Dell dans le garage

Or en y regardant de plus près, je fais tourner plusieurs services dessus, dont certains sont permanents, c’est à dire que je m’en sers régulièrement à plusieurs moments de la journée et d’autres beaucoup plus intermittents, il s’agit notamment de :

En résumé, mon serveur est taillé avec ses disques durs en RAID hard (2 disques SAS en RAID 1 et 4 disques SATA en RAID) pour des services intermittents notamment pour l’accès mes fichiers multimédia, vidéos et photos essentiellement. Il m’est donc venu l’idée de m’équiper d’un petit serveur basse consommation pour les services permanents et garder mon serveur Dell que j’allumerai uniquement quand j’aurai besoin d’accéder à mes fichiers multimedia.

J’ai tout de suite penser à bricoler un serveur sur la base d’un Raspberry PI 4, mais il s’avère que le coût et la puissance de l’engin n’est pas forcément très compétitif par rapport à un mini PC. Mon choix s’est donc porté sur un Lenovo M92p d’occasion à 119€ frais de port compris sur ebay.

Le Lenovo M92p au dessus de mon bloc TerraMaster D5-300C et de mon ACER Predator

Les caractéristiques sont les suivantes:

  • processeur Intel G2030T de 2,6GHz, 2 cœurs
  • 8 Go de RAM
  • disque dur SATA de 300Go

Bien qu’il ne soit pas de première jeunesse (il date de 2013, presque dix ans !), si je me fie à ce test qui compare un Raspberry PI 4b et un processeur Intel G2030, il n’y a pas photo, le G2030 reste très largement supérieur en performance. Le G2030T est un poil moins puissant (voir ici), mais il consomme légèrement moins (consommation d’énergie de 55W pour le G2030 et de 35W pour le G2030T) . Au final le M92p est donné pour une consommation d’énergie qui tourne entre 15W et 35W (voir par et ici), je divise donc ma consommation quasiment par 10 ! Je pourrai encore optimiser ma consommation en coupant automatiquement le serveur la nuit à des heures où je ne l’utilise pas. Alors certes le Raspberry est plus proche de 5W mais les performances me paraissent clairement insuffisantes pour mes services de serveur et le prix peu compétitif.

La configuration de ce nouveau serveur me prendra certainement pas mal de temps, j’ai commencé d’abord par virer windows et d’installer la distribution Linux Mageia 8. Pour l’instant j’ai mis en place l’authentification des utilisateurs en se basant sur LDAP et j’ai mis à jour les pages sur OpenLDAP et l’authentification en elle même sur mon site FUNIX. Je ne manquerai pas de donner des détails sur l’avancement de la configuration sur ce blog.

Mise en place d’une solution d’archivage avec rclone

Jusqu’à présent je me suis beaucoup focalisé sur les solutions de sauvegarde de mes données sans m’attarder sur leur archivage. Ce post résume un peu toutes mes cogitations sur la sauvegarde. Mais au fait quelle est la différence entre sauvegarde et archivage ? En deux mots la sauvegarde est une copie identique des données à un moment donné qui permet une restitution en cas de pertes des données d’origine. Alors que l’archivage est une copie des données avec une notion de gestion de version, c’est à dire qu’on dispose de plusieurs enregistrements effectués à des dates différentes. Cet article explique assez bien la nuance entre les deux.

J’ai donc mis assez simplement un archivage chiffré basé sur rclone sur Google Drive en mode synchronisation. Le script est assez simple et ressemble à ça

#!/bin/bash

LOG_FILE="/home/olivier/tmp/sync-rclone.log"
REP_FILTRE="/home/olivier/Documents/rep-filtre.txt"
DESTINATION="google-secret:Sauvegarde"
DESTINATION_ARCHIVE="google-secret:Sauvegarde-archive"
ladate=`date +"%Y-%m-%d--%T"`
SUFFIX_DATE=.$ladate

/usr/local/bin/rclone -v --skip-links \
    --backup-dir $DESTINATION_ARCHIVE --suffix $SUFFIX_DATE\
        sync / $DESTINATION --filter-from $REP_FILTRE --log-file $LOG_FILE

Les anciennes versions des fichiers seront sauvegardées avec le suffixe date et heure sous cette forme .2021-12-04–07:55:25. En cas de synchronisation et d’archivage on a ce message.

2021/12/04 16:35:09 INFO  : mana/data/bureautique/Finance/les comptes.ods: Moved (server-side) to: mana/data/bureautique/Finance/les comptes.ods.2021-12-04--16:34:59
2021/12/04 16:35:35 INFO  : mana/data/bureautique/Finance/les comptes.ods: Copied (new)
2021/12/04 16:35:35 INFO  :
Transferred:           2.608 MiB / 2.608 MiB, 100%, 87.635 KiB/s, ETA 0s
Checks:              1817 / 1817, 100%
Renamed:                1
Transferred:            1 / 1, 100%
Elapsed time:        36.5s

Il ne reste plus qu’à lancer le script de manière régulière avec cron pour mettre en place un archivage régulier. Vous trouverez plus de détails sur la configuration de rclone pour une synchronisation sur le cloud avec en exemple Google Drive avec chiffrement des données sur cette page de funix.org.

Sauvegarde chiffrée dans le cloud

J’ai considérablement étoffé mon dispositif de sauvegarde de mes données. J’évoquais dans ce post un premier dispositif basé sur un script bash lui même basé sur rsync qui permettait une sauvegarde incrémentale. Malheureusement j’ai rencontré un crash disque « bas bruit » qui a entraîne une corruption des données et de la sauvegarde sans que je m’en rende compte immédiatement. Suite à cet incident j’avais amélioré mon dispositif de sauvegarde et des tests d’intégrité des disques qui est décrit dans cet autre post. J’avais fait part de mes déboires sur le site linuxfr dans ce journal. Les commentaires m’ont conduit à revoir complètement mon dispositif qui repose maintenant sur les outils borg, btrfs et unison.

Tout cela est présenté et détaillé sur cette page de funix.org. et à fait l’objet de cet autre journal sur linuxfr. Les commentaires m’ont poussé à aller encore plus loin en rendant mon dispositif de sauvegarde encore plus robuste. Je l’ai donc complété par :

– une solution de sauvegarde et de partage des données base sur un cloud payant kdrive d’infomaniak avec un dispositif de synchronisation automatique et des sauvegardes manuelles. Cette sauvegarde à distance vient compléter le dispositif local et permet de le rendre encore plus robuste à un sinistre qui détruirait à la fois le serveur et les sauvegardes locales. Un troisième journal sur linuxfr détaille ce point précis, je vous invite à découvrir les commentaires qui ont été faits sur ces trois journaux qui sont assez instructifs sur les éventuelles autres solutions de sauvegarde.

– une pure solution de sauvegarde avec des données stockées chiffrées en utilisant rclone et Google Drive. Ce dernier offre une solution gratuite jusqu’à 15Go, ce qui est généralement largement suffisant pour stocker des données sensibles (hors fichiers multimédia). Si on peut s’inquiéter de la protection des données et de l’utilisation que Google peut en faire, le problème ne se pose pas car elles sont envoyées chiffrées et stockées en l’état sur le drive. C’est donc bien de la pure sauvegarde plutôt que du partage de données. A noter que ce ne sera possible avec infomaniak qu’après souscription à l’offre supplémentaire Swiss Backup.

Ces solutions basées sur le cloud sont développées dans cette autre page de funix.org.

Mise à jour de FUNIX.org

J’ai mis à jour mon site funix.org consacré à Linux, les évolutions sont les suivantes :

pages divers
– page trucs et astuces, j’ai rajouté les liens vers les posts de ce blog sur la présentation de digikam (gestion photo) et de viking (trace GPS)

pages installation d’un serveur LAMP (Linux+Apache+MySQL+PHP)
– page Apache+PHP+MariaDB (avec les sources), passage à apache 2.4.51 et  PHP 7.4.25

pages gestion des mails
– page réception des courriers et mise à disposition, passage à la version 1.5.0 du webmail roundcubemail
– page filtrer les mails, passage à l’antivirus ClamAV 0.104.1
– page analyser les logs d’apache, le projet webalizer a l’air mort, j’ai rajouté des liens pour récupérer la dernière version connue, je le supprimerai à terme.

pages multimédia
– page outils de base pour la vidéo, passage aux bibliothèques vidéo libogg 1.3.5, rubberband 2.0.0, OpenCV 4.5.4, version du 30/10/21 de x264 et ffmpeg 4.4.1
– page lecteurs vidéo, passage à VLC 3.0.16
– page mediacenter, passage à kodi 19.3 Matrix
– page transcodage, passage à avidemux 2.7.8 et HandBrake 1.4.2
– page outils multimédia divers, passage à lollypop 1.4.23, OSD lyrics 0.5.10 et Music Brainz Picard 2.6.4. OSD lyrics permet de faire du karaoké, le projet est longtemps resté inactif et est à nouveau maintenu pour le plus grand bonheur des amateurs de karaoké

OSD Lyrics


– page conteneur vidéo, passage à vorbis tools 1.4.2, libmatroska 1.6.3 et mkvtoolnix 62.0.0
– page piloter un caméscope mini DV, là aussi dvgrab semble un projet mort, j’ai rajouté une URL pour télécharger les sources de la dernière version connue

pages montage vidéo
– page montage vidéo, passage à mlt 7.0.1, kdenlive 21.08.2, cinelerra 7.4, OpenShot 2.6.1, Synfig Studio 1.5.1 et blender 2.93.5. J’ai galéré pour installer blender car il requière maintenant python 3.9 or la Mageia 8 fournit la 3.8, il faut donc faire cohabiter les deux versions, j’ai également eu des soucis avec l’installation de OpenImageIO, blender n’a pas voulu reconnaître la version que j’avais compilée et j’ai dû installer le package sans les dépendances pour ne pas écraser les différentes bibliothèques que j’ai installées manuellement en les compilant.

Blender 2.93.5

J’ai toujours un soucis avec cinelerra 7.4, qui compile plus facilement maintenant, mais qui plante au lancement.
– page tutoriel montage vidéo kdenlive, rajout de deux fonctionnalités suite au passage à la version 21.08.2, il s’agit de la fonction time remap qui permet une gestion plus fine du réglage de la vitesse d’un clip, je n’ai toujours pas bien compris comment ça fonctionnait. J’évoque également la fonction qui permet de déplacer le projet entier sur la timeline tout en gardant les guides.

La fonction time remap de kdenlive

Page téléchargement mise à jour des documents

– Installation d’un serveur LAMP
– Envoyer et recevoir du courrier pour un réseau multi utilisateurs
– Tutorial sur le montage vidéo avec kdenlive

Passage à MAGEIA 8 terminé

Je viens de terminer avec mon serveur Dell Poweredge T310 le passage à Mageia 8 de tous les postes de mon réseau local. Contrairement à ce que l’image ci-dessous peut indiquer, j’ai procédé une mise à jour en partant de la 7.1 sans passer par une réinstallation complète.

Dell PowerEdge T310

Ça m’aura pris un peu plus de six mois, ayant commencé en février dernier peu après la sortie de la Mageia 8 en échelonnant petit à petit dans le temps.

Continuer la lecture de Passage à MAGEIA 8 terminé

Filtrer les adresses IP menaçantes

Dans le but de sécuriser encore plus mon serveur j’ai mis en place un filtrage d’adresses IP potentiellement menaçantes. En fait certains sites comme abuseipbd ou spamhaus collectent et maintiennent de telles listes, il suffit de les récupérer et de les faire prendre en compte par son firewall favori. Pour ma part j’utilise shorewall comme firewall et je me suis basé sur cette page du wiki de Mageia (en anglais).

Il faudra utiliser l’outil IPset qui permet de gérer des listes d’adresse IP (entre autres). Tout le reste et le détail de cette installation se retrouve sur cette page de funix.org.

Dans le même genre il existe également fail2ban qui marche de manière un peu différente. Il va analyser les logs des services lancés sur votre serveur comme SSH, Apache ou bien encore OpenVPN, identifier les tentatives de connexion infructueuse et procéder au bannissement de l’adresse IP de l’indélicat via le firewall. En revanche je rencontre quelques soucis de configuration et ça n’a pas l’air de fonctionner pleinement, je continue à chercher.

Installer un réseau vpn avec openVPN

Je dispose d’un réseau local centré autour d’un serveur Dell PowerEdge T310 qui fait office de serveurs d’authentification avec OpenLDAP, de mail et de fichiers (entre autres) comme je l’ai déjà signalé à multiples reprises sur ce blog. Je suis régulièrement en déplacement et j’avais mis en place un service de webmail sur le serveur me permettant de consulter mes mails d’un mobile ou d’un portable connecté à mon mobile où que je sois. J’avais fait un post il y a quelques temps à ce sujet qu’on trouvera ici.
En revanche pour consulter les fichiers sur mon serveur, j’utilise OpenSSH en ligne de commande, ce n’est pas franchement convivial et intuitif, mais je m’en contentais jusqu’à présent.

Il se trouve que ma petite dernière entame des études à l’étranger et j’aimerais lui faciliter les choses pour qu’elle puisse accéder aux ressources du réseau local en toute transparence et simplicité. J’ai donc pensé à créer un tunnel VPN entre son Thinkpad sous Linux/Mageia et le réseau local familial.

On trouve beaucoup de tutoriels sur internet sur le sujet, mais quasiment tous présentent une configuration où tout le flux internet du client VPN se trouve redirigé vers le serveur via le tunnel VPN. L’accès internet se fait donc via le serveur avec la technique de l’IP Masquerade. C’est sûrement intéressant dans beaucoup de cas, notamment pour une utilisation professionnelle où on souhaite filtrer l’accès à internet (voire l’interdire), ou bien encore pour surfer plus ou moins masqué, mais dans mon cas ça n’apporte rien du tout, car ça ralentit considérablement l’accès à internet sur le client. Je souhaite juste que le client accède aux ressources du réseau local privé et continue à accéder à internet via sa connexion habituelle.

Du coup j’ai travaillé sur cette configuration particulière que j’expose dans cette page où sont présentées les principales étapes pour configurer le serveur et le client VPN basé sur OpenVPN. De mon poste client je peux maintenant simplement lancer la connexion VPN où que je sois connecté et accéder du terminal ou d’un gestionnaire de fichiers aux fichiers du serveur.

Accessoirement j’ai vu également que je pouvais maintenant accéder à mon VPN via mon mobile Android. Je n’en ai pas franchement l’utilité aujourd’hui, mais pourquoi pas, pour le fun je pourrais essayer, ça fera certainement l’objet d’un nouveau post.

Sauvegarde le retour

J’ai connu en début d’année des déboires suite à un crash disque inopiné comme je l’évoque dans ce post. En fait un problème disque bas bruit, non détecté, a conduit à la corruption de données, données qui ont été sauvegardées en écrasant la sauvegarde saine. J’ai été surpris par le crash disk qui est arrivé sans crier gare, et c’est seulement en remontant ma sauvegarde que je me suis rendu compte de sa corruption. Malgré des heures passées à tenter de récupérer les données manquantes avec photorec entre autres, j’ai perdu dans l’affaire pas mal de données essentiellement des fichiers multimédia patiemment emmagasinés depuis des années.

Suite à cet incident, j’avais revu de fond en comble ma stratégie de sauvegarde qu’on peut retrouver dans cet autre post. J’avais évoqué mes déboires et présenté fièrement cette nouvelle stratégie dans ce journal sur linuxfr. Bien m’en a pris, les commentaires qui m’ont été faits m’ont ouvert les yeux et j’ai revue de fond en comble ma stratégie de sauvegarde qui ressemble maintenant à quelque chose comme cela :

Continuer la lecture de Sauvegarde le retour

Installer un agenda kolab sur le webmail roundcubemail

Ma tendre et chère souhaitait pouvoir disposer d’un agenda qu’elle retrouverait sur le PC et sur son mobile pour se débarrasser de son agenda papier de moins en moins pratique. Comme je ne choisis pas la facilité et dans l’esprit que mes données ne se retrouvent pas quelque part aux US ou en Chine à la merci de hackeurs ou de revendeurs de données, j’ai choisi d’intégrer un plugin d’agenda au webmail Rouncube.

Pour mémoire je me repose sur mon serveur personnel Dell PowerEdge T310 qui tourne dans mon garage et qui fait office de cloud perso et sur lequel tourne Roundcube qui me permet d’accéder à mes mails de mon mobile comme expliqué par ici. J’ai choisi d’installer le plugin kolab, le détail de l’installation est donné par . Voilà ce que ça donne sur l’ordinateur

et sur le mobile

le tout est évidemment complètement synchronisé.

Continuer la lecture de Installer un agenda kolab sur le webmail roundcubemail