[RESOLU] pi os lite 64 bits NginX PHP installé mais non visible à l'extérieur

Eléphanteau du PHP | 42 Messages

21 mars 2023, 18:55

Bonjour,

Tout est dans le titre
J'ai bien édité le fichier /etc/nginx/sites-enabled/default

Code : Tout sélectionner

# Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html index.php; # pass PHP scripts to FastCGI server # location ~ \.php$ { include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): # fastcgi_pass unix:/run/php/php7.4-fpm.sock; # # With php-cgi (or other tcp sockets): fastcgi_pass 127.0.0.1:9000; }
php est bien lancé : il répond au

Code : Tout sélectionner

php -v
Avez-vous une piste pour m'aider ?
Merci !

Avatar du membre
Mammouth du PHP | 1609 Messages

22 mars 2023, 11:29

Salut, quand tu dis de l'extérieur, tu veux dire en dehors du réseaux local ? Sur le routeur il faut configurer les ports 80 (http) et 443 (https) pour qu'il redirige les requêtes vers le serveur.
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 42 Messages

23 mars 2023, 17:02

Bonjour,

Je n'ai pas été assez complet et je me suis mal exprimé : les ports 80 et 443 fonctionnent très bien. Le html est bien interprété.
En fait, vous pouvez le voir à cette adresse https://baclofene.be
il y a un fichier test.php à la racine donc : https://baclofene.be/test.php

C'est en fait le serveur qui interprète le php qui envoie du html. C'est là que cela bug

Merci !

Avatar du membre
Mammouth du PHP | 1609 Messages

23 mars 2023, 17:23

Tu as bien restart nginx après avoir installé php et mis à jour les configurations ?

Sinon peut être une solution ici, le comportement étant le même que sur ton serveur (téléchargement du fichier php) : https://stackoverflow.com/questions/255 ... uting-them
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 42 Messages

23 mars 2023, 19:42

hummm

J'aime décidément mieux être client que serveur ;)
Bon sans rire :
Comme cela ne fonctionnait pas, j'ai fait mieux restart nginx : un reboot.

mon fichier default est visible là : https://baclofene.be/default.txt
J'ai installé PHP suivant cette procédure https://pimylifeup.com/raspberry-pi-latest-php/

Code : Tout sélectionner

php -v PHP 8.2.4 (cli) (built: Mar 16 2023 14:37:38) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.4, Copyright (c) Zend Technologies with Zend OPcache v8.2.4, Copyright (c), by Zend Technologies
le phpinfo() se trouve https://baclofene.be/info.txt

Je suis déjà assez fier d'en arriver là ! je suis un autodidacte et j'ai parfois du mal à comprendre certaines nuances.
Je dois ensuite installer un serveur de courrier avec l'objectif de vérifier les adresses mail lors d'inscriptions. J'ai encore du boulot !

Avatar du membre
Mammouth du PHP | 1609 Messages

24 mars 2023, 12:04

En regardant la conf nginx j'ai l'impression que le php n'est pas activé sur le port 443 (ligne commentée : # fastcgi_pass 127.0.0.1:9000;). Je connais pas nginx, toujours fait du lighttpd ou du apache, donc je tâtonne un peu comme toi.
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 42 Messages

24 mars 2023, 19:46

Bien,

Heureusement, je note tous mes essais/erreur que je valide au fur et à mesure. Là, j'ai validé trop tôt pour le php8.2
Valider, c'est cloner la carte ...
Donc, je suis reparti de zéro (mais comme j'ai tout noté, cela va vite)
Je me suis posé et pausé après Nginx (La nuit porte conseil)
J'ai résolu le problème comme suit :
J'ai lu que PHP-FPM est un meilleur choix que le mod PHP habituel pour les performances. Et cela fonctionne particulièrement bien avec Nginx. De plus, la majorité des tutoriels montrent ce choix avec Nginx. Mais c'est php 7.4 (La Grenouille qui veut se faire aussi grosse que le 8.2)
https://raspberrytips.com/nginx-on-raspberry-pi/
Mais à la fin de l'installation j'ai un 502 Bad Gateway. Je n'ai pas été découragé parce que j'avais vu passer cela lors de mes essais précédents.
J'ai tout de suite trouvé la réponse là : https://forums.raspberrypi.com/viewtopic.php?t=222086
en adaptant à la version 7.4

Code : Tout sélectionner

sudo nano /etc/php/7.4/cli/php.ini

Code : Tout sélectionner

;cgi.fix_pathinfo=1 cgi.fix_pathinfo=0
CTRL+O Enter CTRL+X

Code : Tout sélectionner

sudo nano /etc/nginx/sites-available/default

Code : Tout sélectionner

location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; }
CTRL+O Enter CTRL+X
Relancer les services ou un reboot et cela fonctionne !
https://baclofene.be/test.php