[nginx] File not found. (résolu)

Applications, problèmes de configuration réseau
Répondre
ignace72
Elfe
Messages : 521
Inscription : ven. 09 sept. 2011, 14:21

[nginx] File not found. (résolu)

Message par ignace72 »

Bonsoir à toutes et à tous.
J’ai le projet de rapatrier Matomo sur mon PC plutôt que le laisser sur mon serveur.
J’ai donc installé Nginx, PHP-FPM et MariaDB.
Jusque-là, tout va bien.
C’est ensuite que ça bug.
Je me doute bien que le problème est entre la chaise et le clavier, mais je ne vois pas ce qui coince.
J’ai créé un fichier /etc/nginx/sites-enabled/matomo.localhost
nginx -t ne me donne pas d’erreur.
Voilà le fichier :

Code : Tout sélectionner

server {
    listen 80;
    server_name matomo.localhost;
error_log /var/log/nginx/error.log warn;
    location / {
        root /srv/http/matomo/;
        index  index.php index.html index.htm;
}
    location ~ \.php$ {
   fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
   fastcgi_index index.php;
   root /usr/share/nginx/html;
   include fastcgi.conf;

    }
}
Quand je tape l’adresse http://matomo.localhost dans Vivaldi, j’ai juste les mots suivants qui s’affichent :
File not found.
Qu’es-je fait de mal ?
Une bonne âme pourrait-elle m’aider ?
Merci par avance.
Dernière modification par ignace72 le lun. 10 juil. 2023, 13:27, modifié 1 fois.
AMD Ryzen 3 1200 Quad-Core,32 Go de Ram DDR4, Wifi, USB3, S-ATA 3
21,5" LCD x2 sur AMD FirePro W5000 (pilote libre radeon).
KDE et BÉPO.
Site perso : https://ignace72.eu
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17238
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [nginx] File not found.

Message par benjarobin »

