Table des matières
Administration des services
Les services proposés par le serveur Tchack sont organisés au travers de l'infrastructure Yunohost, qui facilite (prémâche ) le travail d'administrateur système.
Il suffit d'utiliser les paquets (officiels ou communautaires) situés sur le dépôt github du projet pour installer directement un nouveau service, par l'interface web ou la ligne de commande. Les paramètres de création (adresse, nom, privé/public, administrateur) ne sont pas modifiables par la suite (pour le moment 12/09/17).
La mise à jour des services est facilitée par ce système, accessible en web ou ligne de commande.
Yunohost
L'infrastructure Yunohost permet d'installer la majeure partie des services/applications proposés par le serveur, de manière très aisée, en ligne de commande ou par l'interface web d'administration. Le front-office est alors constitué de simples tuiles colorées (style “tableau périodique des éléments”), cf services.
Applis Directes
La seule application installée directement sur le système était RPi-Monitor sur le RaspberryPi, qui sert les pages sur le port 8888. Une redirection est configurée avec Yunohost, permettant une bonne intégration via une tuile simple.
Services Admin
Certains services sont visibles uniquement de l'administrateur :
- un accès ssh par le web (désactivé au quotidien pour limiter la surface d'attaque)
- un moniteur poussé (graphes statiques) inclus dans Yunohost : Monitorix
- un moniteur rapide et dynamique de l'état du serveur : RPi-Monitor
RPi-Monitor
Ce monitoring n'est pas un paquet de Yunohost, mais est utilisée pour des raisons esthétiques et pratiques (indépendance). Le paquet Rpi-monitor est proposé par Xavier Berger sur https://github.com/XavierBerger/RPi-Monitor. Le paquet debian de l'application est servi par son dépôt personnel sur giteduberger.fr, qui est donc ajouté aux listes de “apt-get” sur le système.
Le service est accessible par le web, via une simple tuile “redir-app”(proxy) dans yunohost. Les données historiques du système, au pas 10 min, sont stockées dans des fichiers round-robin (.rrd) facilement exportables.
Services Usagers
Webapp
L'application **Custom Web App** avec accès sftp crée un utilisateur restreint au SFTP, avec un chroot dans /var/www/my_webapp(__#).
Pour pouvoir utiliser une connexion sans mot de passe (pour automatiser l'upload), il faut ranger une clé publique dans %chroot/.ssh/authorized_keys, et non pas dans /home/webapp#.
Pour gérer un wordpress et les permalinks, une section manque dans le code, une ligne à ajouter sur les fichiers nginx que l’on doit rééditer à la mano après les mises à jours des my_webapp qui hébergent des wordpress:
# Remove index.php from URL if (!-e $request_filename) { rewrite ^(.*)$ /index.php?q=$1 last; }
Réputation du site web
La réputation du site web et son indexation par Google peuvent être contrôlés via ce lien : https://transparencyreport.google.com/safe-browsing/search
Sondage
Le service dispose d'une page d'administration, accessible par l'administrateur désigné à la création (jaxom) à l'adresse /admin.
Partage
Le service dispose d'une page d'administration, accessible par l'administrateur désigné à la création (jaxom) à l'adresse /admin.php.
WebChat
Service suspendu en 2020
Yunohost embarque un serveur XMPP (metronome), qui configure directement un accès HTTP avec Bosh. Celui-ci est disponible sur localhost:5290. Pour que les clients web l'utilisent, il faut donc y configurer une redirection publique (Nginx Proxy_pass vers bosh.tchack.xyz), via une appli 'redirect_ynh'.
Pour permettre la discussion sans compte, il faut autoriser dans Metronome les connexions anonymes avec anonymous_login = true
Enfin, le client web utilisé est Conversation.js, qui peut être servi par n'importe quelle page web, avec un fonctionnement en plein écran tel https://inverse.chat/ . La configuration de l'application est ajoutée directement dans la page html, avec un salon de départ qui est public@muc.tchack.xyz
.
Une version avec les réglages en plein écran est proposée sur tchack.xyz/chat et une version mobile sur tchack.xyz/chat/mob. La version utilisée est la 3.2.1, car la 3.3.0+ ne s'affichait pas sur Firefox (à débugguer).
Cloud
La page migrationCloud résumait le passage d'owncloud à Nextcloud pour les utilisateurs.
Lorsque des serveurs distants disparaissent sans avoir supprimé leurs partages, il faut nettoyer à la main la base de données des références obsolètes, car les fichiers/dossiers concernés restent en 'erreur'. Cf ce ticket github.
Les upgrade perdent parfois la config, notamment la ligne 'allow_local_remote_servers' ⇒ true,
nécessaire pour les aplications externes comme les intégrations (mattermost, OnlyOffice…)
OnlyOffice
TTRSS
Le débit des logs est réduit via cette manip : https://discourse.tt-rss.org/t/systemd-daemon-is-too-verbose-in-syslog/757/3
ie : ajouter StandardOutput=null StandardError=syslog
dans la partie [Service] du daemon tt-rss qu est situé dans /etc/systemd/system
HedgeDocs
Anciennement CodiMD et HackMD : utilise une base de données postgresql. Il faut s'y connecter avec l'user posgres
: sudo su postgres
puis psql
.
BlackList
Pour se faire dé-blacklister de chez Microsoft, suivre la procédure :
- Sur Office365 : https://sender.office.com.
- Sur Hotmail/live, il faut ouvrir un ticket : https://support.microsoft.com/en-us/getsupport?oaspworkflow=start_1.0.0.0&wfname=capsub&productkey=edfsmsbl3&locale=en-us&ccsid=635900597399910848
- Microsoft propose aussi le service SNDS pour gérer la réputation de ses IP.
- Autre lien pour ouvrir un ticket : https://support.microsoft.com/supportrequestform/8ad563e3-288e-2a61-8122-3ba03d6b8d75
Suivi Microsoft
Comme les points ci-dessus ne suffisent pas à rester hors BL, j'ai décidé de capter tous les messages sortants vers Microsoft (pour les renvoyer à la main depuis une autre boite perso). Notamment pour les messages de réinit mdp de mattermost… Je me sers d'un réglage postfix : http://www.postfix.org/postconf.5.html#recipient_bcc_maps
WhiteList
Pour placer des domaines sur liste blanche de postfix
, même s'ils sont sur des RBL de spam, le tuto suivant a été réalisé : https://help.endian.com/hc/en-us/articles/218144758-RBL-Whitelisting-in-Postfix.
En bref :
- créer le fichier
/etc/postfix/rbl_override
avec des lignesdomaine OK
, - l'ajouter dans la configuration
/etc/postfix/main.cf
, sous la formecheck_client_access hash:/etc/postfix/rbl_override
, dans les sections smtpd_sender_restrictions et smtpd_client_restrictions exécuter un
postmap /etc/postfix/rbl_override
après chaque modification du fichier de whitelist et relancer le service postfix.
Monitoring
Le programme pflogsumm
est utilisé pour produire des statistiques de mail à partir des journaux postfix, d'après ce fil de forum. Il est appelé par cron
tous les soirs, et produit un fichier .txt dans le dossier web servi par rainloop.
59 23 * * * pflogsumm -u 0 -h 5 –problems-first /var/log/mail.log > /var/www/rainloop/pflogsumm.txt
On peut ainsi lire les stats (si on est connecté) à l'adresse : https://tchack.xyz/rainloop/pflogsumm.txt.
Ajout du monitoring dans zabbix (toujours avec pflogsumm) via ce template : https://github.com/rafael747/zabbix-postfix/blob/master/README_passive.md
Catégorie | Signification |
---|---|
Received | emails reçus d'autres serveurs OK |
Delivered | emails envoyés à d'autres serveurs OK |
Deferred | emails envoyés et en attente d'acceptation |
Bounced | email envoyés qui ont été refusés par d'autres serveurs |
Rejected | emails reçus que Yunohost a rejeté |