Le Wiki de Tchack

Guides et documentation sur le serveur tchack.xyz

Outils pour utilisateurs

Outils du site


Panneau latéral

adminsys:serveur

Administration du serveur

Cette page donne des informations sur la partie “base” du système de Tchack, les couches basses. Pour l'administration des services, voir adminsys:apps

Matériel

Le serveur matériel est constitué par :

  • Un Raspberry Pi modèle 3-B
  • Un pack de stockage WDLabs composé de :
    • Une carte SD en mode “BerryBoot”
    • Un disque dur externe 2.5“ Western Digital de 1To

Le tout est hébergé à domicile, connecté via une Box Numéricable avec un débit câble assez faible. Une recherche de meilleure connexion est en cours. Il n'y a pas de système de secours d'alimentation.

Cette configuration “à bas coût” est suffisante pour la qualité de service attendue à ce jour, tant en terme de débit que de disponibilité. :!: Des coupures électriques, en l'absence d'onduleur de secours, peuvent corrompre la carte SD et empêcher le redémarrage du serveur.

:!: Depuis Aout 2018, ce matériel est secondé d'un VPS hébergé chez PulseHeberg.

Pile technique

Le serveur utilise le système d'exploitation Raspbian Stretch (qui correspond à Debian 9 adapté au raspberry pi). Les applications, à l'exception de celles ci-dessous, sont installées au travers de l'infrastructure Yunohost.

La migration a été réalisée depuis Jessie en octobre 2018.

Les principales modifications au système sont les suivantes :

  • Envoi de SMS à la connexion SSH : script utilisant l'API de FreeMobile, appelé par /etc/ssh/sshrc
  • Extinction automatique à la perte du réseau : daemon UPSD conçu pour la gestion d'onduleur à autonomie limitée
  • Suppression de la sortie rsyslog → /dev/xconsole en commentant la fin de /etc/rsyslog.conf d'après ce lien.
  • Installation des outils mailutils pour envoi de mail par script (utilisé dans l'installation d'un application).

Domaine

Le domaine tchack.xyz est géré chez OVH, qui fournit également les serveurs de DNS. La zone DNS est sauvegardée à la main ici.

DNS

La réponse aux noms de domaines est gérée par les services dnsmasq et resolvconf. Si le fichier /etc/resolv.conf est en dur (erreur sur le VPS en juin 2019), rétablir le lien par rm /etc/resolv.conf puis ln -s /etc/resolvconf/run/resolv.conf /etc/resolv.conf.

classiquement les DNS sont définis par le serveur DHCP qui dit “hey il faudrait utiliser x.y.z.t comme DNS” et la stack réseau gère le /etc/resolv.conf avec ces infos, mais le service resolvconf overwrite ça pour dire que tu veux utiliser 127.0.0.01 pour deleguer les requetes à dnsmasq (etdans dnsmasq tu configure le machin comme tu veux). Aleks_

Sauvegardes

Voir l'article dédié : sauvegardes

Deux mécanismes complémentaire :

  • Sauvegardes effectuées manuellement avec yunohost backup create ⇒ fichiers résultants copiés manuellement sur d'autres disques : Freebox maison…
  • Automatisation quotidienne avec CRON et rsync vers le NAS distant d'Hervé.

:!: Les éléments du système hors Yunohost, tels l'appli RPi-Monitor, les clés SSH, les comptes utilisateurs du serveur, les journaux d'installation, les BDD… ne sont pas sauvegardés par Yunhost. Le Plan de Reprise d'Activité est donc plus complexe pour retrouver un fonctionnement à 100%.

Securité

Les services de base de yunohost sont bien entendus activés. De plus, en suivant les conseils ici, le port SSH est modifié à 2222. Cela impacte également la connexion en SFTP pour les applications web utilisant cet accès.

La connexion SSH par mot de passe est désactivée, seule la clé publique (sur l'ordinateur de l'adminsys) permet une connexion.

La clé id_rsa de pi@rpi donne accès à jaxadmin@VPS.

Mises à jour

Le fonctionnement unattended-upgrades de Debian est activé sur le Rpi (tout est mis à jour car Raspbian n'a pas de dépôt distinct dédié à la sécurité) ainsi que sur le VPS (uniquement les MàJ de sécurité Debian). Cf ce post et la documentation Debian.

Chaque serveur peut être régulièrement mis à jour (apps et paquets) en utilisant yunohost tools update|upgrade. :!: pour éviter les déconnexions SSH intempestives, penser à lancer ces commandes après un screen, que l'on peut re-joindre via screen -r -d.

Swap

Bien que rejetée par le développeur de BerryBoot, le serveur a besoin de swap,notamment pour réussir une mise à jour de Nextcloud. Le filesystem de type aufs ne le permettant pas (swapon swap.file renvoie une erreur d'E/S), voici le moyen de contourner le problème :

  1. Créer un fichier de swap à l'aide de dphys-swap sur la carte SD. Celle-ci est montée sur /boot avec un autre type de FS, qui autorise la swap. Voir les réglages dans le fichier /etc/dphys-swap.
  2. Monter ce fichier au sein de aufs en mode Bind là où on souhaite placer la swap, en l'occurrence : mount –bind /boot/swap.file /var/swap.file
  3. Activer la swap à l'aide de la commande : swapon /var/swap.file

Liens Divers

adminsys/serveur.txt · Dernière modification: 2019/10/15 16:59 par jaxom