====== Administration des services ====== Les [[services:services|services]] proposés par le serveur Tchack sont organisés au travers de l'infrastructure Yunohost, qui facilite (prémâche :-D) le travail d'administrateur système. Il suffit d'utiliser les paquets (officiels ou communautaires) situés sur [[https://github.com/Yunohost-apps|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: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 [[https://github.com/YunoHost-Apps/redirect_ynh | 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 [[https://github.com/YunoHost-Apps/my_webapp_ynh|**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 dans le fichier nginx ''/etc/nginx/conf.d/$DOMAIN.d/my_webapp.conf'' 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; } :!: 09/2023 : en webapp 1.0~ynh14 il existe un sous-dossier de conf nginx, dans lequel ranger un fichier dédié à cette modification, et qui ne sera donc pas réécrit par un prochain upgrade. === 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 [[https://conversejs.org/|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 [[services: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 [[https://github.com/nextcloud/server/issues/3766|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...) L'utilisation de la commance ''occ'' nécessite le bon utilisateur et la bonne version de php. Pour autant, il peut manquer le paramètre "MemCache APCu" (voir issue : https://github.com/nextcloud/server/issues/27781). Dans ce cas, il faut l'ajouter à la main dans la commande, avec l'option '' -\-define apc.enable_cli=1 ''. LA commande finale devient : > sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ maintenance:repair ==== OnlyOffice ==== [[adminsys:apps:onlyoffice|AdminOO]] ==== 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''. ==== Email ==== === 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 [[https://sendersupport.olc.protection.outlook.com/snds/FAQ.aspx#FeedbackAndQuestions|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 lignes ''domaine OK'', - l'ajouter dans la configuration ''/etc/postfix/main.cf'', sous la forme ''check_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 [[https://forum.yunohost.org/t/statistics-mail-server-by-pflogsumm-postfix/3768|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é |