Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/09/2019, à 22:36

calvin4242

[Résolu] Serveur LEMP inaccessible depuis le www

Bonjour,
Je suis loin d'être un expert sur Linux en général mais par la force des choses car bien déçu après 25 ans d'amour et de haine entre windows et moi toutes versions confondues, je revis apres 3 ou 4 ans d'Ubuntu et j'ai toujours soif d'apprendre, bien qu'ubuntu ne soit pas facile facile au début il faut le souligner..
Bref, j'ai donc installé un serveur LAMP sur un odroid C2. (Nginx, mariadb, phpmyadmin, php-fpm et wordpress). Ce fut plutot laborieux car 75% des tutos du web sont truffés de bétises.
En local TOUT fonctionne comme sur des roulettes.
Pour avoir acces au serveur depuis le www, ayant une FREEBOX V5, j'aI attribué un ip fixe au serveur (192.168.0.xx) et fait une redirection du port 80 pour cette ip en tcp et udp.
J'ai aussi pris un nom de domaine gratuit pour l'IP publique de ma freebox. Ce nom de domaine est bien enregistré et actif dans les parametres de la FREEBOX (Reverse DNS personnalisé).
Quand je teste depuis le www l'url du site (www.nom de domaine ou IP publique port 80) ca mouline et j'ai une page : "Ce site est inaccessible, 127.0.0.1 a mis trop de temps à répondre".   
ca fait 4 jours que je ne trouve pas de solution; merci pour toute aide eventuelle ;


EDIT: j'ai oublié de préciser : je suis allé sur le site https://ping.eu/ ,
un DNS lookup sur le nom de domaine renvoie bien sur l'IP publique de la FREEBOX.
un PING est reussi
un Port check me dit que le port 80 et 8080 sont ouverts.

Dernière modification par calvin4242 (Le 22/09/2019, à 21:08)

Hors ligne

#2 Le 15/09/2019, à 23:37

Vobul

Re : [Résolu] Serveur LEMP inaccessible depuis le www

Ça dit quoi le ServerName sur apache ? T'as des VirtualHosts ?

Tu peux y accéder localement ?


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#3 Le 16/09/2019, à 07:16

bruno

Re : [Résolu] Serveur LEMP inaccessible depuis le www

Bonjour,

calvin4242 a écrit :

Bref, j'ai donc installé un serveur LAMP sur un odroid C2. (Nginx, mariadb, phpmyadmin, php-fpm et wordpress)

Dans ce cas c'est une serveur LEMP (Linux EngineX MariaDB PHP).

calvin4242 a écrit :

Pour avoir acces au serveur depuis le www, ayant une FREEBOX V5, j'aI attribué un ip fixe au serveur (192.168.0.xx) et fait une redirection du port 80 pour cette ip en tcp et udp.

La redirection en UDP est superflue.

calvin4242 a écrit :

Quand je teste depuis le www l'url du site (www.nom de domaine ou IP publique port 80) ca mouline et j'ai une page : "Ce site est inaccessible, 127.0.0.1 a mis trop de temps à répondre".

Il faut indiquer ta configuration nginx et notamment la directive server_mname

Hors ligne

#4 Le 16/09/2019, à 22:56

calvin4242

Re : [Résolu] Serveur LEMP inaccessible depuis le www

bruno a écrit :

Bonjour,
Il faut indiquer ta configuration nginx et notamment la directive server_mname

DANS:  /etc/sites-available/mon-site


try_files $uri $uri/ /indserver {
       listen 80;
       listen [::]:80;
       server_name mon-site.ocry.com;
       root /var/www/mon-site;

       index index.php index.html;

  location / {ex.php?$args;
     }
location ~ \.php$ {
         try_files $uri =404;
         fastcgi_index index.php;
         fastcgi_pass 127.0.0.1:9000;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include /etc/nginx/fastcgi_params;
         fastcgi_read_timeout 600;
}
}

Hors ligne

#5 Le 17/09/2019, à 22:24

calvin4242

Re : [Résolu] Serveur LEMP inaccessible depuis le www

depuis mon telephone quand j'essaie d'acceder à l'url du site, ca m'indique ça en 127.0.0.1 : es ce que c'est normal??
https://zupimages.net/up/19/38/axvj.png

Dernière modification par calvin4242 (Le 17/09/2019, à 23:22)

