Réinstallation de webapp sur un nouveau chemin

What type of hardware are you using: Other ARM board
What YunoHost version are you running: 12.1.39
How are you able to access your server: The webadmin
Are you in a special context or did you perform specific tweaking on your YunoHost instance ?: No

Describe your issue

Bonjour,

Comme indiqué dans mon précédent billet, j’ai demandé à ce qu’il soit supprimé, j’ai dû réinstaller mes applications du domaine lesmegeresdelhumus.fr pour pouvoir installer le site web des Mégères de l’Humus sur la racine.

Avant cela, il y avait trois applications installées sur lesmegeresdelhumus.fr dont les routes étaient :

  1. lesmegeresdelhumus.fr/maintenant avec l’application my_webapp
  2. lesmegeresdelhumus.fr/site avec l’application my_webapp__3
  3. lesmegeresdelhumus.fr/nextcloud

Dans ce contexte là il ne m’était pas possible de changer l’URL de l’application my_webapp__3 pour l’installer sur la racine car cela générer un conflit avec l’installation des 2 autres applications.

Je précise que l’application webapp me permettait d’afficher une page de maintenance prévenant que le site était en construction, alors que l’application webapp__3 permettait d’afficher le site web de façon tout à fait opérationnel à vocation de test.

Il est évident que je ne pouvais pas basculer ce site en production sans changer son URL de lesmegeresdelhumus.fr/site1 vers lesmegeresdelhumus.fr.

Après avoir fait les sauvegardes, j’ai donc désinstaller les 3 applis avec l’objectif d’installer my_webapp sur la racine du site et de créer un sous-domaine pour y installer Nextcloud.

Voici donc les routes yunohost de mon serveur :
yunohost app map
lesmegeresdelhumus.fr: Les Mégères de l’Humus - site officiel
nextcloud.lesmegeresdelhumus.fr: Nextcloud
paysaflore.fr: Paysaflore
sante9naturel.fr/dotclear2: La Santé par Choix
sante9naturel.fr/phpmyadmin: phpMyAdmin

Une fois l’application my_webapp installée, j’ai eu accès à la page servie par défaut sur index.html.

Ne me restait plus qu’à déployer les fichiers de mon application à partir de ma machine locale de développement, ce qui fût fait en utilisant ma routine ./deploy.sh qui m’a servi pendant toute la période de développement.

Le résultat est un répertoire /var/www/my_webapp peuplé avec les assets et les pages php de mon site.

Il ne restait plus qu’à vérifier les 3 fichiers de conf. propres à l’application my_webapp.

Après cette vérification, les tests sont négatifs. Je n’arrive pas à accéder au site sur l’URL https://lesmegeresdelhumus.fr.

Le message d’erreur est un message d’erreur de Firefox qui dit : "Erreur de chargement de la page lesmegeresdelhumus.fr La page n’est pas redirigée correctement.

J’aurai besoin d’éléments pour poser un diagnostic : est-ce un problème de routage de mon fichier index.php, est-ce un problème de routage yunohost, est-ce un problème de routage nginx ?

L’application fonctionnait très bien quand elle était installée sur lesmegeresdelhumus.fr/site1.

Merci pour vos pistes, vos aides, vos conseils.

Cordialement.

Share relevant logs or error messages

2026/05/10 14:51:37 [crit] 2874#2874: *1407 stat() "/var/www/my_webapp/www/index.php?" failed (13: Permission denied), client: 66.249.70.69, server: lesmegeresdelhumus.fr, request: "GET /build/yunohost-portal-dv5MOr/yunohost-portal-12.1.2/locales/uk.json HTTP/1.1", host: "lesmegeresdelhumus.fr"

Apparemment un problème de droits. Que renvoie ls -la /var/www/my_webapp/ ?
Ce devrait être drwxr-xr-x 2 my_webapp www-data

1 Like

Merci pour ta suggestion. J’ai vu qu’il y avait deux écoles. Soit en effet mettre les permissions à my_webapp:www-data ou bien, comme je l’ai fait, mettre les permissions à my_webapp:my_webapp en ajoutant l’accès au groupe my_webapp à l’utilisateur www-data, ce que j’ai fait. Cela fonctionnait comme cela sur https://lesmegeresdelhumus.fr/site1 tout à fait correctement.

