====== Orange PI 3B ====== Globalement pour l'installation, se référer à [[homeserver:olinolinux|Installer un serveur Olimex A20, LIME 2]] [[homeserver:olinolinux|Installer un serveur Olimex A20, LIME 2]] Pour utilisation serveur auto hébergé. Un grand merci à https://debian-fr.org, notamment Verner ;) pour les conseils avisés et expertises. ===== Liens ===== * https://github.com/defencedog/orangepi3b_v2.1/blob/main/Ethernet_Dead.md * https://www.armbian.com/orangepi3b/ * https://discord.com/channels/934722269522059335/934724729481342997 * https://www.minimachines.net/actu/orange-pi-3b-une-carte-de-developpement-sous-rk3566-121015 ===== Augmenter la zram des log ===== Par défaut que 50Mo, le serveur râle de temps en temps... Pour augmenter cela, éditer /etc/default/orangepi-ramlog Et passer à 500 Mo # size of the tmpfs mount -- # please keep in mind to adjust /etc/default/orangepi-zram-config too when increasing SIZE=50M Rebooter ===== Brancher un disque USB au démarrage pour augmenter le stockage ===== Dans mon cas, sert à créer un stockage externe nextclound (qui hébergera notamment la musique de Navidrome) Editer le fstab et insérer cette ligne. Les options sont importantes afin que la séquence de boot ne soit pas perturbée. UUID=a85a287d-6bc2-4b6d-8219-33ea9cd3d2e2 /diskUSB ext4 user,exec,noauto,x-systemd.automount,errors=remount-ro 0 2 ===== Nextcloud ===== Afin d'éviter les erreurs de la version 29, installer Nextcloud en sous domaine ;) ===== Gestion Ventilo ===== Pour l'instant, juste un script qui allume des diodes. A adapter avec le ventillo. Le script cat scripts/fan.sh #!/bin/bash WAIT=0.5 gpio mode 10 out gpio mode 6 out gpio mode 5 out while true; do gpio write 10 0 gpio write 6 0 gpio write 5 0 sleep $WAIT gpio write 10 1 gpio write 6 1 gpio write 5 1 sleep $WAIT done Le service systemd cat /etc/systemd/system/fan.service [Unit] Description=Gestion du ventilateur ConditionPathExists=/home/crust/scripts/fan.sh after=network.target [Service] Type=forking ExecStart=/home/crust/scripts/fan.sh start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target Activer le service au démarrage systemctl enable fan.service ===== Bug carte ethernet ===== Je ne sais pourquoi la carte ethernet du jour au lendemain est devenue HS. Impossible d'obtenir une IP Bug référencé ici https://www.reddit.com/r/OrangePI/comments/1aojmn3/orange_pi_3b_ethernet_doesnt_work/ La solution est d'écrire un script et de relancer le réseau #!/bin/sh # SOURCE https://www.reddit.com/r/OrangePI/comments/1aojmn3/orange_pi_3b_ethernet_doesnt_work/ /usr/local/bin/io -4 0xFDC60284 0x3f3f3f3f /usr/local/bin/io -4 0xFDC6028C 0x003f003f /usr/local/bin/io -4 0xFDC60298 0x3f003f00 /usr/local/bin/io -4 0xFDC6029C 0x3f3f3f3f /usr/local/bin/io -4 0xfdc60388 0xFFFF0049 /usr/sbin/service networking restart Par contre il faudra le lancer après chaque reboot... Donc le coller sur une crontab root # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command # Fix ethernet bug @reboot /home/crust/scripts/fixethernet.sh Attention cette procédure semble changer l'ipv6 de la carte, donc il faut mettre à jour sa zone DNS... A suivre. ===== Ajout d'infos au message lors du login ===== Modifier le message d'accueil Le message d'accueil lors du login ssh se compose d'une succession de fichier lus les uns après les uns et se situant dans /etc/update-motd.d/ . Il suffit de les préfixer d'un nombre, ils sont lus par ordre croissant. ls /etc/update-motd.d/ 10-orangepi-header 41-orangepi-config 10-uname 35-orangepi-tips 92-unattended-upgrades 30-orangepi-sysinfo 40-orangepi-updates 98-orangepi-autoreboot-warn Exemple d'ajout # nano /etc/update-motd.d/31-disk-usb Avec ce contenu #!/bin/bash # Afficher l'occupation disque du disque externe DISK=/diskUSB/ NOMDISK="ZIK" # Couleurs VERT="\e[0;92m" COLDEFAUT="\033[0m" echo -e "Storage("$VERT$NOMDISK$COLDEFAUT"):\t"$VERT$(df -h $DISK | grep G | awk '{print $5}')$COLDEFAUT " of "$(df -h $DISK | grep G | awk '{print $2}') echo "" Le rendre executable # chmod +x /etc/update-motd.d/31-disk-usb Puis au prochain log, l'insertion sera effective ;) Pour le tester de suite update-motd ===== Migration vers DEBIAN 12 / YUNOHOST 12 ===== Passage sans soucis Mise à jour complète au préalable et backups des apps et du systeme yunohost tools update yunohost tools upgrade apps yunohost tools upgrade system Backups yunohost backup create --apps -n 20241109apps -o /diskUSB yunohost backup create --system -n 20241109sys -o /diskUSB Lancement de la migration yunohost tools migrations run yunohost tools migrations run --accept-disclaimer Accès refusé aux pages internet, relancer nginx et c'est réglé service nginx restart Soucis au niveau d'apt. Pour le régler : yunohost tools regen-conf apt --dry-run --with-diff yunohost tools regen-conf apt --force Soucis au niveau d'une clef (ugly) méthode pour le régler : cd /etc/apt cp trusted.gpg trusted.gpg.d Installation du rspamd pose soucis. Suffit de supprimer l'ancienne version manuellement apt purge rspamd rm -rf /etc/rspamd Et d'installer la brique éponyme de yunohost via l'API web de yunohost yunohost --version yunohost: repo: stable version: 12.0.6 yunohost-admin: repo: stable version: 12.0.3.5 yunohost-portal: repo: stable version: 12.0.6 moulinette: repo: stable version: 12.0.3 ssowat: repo: stable version: 12.0.3 lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm ===== Créer une liste blanche (whitelist) et une liste noire (blacklist) pour rspamd (yunohost 12) ===== Après avoir relu la doc très consistante de **rspamd** et épluché le web, j’ai adopté cette solution qui me convient (elle peut être très adaptée à tous les besoins mais faut l’assimiler ;) Donc, tout ce passe dans /etc/rspamd et surtout dans le dossier local.d/ (donc dans **/etc/rspamd/local.d** ). Ce dossier permet que les additions de config ne soient pas effacées en cas de mise à jour et de compléter les conf existantes sans les effacer. De base, il n’y a que le fichier redis.conf Créer un fichier de **multimap.conf** contenant la map suivante : WHITELIST_SENDER_DOMAIN { type = "from"; filter = "email:domain"; map = "${LOCAL_CONFDIR}/local.d/whitelist.sender.domain.map"; action = "accept"; } WHITELIST_SENDER_EMAIL { type = "from"; map = "${LOCAL_CONFDIR}/local.d/whitelist.sender.email.map"; action = "accept"; } BLACKLIST_SENDER_DOMAIN { type = "from"; filter = "email:domain"; map = "${LOCAL_CONFDIR}/local.d/blacklist.sender.domain.map"; action = "reject"; } BLACKLIST_SENDER_EMAIL { type = "from"; map = "${LOCAL_CONFDIR}/local.d/blacklist.sender.email.map"; action = "reject"; } Créer ensuite un fichier **whitelist.sender.domain.map** qui permettra une liste blanche basée sur le domaine.extension et un fichier **whitelist.sender.email.map** qui fournira une liste blanche basée sur l’adresse mail Donc, par exemple **whitelist.sender.domain.map** site1.ext site2.ext Et pour les adresses mails **whitelist.sender.email.map** mail@site1.ext mail@site2.ext Faire de même pour la liste noire, pour cela créer 2 fichiers **blacklist.sender.domain.map** et **blacklist.sender.email.map** et les renseigner comme ceux de la liste blanche. Sinon les laisser vides. Attention, pour la blacklist , les mails reviendront à l’expéditeur avec ce message : host serveur.ext[XX.XX.XX.XX] said: 554 5.7.1 Matched map: BLACKLIST_SENDER_DOMAIN (in reply to end of DATA command) Relancer ensuite **rpsamd** service rspamd restart C’est mis en place Plus d’infos ici : [[https://rspamd.com/doc/modules/multimap.html|Multimap module]]