[nginx + php-fpm] problème accès à phpinfo.php (Résolu)

Applications, problèmes de configuration réseau
Zebulonfr
Hankyu
Messages : 31
Inscription : sam. 26 janv. 2013, 14:37
Localisation : Bayonne, France

[nginx + php-fpm] problème accès à phpinfo.php (Résolu)

Message par Zebulonfr »

Bonjour à tous,

Souhaitant peut être installer un serveur web nginx sur une base archlinux, je n'arrive pas a comprendre ce qui pose problème au niveau de ma configuration.
J'ai suivis le tuto qui se trouve ic : https://www.tecmint.com/install-nginx-p ... rch-linux/ et cela fonctionne correctement. Je vous donne la conf du nginx.conf:

Code : Tout sélectionner

#user html;
worker_processes  2;
#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;
default_type  application/octet-stream;
sendfile        on;
#tcp_nopush     on;
#keepalive_timeout  0;
keepalive_timeout  65;
gzip  on;
server {
listen       80;
server_name  localhost;
root   /usr/share/nginx/html;
charset koi8-r;
location / {
index  index.php index.html index.htm;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
location /phpmyadmin {
rewrite ^/* /phpMyAdmin last;
}
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;
}
location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ /\.ht {
deny  all;
}
}         
}
J'ai voulu créér mon propre fichier de conf et cela ne fonctionne pas. impossible d’accéder à mon fichier "phpinfo.php" ou à phpMyAdmin. J'ai un "file not found" ou un "403 Access forbidden". je n'arrive vraiment pas a comprendre pourquoi. Du coup lorsque je veux configurer mon propre serveur virtuel cela ne fonctionne pas.

voici mon fichier "nginx.conf"

Code : Tout sélectionner

#user html;
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;
    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  localhost;

        charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/share/nginx/html;
            index index.php 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;
        #}

		location /phpmyadmin {
			rewrite  ^/* /phpMyAdmin last;
		}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
        #    root           html;
            fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi.conf;
        }

        # 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;
    #    }
    #}

}
Dans les 2 cas j'ai bien accés a la page d'accueil nginx...

j'ai vérifier les droits sur le dossier, sur les fichier *.php

Code : Tout sélectionner

sudo chmod 644 *.php
.
Modification de l'user de lancement de nginx

Code : Tout sélectionner

user http;
verification de open_basedir dans "php.ini"

Code : Tout sélectionner

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/usr/share/nginx/html/
Je n'arrive vraiment pas à voir où je fais une erreur,du coup je me tourne vers vous. Si vous voulez bien m'aider à comprendre mes erreurs ça serait super cool.

Merci par avance pour votre aide. N’hésitez pas si j'ai oublié de donner des informations.
Dernière modification par Zebulonfr le dim. 26 nov. 2017, 16:43, modifié 1 fois.
Thinkpad X230, Archlinux, Xfce4.12, Vim, Oh-my-zsh.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [nginx + php-fpm] problème accès à phpinfo.php

Message par benjarobin »

Bonjour,
Je ne suis pas sûr de comprendre ta configuration. Elle n'a pas vraiment de sens...
Pourrais tu développer ce que tu essayes de faire ? Tu veux afficher le contenu d'un fichier .php, ok, mais il est dans quel dossier ? Tu ne l'as pas configuré...
Les fichiers .php sont dans quel dossier / chemin ? Avec quel droit sur les dossier (oui les droits de tous les dossiers parents sont important) ?
Il ne faut surtout pas changer l'utilisateur de nginx.

Pourquoi ne pas utiliser la configuration par défaut et lire le Wiki de Arch ? Par exemple : https://wiki.archlinux.org/index.php/PhpMyAdmin#Nginx
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Zebulonfr
Hankyu
Messages : 31
Inscription : sam. 26 janv. 2013, 14:37
Localisation : Bayonne, France

Re: [nginx + php-fpm] problème accès à phpinfo.php

Message par Zebulonfr »

Bonjour,

En fait je voudrais juste configurer un serveur nginx avec php_fpm et maradb pour pouvoir ensuite installer Nextcloud. Pour l'instant j'en suis qu'a l’étape de compréhension du fonctionnement de nginx avec php-fpm. La premiere partie de mon message est la partie qui fonctionne et je peux afficher la page d’accueil de nginx et aussi un fichier de configuration de php qui est fonctionnel
Contenu de mon fichier php qui se trouve dans /usr/share/nginx/html/;

Code : Tout sélectionner

<?php
phpinfo();
?> 
voici le résultat avec la première version du nginx:
Image

et sans rien changé à part le fichier "nginx.conf" voila le résultat que j'obtiens avec le deuxieme fichier nginx que je créé moi:
Image

j'ai suis la documentation sur le wiki, mais ca ne fonctionne pas, les droits sur les dossiers et fichiers sont les suivantes:

Code : Tout sélectionner

-rw-r--r-- 1 root root 537 18 oct.  09:48 50x.html
-rw-r--r-- 1 root root 612 18 oct.  09:48 index.html
-rw-r--r-- 1 root root  20 25 nov.  14:59 phpinfo.php
lrwxrwxrwx 1 root root  29 25 nov.  13:46 phpMyAdmin -> /usr/share/webapps/phpMyAdmin/
je les ai changer comme ça mais c'est toujours le même problème:

Code : Tout sélectionner

-rw-r--r-- 1 http http 537 18 oct.  09:48 50x.html
-rw-r--r-- 1 http http 612 18 oct.  09:48 index.html
-rw-r--r-- 1 http http  20 25 nov.  14:59 phpinfo.php
lrwxrwxrwx 1 root root  29 25 nov.  13:46 phpMyAdmin -> /usr/share/webapps/phpMyAdmin/
je suis complètement perdu, je ne vois pas vraiment la différence entre le premier fichier "nginx.conf" et le deuxième.

en tout cas merci de votre aide.
Thinkpad X230, Archlinux, Xfce4.12, Vim, Oh-my-zsh.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [nginx + php-fpm] problème accès à phpinfo.php

Message par benjarobin »

Bon, ok c'est plus clair maintenant, tu n'as pas configuré de dossier racine ( root ) pour tes autres locations... Et comme tu n'en as pas un global...

De plus il ne faut surtout pas utiliser /usr/share/nginx/html/ comme dossier !
Plus généralement il faut jamais modifier / ajouter des fichiers dans /usr manuellement.

Il ne faut surtout pas modifier les droits en http, c'est une très mauvaise pratique ! Les droits root c'est très bien (tant qu'il y a les droits en lecture sur others)
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Zebulonfr
Hankyu
Messages : 31
Inscription : sam. 26 janv. 2013, 14:37
Localisation : Bayonne, France

Re: [nginx + php-fpm] problème accès à phpinfo.php

Message par Zebulonfr »

Bonjour,

Merci beaucoup, mon problème est résolu. C’était bien le fait que je n'avais pas déclarer de dossier racine(root) globale... une fois fait cela fonctionne parfaitement.
Encore merci et bonne soirée.
Thinkpad X230, Archlinux, Xfce4.12, Vim, Oh-my-zsh.
Répondre