Problèmes PHP7/Nextcloud12 sous Raspbian

Résolu/Fermé
jiyuugataki - Modifié le 4 août 2017 à 16:42
mamiemando Messages postés 33069 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 15 avril 2024 - 11 août 2017 à 10:01
Bonsoir,

J'ai quelques souci avec mon installation Raspbian 9.1/Nginx 1.10.3/PHP 7.0/Nextcloud 12 sur Rpi3B :/. Elle suit en grande partie le tuto de https://www.pestmeester.nl/ (excepté pour PHP et Nextcloud, j'ai suivi d'autres tuto')

-Premier souci, je n'atteint pas l'index.php censé me donner toutes les info' dessus (erreur 404). Toutefois, l'index.html est joignable sans souci.

-Second problème, j'ai installé PHPMyAdmin, mais la page n'est pas non plus joignable (je suppose que cela a à voir avec le premier problème)(erreur 404 aussi).

-Troisième et dernier souci, la page de Nextcloud non plus ne s'affiche pas (encore et toujours erreur 404) :/.

Voici ma config' Nginx :

server {
listen 80 default_server;
listen [::]:80 default_server;

# SSL configuration
listen 443 ssl default_server;
listen [::]:443 ssl default_server;

#root /var/www/html;
root /data/site.ext/www;

# Add index.php to the list if you are using PHP
index index.php index.html index.htm;

server_name site.ext www.site.ext;

ssl_certificate /etc/letsencrypt/live/site.ext/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/site.ext/privkey.pem;

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /data/site.ext/www;
}

# Error & Access logs
error_log /data/site.ext/logs/error.log error;
access_log /data/site.ext/logs/access.log;

location / {
index index.html index.php;
}

location ~ /.well-known {
allow all;
}

location ~ [^/].php(/|$) {
fastcgi_split_path_info ^(.+?.php)(/.*)$;
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}

J'ai installé Nextcloud dans /data/site.ext/www/Nextcloud

Y aurait-il quelqu'un qui saurait d'où vient le problème s'il vous plaît ?
Je vous remercie d'avance.

[EDIT]

J'ai modifié fastcgi_pass unix:/var/run/php7.0-fpm.sock;
par fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
Puisque le fichier php7.0-fpm.sock est bien situé là, hélas, à la place de l'erreur 404 j'ai maintenant une page blanche pour /index.php ainsi que /phpmyadmin.
- Le fichier index.php contient ceci : <?php phpinfo(); ?>

A voir également:

5 réponses

mamiemando Messages postés 33069 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 15 avril 2024 7 747
7 août 2017 à 10:20
Bonjour,

Premier souci, je n'atteins pas l'index.php censé me donner toutes les info' dessus (erreur 404). Toutefois, l'index.html est joignable sans souci.

C'est php qui n'est pas activé au niveau de ton serveur web (nginx). Soit le module php n'est pas installé, soit il n'est pas activé. Reprends ce tutoriel (en particulier la 3e étape) :
https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in-ubuntu-16-04

Personnellement j'utilise plutôt apache2 que nginx (l'âge, tout ça...) donc si tu souhaites te tourner vers apache, c'est par là :
https://www.mistra.fr/tutoriel-linux-serveur-web-apache2.html

Second problème, j'ai installé PHPMyAdmin, mais la page n'est pas non plus joignable (je suppose que cela a à voir avec le premier problème)(erreur 404 aussi).

Pas de php, pas de phpmyadmin.

-Troisième et dernier souci, la page de Nextcloud non plus ne s'affiche pas (encore et toujours erreur 404) :/.

Sans doute le même problème vu que nextcloud est basé sur php.

Bonne chance
0
Bonjour mamiemando et merci beaucoup de votre réponse, c'est gentil.

J'ai repris le tuto' que vous me conseilliez mais sans plus de succès :/

Voici mon fichier de config' Nginx maintenant :

server {
listen 80 default_server;
listen [::]:80 default_server;

listen 443 ssl default_server;
listen [::]:443 ssl default_server;

root /data/site.ext/www;

index index.php index.html index.htm index.nginx-debian.html;

server_name site.ext www.site.ext;

ssl_certificate /etc/letsencrypt/live/site.ext/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/site.ext/privkey.pem;

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /data/site.ext/www;
}

error_log /data/site.ext/logs/error.log error;
access_log /data/site.ext/logs/access.log;

location / {
try_files $uri $uri/ =404;
}

location ~ /.well-known {
allow all;
}

location ~ [^/].php(/|$) {
fastcgi_split_path_info ^(.+?.php)(/.*)$;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

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


J'ai bien les modules PHP -fpm et mysql installés comme le tuto l'explique.

Actuellement, j'ai toujours une page blanche lorsque je demande le site.

Une idée ?
0
Si cela peut aider, voici la liste des paquets liés à PHP installés sur ma distrib'.

https://preview.ibb.co/kiOwpv/Sans_titre.png

Merci.
0
J'ai finalement opté pour apache2 au lieu d'Nginx et après pas mal de galères et de tuto', tout fonctionne, merci quand même !

Problème résolu, donc.

Bonne journée :).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33069 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 15 avril 2024 7 747
11 août 2017 à 10:01
Merci pour ton retour et félicitations !

Pour nginx je ne sais pas pourquoi php n'était pas pris en compte. Tu sembles avoir installé les bons paquets, peut être as-tu oublié ou mal réalisé la partie qui consiste à corriger
/etc/php/7.0/fpm/php.ini
de sorte à avoir
cgi.fix_pathinfo=0
ou peut être as-tu juste oublié de relancer le serveur web.

Voici comment j'aurais procédé pour comprendre d'où venait le problème :

1) Créer une page php dans le "DocumentRoot" adéquat qui contient un peu de code php (par exemple
<?php echo "coucou"; ?>
dans
/var/www/index.php
), puis donner
chmod a+x /var/www/index.php
pour être sûr que nginx peut le lire.

2) Configurer nginx pour supporter php conformément au tutoriel. Relancer nginx, puis monitorer ses logs (
tail -f /var/log/nginx/*
je suppose).

3) Tenter d'afficher la page depuis le navigateur (http://localhost/index.php) et vérifier dans les logs que nginx essaye bien de lire
/var/www/index.php
et voir ses éventuelles erreur dans le terminal où la commande tail est en train de tourner.

Bonne continuation
0