Hors ligne

#6 Le 17/09/2019, à 23:23

calvin4242

Re : [Résolu] Serveur LEMP inaccessible depuis le www

Vobul a écrit :

Ça dit quoi le ServerName sur apache ? T'as des VirtualHosts ?

Tu peux y accéder localement ?

je suis sous Nginx mais je n'arrive pas a situer le fichier virtual hosts...

Hors ligne

#7 Le 18/09/2019, à 19:00

bruno

Re : [Résolu] Serveur LEMP inaccessible depuis le www

On ne voit qu'une partie de la configuration et encore on y comprend pas grand chose.
Pour qu'un hôte virtuel il faut au moins une directive :

server  {
…
}

Et on sait pas si ton hôte virtuel est activé ou pas  (lien symbolique dans /etc/nginx/sites-enables

Question subsidiaire, pourquoi utiliser fastcgi plutôt que php-fpm .

Lire la doc nginx: https://docs.nginx.com/nginx/admin-guid … eb-server/

Dernière modification par bruno (Le 18/09/2019, à 19:01)

Hors ligne

#8 Le 18/09/2019, à 21:18

calvin4242

Re : [Résolu] Serveur LEMP inaccessible depuis le www

Bonjour Bruno!
Effectivement ca commence bien j'avais perdu un morceau de code en chemin, donc je récapitule pour le fichier:
/etc/sites-available/mon-site

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

       server_name mon-site.ocry.com;
       root /var/www/mon-site;

       index index.php index.html;

       location / {
         try_files $uri $uri/ /index.php?$args;
     }
location ~ \.php$ {
         try_files $uri =404;
         fastcgi_index index.php;
         fastcgi_pass 127.0.0.1:9000;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include /etc/nginx/fastcgi_params; 
         fastcgi_read_timeout 600; 
}
}

Au sujet de la redirection du port 80 en udp sur la freebox et bien c'est supprimé;

Au sujet du fast cgi dans ce fichier conf, j'ai suivi un tuto (le seul qui a fonctionné pour moi)  et c'est pour relier le module PHP-FPM à NGINX pour qu'ils puissent fonctionner ensemble. J'ai suivi cette methode:

cd /etc/php/7.2/fpm/pool.d
sudo nano www.conf

Remplacez la ligne :

listen = /run/php/php7.2-fpm.sock

Par:

listen = 127.0.0.1:9000

Ensuite j'ai fait:

cd /etc/nginx/sites-available
sudo nano mon-site

et j'ai ajouté le code suivant au fichier de config NGINX de mon site:

location ~ \.php$ {
         try_files $uri =404;
         fastcgi_index index.php;
         fastcgi_pass 127.0.0.1:9000;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include /etc/nginx/fastcgi_params;
 }

Grâce à ces lignes, NGINX sait qu'il doit interpréter TOUS les fichiers PHP avec le module PHP-FPM qui est disponible sur 127.0.0.1:9000.

Si celà ne te semble pas correct n'hesite pas a donner ton avis merci car je n'ai fait que suivre des directives que je comprend globalement uniquement.

Dernier point, j'ai bien crée un lien ln -s permettant d'activer le site en production dans le dossier sites-enabled:

S'il y a besoin d'un quelconque fichier je peux bien sur l'afficher. En attendant je vais lire ta doc Nginx..

Dernière modification par calvin4242 (Le 18/09/2019, à 21:39)

Hors ligne

#9 Le 19/09/2019, à 07:18

bruno

Re : [Résolu] Serveur LEMP inaccessible depuis le www

À première vue cela paraît correct sauf cette directive :

 try_files $uri $uri/ /index.php?$args;

qui devrait être :

 try_files $uri $uri/ =404

Il y a quelque chose qui redirige le requêtes à destination de ton domaine mon-site.ocry.com (d'après server_name) vers 127.0.0.1. Donc forcément cela ne fonctionne pas en dehors du serveur lui même.
Si ce n'est pas dan la configuration de nginx, c'est dans un script PHP.

Donne-nous le retour, depuis une autre machine que le serveur, de :

curl -I http://mon-site.ocry.com

Sinon il n'y a aucune raison d'utiliser php-cgi sur un port TCP plutôt qu'un socket php-fpm. Tu devrais remettre la configuration par défaut dans /etc/php/7.2/fpm/pool.d/www.conf et dans l'hôte virtuel utiliser quelque chose comme :

	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/run/php7.2-fpm.sock;
	}