Bonjour,
Est-ce que /etc/nginx/nginx.conf inclut ce fichier (/etc/nginx/sites-enabled/matomo.localhost) ou tous les fichiers de /etc/nginx/sites-enabled/* ?
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
ignace72
Elfe
Messages : 521
Inscription : ven. 09 sept. 2011, 14:21

Re: [nginx] File not found.

Message par ignace72 »

Bonjour, benjarobin.
Oui, les sites-enabled sont inclus.
J’ai un peu avancé, maintenant, j’ai l’erreur 403 Forbidden.
Je regarde si je suis bien dans le groupe http et sinon, je l’ajoute et me reconnecte.
À toute suite.
AMD Ryzen 3 1200 Quad-Core,32 Go de Ram DDR4, Wifi, USB3, S-ATA 3
21,5" LCD x2 sur AMD FirePro W5000 (pilote libre radeon).
KDE et BÉPO.
Site perso : https://ignace72.eu
ignace72
Elfe
Messages : 521
Inscription : ven. 09 sept. 2011, 14:21

Re: [nginx] File not found.

Message par ignace72 »

Bon, il y avait un problème de droit sur le répertoire http.
J’ai toujours l’erreur 403 Forbidden.
Si je fais http://localhost/index.php (avec phpinfo dedans), mon navigateur me propose de le télécharger.
Pourtant :

Code : Tout sélectionner

$ sudo systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
     Active: active (running) since Mon 2023-07-10 02:11:31 CEST; 5h 39min ago
   Main PID: 1379507 (php-fpm)
     Status: "Processes active: 0, idle: 2, Requests: 5, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 38397)
     Memory: 14.3M
        CPU: 514ms
     CGroup: /system.slice/php-fpm.service
             ├─1379507 "php-fpm: master process (/etc/php/php-fpm.conf)"
J’ai l’impression que c’est un truc tout bête, mais je n’arrive pas à mettre la main dessus.
Dernière modification par ignace72 le lun. 10 juil. 2023, 18:52, modifié 1 fois.
AMD Ryzen 3 1200 Quad-Core,32 Go de Ram DDR4, Wifi, USB3, S-ATA 3
21,5" LCD x2 sur AMD FirePro W5000 (pilote libre radeon).
KDE et BÉPO.
Site perso : https://ignace72.eu
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17238
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [nginx] File not found.

Message par benjarobin »

Peux tu nous donner tous les fichiers de configuration de nginx ?
Sinon c'est normal que http://localhost/index.php te demande de le télécharger le fichier .php. Car tu ne passes par par ton sous domaine. Via la "chemin" (host) par défaut, il n'y a aucune configuration qui gère PHP.
De plus tu n'as pas besoin d'être dans le groupe http. Peux tu donner la sortie de

Code : Tout sélectionner

ls -la /srv/http/ /srv/http/matomo/
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
ignace72
Elfe
Messages : 521
Inscription : ven. 09 sept. 2011, 14:21

Re: [nginx] File not found.

Message par ignace72 »

En fait, j’ai passé la config directement dans nginx.conf le temps de trouver ce qui ne va pas.
Maintenant, il y a un message d’erreur au lieu du téléchargement du fichier index.php :

Code : Tout sélectionner

An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.

If you are the system administrator of this resource then you should check the error log for details.

Faithfully yours, nginx.
nginx.conf :

Code : Tout sélectionner

#user http;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
	include		sites-enabled/*;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  matomo;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /srv/http/matomo/;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one

        location ~ /\.ht {
            deny  all;
        }
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}
hosts
# Standard host addresses

Code : Tout sélectionner

127.0.0.1  localhost
127.0.0.1  matomo
::1        localhost ip6-localhost ip6-loopback
ff02::1    ip6-allnodes
ff02::2    ip6-allrouters
# This host address
127.0.1.1  ignace-PC
Ha oui, j’ai oublié de préciser que ce site n’est pas destiné à être vu par un autre ordinateur.
AMD Ryzen 3 1200 Quad-Core,32 Go de Ram DDR4, Wifi, USB3, S-ATA 3
21,5" LCD x2 sur AMD FirePro W5000 (pilote libre radeon).
KDE et BÉPO.
Site perso : https://ignace72.eu
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17238
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [nginx] File not found.

Message par benjarobin »

Ta configuration ne respecte pas ce qui est décrit dans le wiki https://wiki.archlinux.org/title/Nginx# ... ementation
De plus tu n'as pas donné les sorties demandées
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
ignace72
Elfe
Messages : 521
Inscription : ven. 09 sept. 2011, 14:21

Re: [nginx] File not found.

Message par ignace72 »

Voilà, ça fonctionne, je peux maintenant installer Matomo.
Merci beaucoup, et aussi pour ta patience.

Voilà la sortie de ls -la /srv/http/ /srv/http/matomo/

Code : Tout sélectionner

/srv/http/:
total 16
drwxrwxr-x 3 http http 4096 10 juil. 04:18 .
drwxr-xr-x 5 root root 4096  9 juil. 02:26 ..
-rwxrw-r-- 1 http http   21 10 juil. 03:21 index.php
drwxrwxr-x 2 http http 4096 10 juil. 02:21 matomo

/srv/http/matomo/:
total 12
drwxrwxr-x 2 http http 4096 10 juil. 02:21 .
drwxrwxr-x 3 http http 4096 10 juil. 04:18 ..
-rwxrw-r-- 1 http http   21 10 juil. 02:21 index.php
AMD Ryzen 3 1200 Quad-Core,32 Go de Ram DDR4, Wifi, USB3, S-ATA 3
21,5" LCD x2 sur AMD FirePro W5000 (pilote libre radeon).
KDE et BÉPO.
Site perso : https://ignace72.eu
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17238
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [nginx] File not found. (résolu)

Message par benjarobin »

C'est une énorme faille de sécurité de donner les droits http aux fichiers de ton serveur !
Pour les fichiers qui doivent être lus par php/nginx alors les droits le plus sécurisé est root:root en mode 644.
Uniquement pour les dossiers, où le code php peut aller y écrire, ont besoins d'appartenir à http:http.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
ignace72
Elfe
Messages : 521
Inscription : ven. 09 sept. 2011, 14:21

Re: [nginx] File not found. (résolu)

Message par ignace72 »

benjarobin a écrit : lun. 10 juil. 2023, 16:46 C'est une énorme faille de sécurité de donner les droits http aux fichiers de ton serveur !
Pour les fichiers qui doivent être lus par php/nginx alors les droits le plus sécurisé est root:root en mode 644.
Uniquement pour les dossiers, où le code php peut aller y écrire, ont besoins d'appartenir à http:http.
Pourquoi alors les permissions sont par défaut http sur Manjaro et www-data sur Debian ?
Mettre par défaut une énorme faille de sécurité, c’est commun dans les distrib ?
AMD Ryzen 3 1200 Quad-Core,32 Go de Ram DDR4, Wifi, USB3, S-ATA 3
21,5" LCD x2 sur AMD FirePro W5000 (pilote libre radeon).
KDE et BÉPO.
Site perso : https://ignace72.eu
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17238
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [nginx] File not found. (résolu)

Message par benjarobin »

Je ne pense pas que par défaut le dossier /srv/http/ appartienne par défaut à l'utilisateur http.
Il faut que le serveur web (nginx, apache, php) tourne avec un utilisateur ayant des droits limités, c'est pour cela que ces processus sont exécutés avec par exemple l'utilisateur http ou www-data. Mais il ne faut pas que ces processus puissent modifier les fichiers du serveur Web : C'est une faille de sécurité.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
ignace72
Elfe
Messages : 521
Inscription : ven. 09 sept. 2011, 14:21

Re: [nginx] File not found. (résolu)

Message par ignace72 »

benjarobin a écrit : lun. 10 juil. 2023, 18:28 Je ne pense pas que par défaut le dossier /srv/http/ appartienne par défaut à l'utilisateur http.
Il faut que le serveur web (nginx, apache, php) tourne avec un utilisateur ayant des droits limités, c'est pour cela que ces processus sont exécutés avec par exemple l'utilisateur http ou www-data. Mais il ne faut pas que ces processus puissent modifier les fichiers du serveur Web : C'est une faille de sécurité.
Ben si le serveur web ne peut pas modifier les fichiers, comment fais-tu pour modifier le contenu ?
Notamment : ajouter une photo ou une vidéo dans un article !
Ou bien l’extension de sauvegarde qui n’a pas les droits pour enregistrer les archives, ça va fonctionner moins bien.
Enfin, c’est comme cela que je comprends la chose.
Il est aussi possible que j’aie tout faux.
AMD Ryzen 3 1200 Quad-Core,32 Go de Ram DDR4, Wifi, USB3, S-ATA 3
21,5" LCD x2 sur AMD FirePro W5000 (pilote libre radeon).
KDE et BÉPO.
Site perso : https://ignace72.eu
Avatar de l’utilisateur
papajoke
Elfe
Messages : 779
Inscription : sam. 30 août 2014, 19:54

Re: [nginx] File not found. (résolu)

Message par papajoke »

salut

Légèrement modifié :
ignace72 a écrit : lun. 10 juil. 2023, 16:57 Pourquoi alors les permissions sont par défaut <MONLOGIN> ?
Mettre par défaut une énorme faille de sécurité, c’est commun dans les distrib ?
C'est exactement ce que tu as écrit :oops:

Il faut voir http comme l'utilisateur qui va visiter ton site, heureusement qu'il ne peut pas modifier le site/l'application !
Eventuellement, par exemple si on permet l'upload ou on va créer des logs, sauvegardes,... alors il faut créer un sous-répertoire accessible en écriture pour http, tu peux voir cela comme son home.
Cela est toujours bien précisé dans la doc à la partie installation si un ou deux sous-répertoires en ont besoin. On verrouille au maximum puis, on ouvre au minimum
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
ignace72
Elfe
Messages : 521
Inscription : ven. 09 sept. 2011, 14:21

Re: [nginx] File not found. (résolu)

Message par ignace72 »

papajoke a écrit : lun. 10 juil. 2023, 18:45 salut

Légèrement modifié :
ignace72 a écrit : lun. 10 juil. 2023, 16:57 Pourquoi alors les permissions sont par défaut <MONLOGIN> ?
Mettre par défaut une énorme faille de sécurité, c’est commun dans les distrib ?
C'est exactement ce que tu as écrit :oops:

Il faut voir http comme l'utilisateur qui va visiter ton site, heureusement qu'il ne peut pas modifier le site/l'application !
Eventuellement, par exemple si on permet l'upload ou on va créer des logs, sauvegardes,... alors il faut créer un sous-répertoire accessible en écriture pour http, tu peux voir cela comme son home.
Cela est toujours bien précisé dans la doc à la partie installation si un ou deux sous-répertoires en ont besoin. On verrouille au maximum puis, on ouvre au minimum
Oups la boulette. :oops:
Le problème, c’est que comme je passe par un CMS depuis 2016, il y a plein de répertoires qui sont modifiés.
Quand mon site était fait avec Bluefish, c’était plus facile.
Mais je me prépare à quitter Wordpress, donc il y a aussi cela à faire.
AMD Ryzen 3 1200 Quad-Core,32 Go de Ram DDR4, Wifi, USB3, S-ATA 3
21,5" LCD x2 sur AMD FirePro W5000 (pilote libre radeon).
KDE et BÉPO.
Site perso : https://ignace72.eu
Avatar de l’utilisateur
papajoke
Elfe
Messages : 779
Inscription : sam. 30 août 2014, 19:54

Re: [nginx] File not found. (résolu)

Message par papajoke »

ignace72 a écrit : lun. 10 juil. 2023, 19:07 il y a plein de répertoires qui sont modifiés.
Cela dépend entièrement de l'application et aussi de notre accès (si uniquement ftp, on est limité)
Par exemple à l'install manuelle de ce forum, on change les droits en 3 - 4 et 7 pour quelques fichiers et répertoires. Oui, c'est un petit peu de travail :lol:
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
ignace72
Elfe
Messages : 521
Inscription : ven. 09 sept. 2011, 14:21

Re: [nginx] File not found. (résolu)

Message par ignace72 »

papajoke a écrit : lun. 10 juil. 2023, 19:15
ignace72 a écrit : lun. 10 juil. 2023, 19:07 il y a plein de répertoires qui sont modifiés.
Cela dépend entièrement de l'application et aussi de notre accès (si uniquement ftp, on est limité)
Par exemple à l'install manuelle de ce forum, on change les droits en 3 - 4 et 7 pour quelques fichiers et répertoires. Oui, c'est un petit peu de travail :lol:
Le travail ne me fait pas peur, ce sont mes capacités qui s’amenuisent qui m’inquiète.
AMD Ryzen 3 1200 Quad-Core,32 Go de Ram DDR4, Wifi, USB3, S-ATA 3
21,5" LCD x2 sur AMD FirePro W5000 (pilote libre radeon).
KDE et BÉPO.
Site perso : https://ignace72.eu
Répondre