[Résolu : problème causé par Searx, correction (bientôt) faite là-bas.]
Bonjour,
J’explorais un peu l’utilisation de Yunohost sur la Brique en ligne de commande (je regardais le fonctionnement via https://yunohost.org/#/troubleshooting_guide_fr).
À un moment donné, j’ai remarqué que les applications étaient inaccessibles, avec une erreur Nginx.
Il est en effet planté et refuse de redémarrer…
nginx -t me donne :
nginx: [emerg] "sub_filter_once" directive is duplicate in /etc/nginx/conf.d/yunohost_panel.conf.inc:2
nginx: configuration file /etc/nginx/nginx.conf test failed
Et voilà le contenu du fichier yunohost_panel.conf.inc :
# Insert YunoHost panel
sub_filter </head> '<script type="text/javascript" src="/ynhpanel.js"></script></head>';
sub_filter_once on;
# Apply to other mime types than text/html
sub_filter_types application/xhtml+xml;
# Prevent YunoHost panel files from being blocked by specific app rules
location ~ ynhpanel\.(js|json|css) {
}
C’est bien ce fichier qui pose problème vu que si je mets les deux premières lignes en commentaire, nginx redémarre (juste fait pour tester ! je n’ai aucune idée de ce que ça implique).
J’ai remarqué l’erreur après avoir fait une mise à jour manuelle d’etherpad_mypads via sudo yunohost app upgrade -u https://github.com/YunoHost-Apps/etherpad_mypads_ynh etherpad_mypads.
Avant cela, j’ai testé la mise à jour de la Brique en ligne de commande (mais je l’avais faite via l’interface web il y a quelques jours, j’ai été surpris qu’il trouve des choses à mettre à jour…).
Quelle est l’erreur dans ce fichier yunohost_panel.conf.inc ?
Hi,
You have the right yunohost_panel.conf.inc file. For your information, the most recent version is located here.
I guess the problem doesn’t reside in this configuration file, but most probably in the use of the sub_filter_once directive in another nginx configuration file (faulty app?).
Could you please try typing:
sudo grep -R "sub_filter_once" /etc/nginx/
and come back with the result?
Thanks!
P.S. : Oups, je me rends compte que j’ai répondu spontanément en anglais… désolé
Hmm… Du coup ça n’est pas très concluant…
Te rappelles-tu des manipulations que tu as pu faire dans ton “exploration” ?
Ce fichier de configuration sert pour l’incrustation de la “tuile” YunoHost" en bas à droit pour afficher le menu principal. Je suppose que s’il y a une autre déclaration du paramètre quelque part, ta tuile apparait bien sur les applis malgré ta mise en commentaires… tu confirmes ?
Tu pourrais rester en l’état, mais tu risques d’avoir des soucis lors d’une mise à jour ultérieure de YunoHost (bien que ce fichier soit modifié une fois tous les millénaires).
Non, en fait je n’ai plus la tuile en bas à droite… (Ce qui ne me gêne pas dans l’absolu.)
Donc j’ai regardé cette page : https://yunohost.org/#/troubleshooting_guide_fr
J’ai regardé l’utilisation de la RAM, du disque, les logs, les services actifs, j’ai même pas été voir la partie nginx, sachant que je comprendrais rien. Comme tout ça n’a rien modifié sur le système, je suppose que c’est pas ça.
Par contre, et c’est sans doute ça, j’ai fait sudo apt-get update && sudo apt-get dist-upgrade
Puis :
J’ai redémarré ma brique ici (checkrestart m’indiquait beaucoup de choses qui tournait sur d’anciennes versions).
Et donc après ça j’ai fait la mise à jour d’etherpad_mypads et me suis aperçu seulement là que nginx avait planté.
Faut peut-être pas faire ça (apt-get) sur une Brique ?
(J’imagine que mon terme « exploration » ne rassure pas.
Mais je compte sur la Brique pour apprendre des choses, quitte à faire quelques erreurs.)
En fait, avec les “sub_filters” en commentaire, si je fais nginx -t, il me met : « duplicate MIME type “application/xhtml+xml” in /etc/nginx/conf.d/yunohost_panel.conf.inc:5 ».
(Mais il démarre quand même.)
Comme si le fichier était en double, mais je trouve pas.
Les manipulations que tu as réalisées sont parfaitement autorisées (et nécessaires), soit donc rassuré sur ce point
Pour ton problème, je pencherais plutôt vers une application donc la conf nginx inclut deux fois yunohost_panel.conf.inc pour une même location.
Quelles sont les applications que tu as installées ?
apps:
0:
description: Client web pour CalDAV
id: agendav
installed: False
label: None
license: GPL-3
name: AgenDAV
1:
description: Serveur CalDAV+CardDAV léger
id: baikal
installed: False
label: None
license: GPL-3
name: Baikal
2:
description: Doctor Cube s'assure que votre Brique Internet fonctionne comme prévue
id: doctorcube
installed: True
label: Doctor Cube
license: GPL-3+
name: Doctor Cube
3:
description: DokuWiki est un wiki Open Source simple à utiliser et très polyvalent qui n'exige aucune base de données.
id: dokuwiki
installed: False
label: None
license: free
name: Dokuwiki
4:
description: Clone de Framapad, un éditeur en ligne fournissant l'édition collaborative en temps réel.
id: etherpad_mypads
installed: True
label: Etherpad Mypads
license: Apache-2.0
name: Etherpad Mypads
5:
description: Un jeu de puzzle très rapide.
id: hextris
installed: False
label: None
license: indéfinie
name: Hextris
6:
description: Hotspot Wifi
id: hotspot
installed: True
label: Wifi Hotspot
license: AGPL-3
name: Wifi Hotspot
7:
description: Hébergez simplement un fichier et partagez-le avec un lien unique
id: jirafeau
installed: True
label: Jirafeau
license: free
name: Jirafeau
8:
description: Kanboard est une application web de management de tâches simples
id: kanboard
installed: False
label: None
license: indéfinie
name: Kanboard
9:
description: The Kickass Social Network
id: movim
installed: True
label: Movim
license: AGPL-3
name: Movim
10:
description: Application Web personnalisée avec accès SFTP
id: my_webapp
installed: False
label: None
license: free
name: Custom Webapp
11:
description: Application gérant les configurations spécifiques à Neutrinet
id: neutrinet
installed: True
label: Neutrinet
license: GPL-3+
name: Neutrinet
12:
description: Consultez et partagez vos fichiers, agendas, carnets d'adresses, emails et bien plus depuis les appareils de votre choix, sous vos conditions
id: nextcloud
installed: True
label: Nextcloud
license: AGPL-3
name: Nextcloud
13:
description: OpenSondage sert à faire des sondages sans authentification pour trouver une date de réunion qui convienne à toutes les personnes concernées.
id: opensondage
installed: False
label: None
license: indéfinie
name: OpenSondage
14:
description: Application web de gestion des bases de données MySQL
id: phpmyadmin
installed: False
label: None
license: free
name: phpMyAdmin
15:
description: PirateBox
id: piratebox
installed: False
label: None
license: AGPL-3
name: PirateBox
16:
description: Webmail léger multi-comptes
id: rainloop
installed: True
label: Rainloop
license: AGPL-3.0
name: Rainloop
17:
description: Webmail Open Source
id: roundcube
installed: True
label: Roundcube
license: GPL-3
name: Roundcube
18:
description: Un méta-moteur de recherche respectueux de la vie privée et bidouillable
id: searx
installed: True
label: Searx
license: AGPLv3
name: Searx
19:
description: Émulateur de terminal web
id: shellinabox
installed: False
label: None
license: free
name: Shell In A Box
20:
description: Strut est un éditeur de slide permetant de créer des présentation impress.js.
id: strut
installed: True
label: Strut
license: indéfinie
name: Strut
21:
description: Un client BitTorrent libre et rapide
id: transmission
installed: False
label: None
license: indéfinie
name: Transmission
22:
description: Un lecteur de flux en PHP et Ajax
id: ttrss
installed: True
label: Tiny Tiny RSS
license: indéfinie
name: Tiny Tiny RSS
23:
description: Client VPN
id: vpnclient
installed: True
label: VPN Client
license: AGPL-3
name: VPN Client
24:
description: Une application de lecture-plus-tard auto-hébergeable
id: wallabag
installed: False
label: None
license: MIT
name: Wallabag
25:
description: Logiciel de création de blog ou de site Web
id: wordpress
installed: False
label: None
license: GPLv2
name: WordPress
26:
description: Un pastebin minimaliste, libre et où le serveur n'a aucune connaissance des données copiées
id: zerobin
installed: False
label: None
license: indéfinie
name: Zerobin
Je vois qu’il ne supprime pas définitivement celles que j’ai testées.
Via yunohost app list -i :
apps:
0:
description: Doctor Cube s'assure que votre Brique Internet fonctionne comme prévue
id: doctorcube
installed: True
label: Doctor Cube
license: GPL-3+
name: Doctor Cube
1:
description: Clone de Framapad, un éditeur en ligne fournissant l'édition collaborative en temps réel.
id: etherpad_mypads
installed: True
label: Etherpad Mypads
license: Apache-2.0
name: Etherpad Mypads
2:
description: Hotspot Wifi
id: hotspot
installed: True
label: Wifi Hotspot
license: AGPL-3
name: Wifi Hotspot
3:
description: Hébergez simplement un fichier et partagez-le avec un lien unique
id: jirafeau
installed: True
label: Jirafeau
license: free
name: Jirafeau
4:
description: The Kickass Social Network
id: movim
installed: True
label: Movim
license: AGPL-3
name: Movim
5:
description: Application gérant les configurations spécifiques à Neutrinet
id: neutrinet
installed: True
label: Neutrinet
license: GPL-3+
name: Neutrinet
6:
description: Consultez et partagez vos fichiers, agendas, carnets d'adresses, emails et bien plus depuis les appareils de votre choix, sous vos conditions
id: nextcloud
installed: True
label: Nextcloud
license: AGPL-3
name: Nextcloud
7:
description: Webmail léger multi-comptes
id: rainloop
installed: True
label: Rainloop
license: AGPL-3.0
name: Rainloop
8:
description: Webmail Open Source
id: roundcube
installed: True
label: Roundcube
license: GPL-3
name: Roundcube
9:
description: Un méta-moteur de recherche respectueux de la vie privée et bidouillable
id: searx
installed: True
label: Searx
license: AGPLv3
name: Searx
10:
description: Strut est un éditeur de slide permetant de créer des présentation impress.js.
id: strut
installed: True
label: Strut
license: indéfinie
name: Strut
11:
description: Un lecteur de flux en PHP et Ajax
id: ttrss
installed: True
label: Tiny Tiny RSS
license: indéfinie
name: Tiny Tiny RSS
12:
description: Client VPN
id: vpnclient
installed: True
label: VPN Client
license: AGPL-3
name: VPN Client
J’utilise surtout TTRSS, NextCloud, un peu etherpad (mais j’exporte régulièrement ce que j’y mets) et les autres occasionnellement (pas grand chose à y perdre).
/etc/nginx/conf.d/pad.brique.mondomaine.tld.d/etherpad_mypads.conf: include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/ttrss.conf: include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/wifiadmin.conf: include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/vpnadmin.conf: include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/rainloop.conf: include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/searx.conf: include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/searx.conf:include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/strut.conf: include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/movim.conf:include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/jirafeau.conf: include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/nextcloud.conf: include conf.d/yunohost_panel.conf.inc;
/etc/nginx/conf.d/brique.mondomaine.tld.d/roundcube.conf: include conf.d/yunohost_panel.conf.inc;
Curieusement, sans sudo, j’ai la même chose, mais avec cette ligne qui change :
grep: /etc/nginx/conf.d/brique.mondomaine.tld.d/jirafeau.conf: Permission non accordée
Si j’en mets un des deux en commentaires et décommente dans yunohost_panel.conf.inc, puis service nginx restart, ça fonctionne (et j’ai bien la tuile qui apparait en bas à droite dans les app via le web).
oui, tu peux ouvrir une issue sur github. Cela nécessite d’ouvrir un compte github.(onglet -> Issues > Ouvrir une Issue)
N’oublie pas de mettre le maximum d’informations possible.(en fait surtout, le résultat de la commande “nginx -t” et ce que tu as dit ici)