Je suis en train de tester le paramétrage des fichiers de conf de nginx. L’erreur est maintenant passée à 500 Internal Server Error. Je tâtonne..

:thinking: Quelle est donc l’origine de cette erreur de droits alors ?
2026/05/10 14:51:37 [crit] 2874#2874: *1407 stat() "/var/www/my_webapp/www/index.php?" failed (13: Permission denied), client: 66.249.70.69, server: lesmegeresdelhumus.fr, request: "GET /build/yunohost-portal-dv5MOr/yunohost-portal-12.1.2/locales/uk.json HTTP/1.1", host: "lesmegeresdelhumus.fr"

Il faudrait avoir accès aux derniers logs pour pouvoir t’aider.

Oui c’est exact. Je compare les 3 fichiers de conf de nginx le vhost géré par yunohost lui-même + celui dans /etc/nginx/conf.d/lesmegeresdelhumus.fr.d/ et celui dans /etc/nginx/conf.d/lesmegeresdelhumus.fr.d/my_webapp.d/ avec les 3 mêmes fichiers d’une autre application my_webapp qui tourne aussi avec html+css+php et avec les 3 mêmes fichiers qui tournaient sur lesmegeresdelhumus.fr/site1.

Voici les derniers logs qui donne l’erreur HTTP/2 500 Internal Server Error.

Peux-tu partager celui de /etc/nginx/conf.d/lesmegeresdelhumus.fr.d/my_webapp.conf ?

1 Like

Oui bien sûr. Voilà:

#rewrite ^/$ / permanent;
location / {

#Header de protection 
add_header X-Frame-Options           "SAMEORIGIN"                      always;
add_header X-Content-Type-Options    "nosniff"                         always;
add_header Referrer-Policy           "strict-origin-when-cross-origin" always;
add_header Content-Security-Policy"  "default-src 'self' https://*.helloasso.com 'unsafe-inline' 'unsafe-eval' data:; style-src-elem 'self' https://*.helloasso.com; script-src 'self' 'unsafe-inline' https://*.helloasso.com; frame-src 'self' https://*.helloasso.com; media-src 'self' https://*.helloasso.com; object-src 'none'" always;

# Path to source
alias /var/www/my_webapp/www/;

# Default indexes and catch-all
index index.php;
try_files $uri $uri/ /index.php?$args =404;

# Prevent useless logs
location = /favicon.ico {
    log_not_found off;
    access_log off;
}

location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
}

# Deny access to hidden files and directories
location ~ ^/(.+/|)\.(?!well-known\/) {
    deny all;
}

include conf.d/lesmegeresdelhumus.fr.d/my_webapp.d/*.conf;

# Include SSOWAT user panel.
include conf.d/yunohost_panel.conf.inc;

}

curl -I http://lesmegeresdelhumus.fr renvoie bien vers https://lesmegeresdelhumus.fr mais j’ai une erreur avec

curl -I https://lesmegeresdelhumus.fr
curl: (92) HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1)

Il y a une quote en trop ici

add_header Content-Security-Policy"

C’est toi qui as ajouté tous ces headers ?

2 Likes

Oui pour la sécurité. Merci pour le coup d’œil. La page index.php s’affiche. Je n’ai plus qu’à régler le problème des 404 sur les autres pages. Je reprends demain. Un grand merci @otm33. Vraiment.

2 Likes

Pour contourner le problème du 404 sur les pages PHP, il a fallu ajouter un named location dans /etc/nginx/conf.d/lesmegeresdelhumus.d/my_webapp.conf en précisant le SCRIPT_FILENAME, le SITE_BASE_URL et le SITE_BASE_PATH.

@otm33, je peux te payer un café :wink:

2 Likes

Coucou @pidlas et super :tada:

Si le problème est résolu tu dois pouvoir cliquer sur “Solution” au niveau du post d’ @otm33 qui t’a aidé :wink:

Bonne continuation et au plaisir :blush:

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.