GeotrekCE / Geotrek-admin

Paths management for National Parks and Tourism organizations
https://geotrek.fr
BSD 2-Clause "Simplified" License
136 stars 76 forks source link

Erreur 404 sur le dossier static #4259

Closed murdokland closed 3 months ago

murdokland commented 3 months ago

Bonjour,

je viens d'installer Geotrek-admin, j'ai pu m'authentifier, mais l'affichage est cassé quand je regarde la console d'erreur, je vois beaucoup de 404 sur le dossier static.

image

Merci de l'aide.

Chatewgne commented 3 months ago

Bonjour,

quelle méthode d'installation avez-vous utilisé svp ? Docker, package debian ?

murdokland commented 3 months ago

Bonjour, je suis passé par docker en utilisant cette méthode https://geotrek.readthedocs.io/en/2.108.0/install/installation.html#docker

Chatewgne commented 3 months ago

D'accord, l'étape docker compose run --rm web update.sh s'occupe de placer les fichiers statiques au bon endroit (normalement <dossier d'installation geotrek>/var/static), ensuite la configuration nginx / docker-compose doit être cohérente de sorte à servir les fichiers depuis ce dossier.

Pouvez-vous fournir un extrait de la configuration nginx concernant /static ou /var ?

murdokland commented 3 months ago

merci du retour voici les infos que j'ai j'espère que c'est bien ca que vous voulez j'ai modifié le nom du server_name

server {
    listen 80;
    server_name mondomain.com; 

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /static/ {
        alias opt/geotrek-admin/static/;
    }

    location /media/ {
        alias opt/geotrek-admin/media/;
    }

    error_log /var/log/nginx/geotrek_error.log;
    access_log /var/log/nginx/geotrek_access.log;
}
Chatewgne commented 3 months ago

Est-ce que vous avez essayé opt/geotrek-admin/var/static/ au lieu de opt/geotrek-admin/static/ ? Idem opt/geotrek-admin/var/media/ au lieu de opt/geotrek-admin/media/ ?

murdokland commented 3 months ago

effectivement cela à l'air stocké dans le dossier var. J'ai changé la configuration est relancé nginx mais cela n'a pas corrigé le problème.

Chatewgne commented 3 months ago

D'accord, quel est le dossier d'installation docker svp?

Par exemple si le docker-compose.yml est dans /home/myuser/geotrek-admin il faudrait essayer de mettre /home/myuser/geotrek-admin/var/static/ dans nginx

murdokland commented 3 months ago

oui le fichier est à la racine du dossier Geotrek-admin je l'ai déplacé voici ce que j'ai maintenant ~/Geotrek-admin/var/static$ docker-compose up -d WARN[0000] The "SERVER_NAME" variable is not set. Defaulting to a blank string. WARN[0000] /home/debian/Geotrek-admin/var/static/docker-compose.yml: the attribute version is obsolete, it will be ignored, please remove it to avoid potential confusion env file /home/debian/Geotrek-admin/var/static/.env not found: stat /home/debian/Geotrek-admin/var/static/.env: no such file or directory

Chatewgne commented 3 months ago

Le fichier docker-compose.yml doit rester à la racine /home/debian/Geotrek-admin/ et la commande docker-compose up -d doit bien être lancée depuis /home/debian/Geotrek-admin/, je parlais d'adapter la configuration nginx ainsi :

    location /static/ {
        alias /home/debian/Geotrek-admin/var/static/;
    }

    location /media/ {
        alias /home/debian/Geotrek-admin/var/media/;
    }
murdokland commented 3 months ago

désolé je n'avais pas compris. j'ai modifié la configuration nginx puis redémarrer celui, j'ai toujours les 404 sur les fichiers.

murdokland commented 3 months ago

je viens de vérifier par exemple une des 404 est le fichier css qui est dans static/land/style.css dans l'arborescence je le vois bien dans /home/debian/Geotrek-admin/var/static/land/style.css

murdokland commented 3 months ago

Le fichier docker-compose.yml doit rester à la racine /home/debian/Geotrek-admin/ et la commande docker-compose up -d doit bien être lancée depuis /home/debian/Geotrek-admin/, je parlais d'adapter la configuration nginx ainsi :

    location /static/ {
        alias /home/debian/Geotrek-admin/var/static/;
    }

    location /media/ {
        alias /home/debian/Geotrek-admin/var/media/;
    }

C'est bon ca marche ! Je n'avais pas mis les majuscules sur le dossier Geotrack-admin, il fallait donc bien mettre /home/debian avant. Merci beaucoup !