Ne pas oublier de relancer le service nginx et le service php7.2-fpm après modification.

Hors ligne

#10 Le 19/09/2019, à 20:33

calvin4242

Re : [Résolu] Serveur LEMP inaccessible depuis le www

la directive

 try_files $uri $uri/ /index.php?$args;

sert pour activer le mod_rewrite dans NGINX (urls personnalisées dans wordpress que j'utilise) sinon ca ne fonctionne pas du tout!

La commande

curl -I http://mon-site.ocry.com

renvoie

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0   0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0   0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
HTTP/1.1 301 Moved Permanently
Server: nginx/1.14.0 (Ubuntu)
Date: Thu, 19 Sep 2019 19:18:35 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Redirect-By: WordPress
Location: http://127.0.0.1/

Hors ligne

#11 Le 20/09/2019, à 07:55

bruno

Re : [Résolu] Serveur LEMP inaccessible depuis le www

Le retour de curl montre ce qui se passe il y a bien une redirection permanente vers http://127.0.0.1 et le coupable est Wordpress :

X-Redirect-By: WordPress
Location: http://127.0.0.1/

Il faut configurer ton Wordpress pour qu'il utilise ton nom de domaine et non 127.0.0.1

Hors ligne

#12 Le 20/09/2019, à 08:06

krodelabestiole

En ligne

#13 Le 22/09/2019, à 13:29

calvin4242

Re : [Résolu] Serveur LEMP inaccessible depuis le www

bonjour!
bon je donne des nouvelles:
Bruno m'ayant conseillé de ne pas utiliser du fast-cgi, j'ai modifié la liaison nginx-php dans le fichier de config nginx en remplacent les parametres fast-cgi par le "php.sock" d'origine. Apres bien sur impossible de se connecter à quoi que ce soit en local , ni nginx, ni php, ni phpmyadmin. Bref j'ai tenté 2 ou 3 autres modifs mais je me suis perdu en route et n'ayant rien sauvegardé j'ai préféré refaire une install LEMP totale.
Donc le serveur LEMP est installé, fonctionnel en local.
J'ai ouvert wp-config de wordpress pour lui ajouter:

define( 'WP_HOME', 'http://example.com' );
define( 'WP_SITEURL', 'http://example.com' );

ensuite je cours dans phpmyadmin, table wp-options et je repere dans la colonne "option name" HOME URL et SITEURL.
Curieusement les URL indiquées sont toujours 127.0.0.1 alors que je viens de les modifier en dur dans wordpress+restart du LEMP?
Donc j'apporte encore les memes modifs precedentes içi, je quitte et redemarre encore le tout.
D'un telephone je tente de me connecter au serveur (www) et je tombe encore sur ma page adorée impossible d'afficher ta page 127.0.0.1.
Sur ce même telephone je fais un

curl -I http://mon-site.ocry.com

qui me renvoie:

$[i] curl -I http://mon-site.ocry.com
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Sun, 22 Sep 2019 12:25:57 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Link: <http://http://mon-site.ocry.com/index.php?rest_route=/>; rel="https://api.w.org/"

Hors ligne

#14 Le 22/09/2019, à 13:52

bruno

Re : [Résolu] Serveur LEMP inaccessible depuis le www

Le retour du dernier curl montre que cela fonctionne (sauf la dernière ligne qui comporte une erreur avec deux http hmm). Il faut vider le cache de ton navigateur ou forcer le rechargement de la page.

Curieusement les URL indiquées sont toujours 127.0.0.1 alors que je viens de les modifier en dur dans wordpress+restart du LEMP?

Cela n'a rien de curieux le modification faites dans le fichier de configuration de Wordpress n'ont aucun rapport avec les données enregistrées en base de données.

Hors ligne

#15 Le 22/09/2019, à 14:15

calvin4242

Re : [Résolu] Serveur LEMP inaccessible depuis le www

Ca marche!! big_smile enfin! Depuis le temps que je revais de monter un petit serveur.. Merci à vous pour votre aide précieuse , à Bruno pour ses conseils et pour m'avoir bien aiguillé et a krodelabestiole pour la touche finale. Faut il que je mette en resolu le titre? A bientôt.

Hors ligne