LAMP + WordPress : Pb d'accès depuis l'extérieur

Votre Apache se cache, votre Pi gémit, votre SoC fume ? La panne quoi ! C'est ici que vous trouverez sans doute une solution... Sinon du réconfort :)

Modérateurs : Francois, maxty01

JackJack44
Messages : 16
Enregistré le : jeu. 24 juin 2021 18:37

LAMP + WordPress : Pb d'accès depuis l'extérieur

Message par JackJack44 » jeu. 24 juin 2021 19:01

Bonjour à tous,

Jusqu'ici sur mon RPI LAMP, je n'avais aucun souci d'accès (http ou https, LAN ou Internet).

Depuis que j'ai installé WordPress, je n'ai plus qu'un seul accès : http en local(LAN). Les accès suivants ne fonctionnent plus :
- https en Local (LAN)
- http via internet
- https via internet

QUELQU'UN POURRAIT-IL ME VENIR EN AIDE :roll:

Ma config:
- RPI3B+ Buster 10.9 (mis à jour)
- LAMP (apache 2.4.38 / MariaDB 10.3.29 / PHP 7.3.27-1~deb10u1)
- WordPress 5.7.2 fr

Par avance merci....

piper
Raspinaute
Messages : 645
Enregistré le : sam. 5 juin 2021 18:57

Re: LAMP + WordPress : Pb d'accès depuis l'extérieur

Message par piper » jeu. 24 juin 2021 19:55

Bonjour, tu avais du https en local ??
Les fournisseurs de certificats gratuits exigeants des serveurs full qualified depuis peu et les navigateurs étant de plus en plus exigeants tu avais fait comment ? L'ancienne méthode avec openssl ne fonctionne plus depuis 3 ans chez moi.

Bref, sinon admettons que ca m'arrive a l'instant, voici quels seraient mes reflexes :
- vérification de la config d'apache (au niveau des vhosts si ru en as ou de la racine sinon)
- les certificats déclarés dans la config d'apache sont-ils toujours présents ? Et valides ?
- les ports 80 et 443 sont biens accessibles ? Le service apache les écoute-t-il ?
- WP ne t'aurait pas mis un fichier htaccess qui route des url la ou il ne faut pas ?
Attention : ne pas.mettre wp en sous arborescence d'un autre site.

Envoyé de mon SM-J710F en utilisant Tapatalk
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

JackJack44
Messages : 16
Enregistré le : jeu. 24 juin 2021 18:37

Re: LAMP + WordPress : Pb d'accès depuis l'extérieur

Message par JackJack44 » jeu. 24 juin 2021 22:51

Bonjour Piper et merci pour ce retour :D

Effectivement j'ai du https en local (ça me permet notamment de tester mes sites), mais je ne suis pas sûr d'avoir d'avoir des certificats très valide (??), je suis obligé d'accepter sur erreur de connexion bloquée / problème de sécurité potentiel pour que ça fonctionne...

pour le reste, je ne suis pas un expert, et j'avoue que je ne sais pas où chercher toutes tes pistes :
- pour apache : que dois-je regarder pour les vhosts ?
- pour les certificats, il est possible que ce soit la piste la plus plausible (je ne sais pas comment j'ai pu activer des certificats et je ne sais pas comment retrouver leur trace :(
- pour les ports : tout était ok avant l'install de Wordpress (d'ailleurs, j'avais pris la précaution de faire une copie sur sd, et quand je remets l'ancienne version sur mon rpi 3 de spare : ça fonctionne toujours)
- effectivement wp m'a mis un .htaccess dans le répertoire /var/www/html/wordpress/wp-content/plugins/akismet (mais il ne semble pas router des url, même si le contenu ne me parle pas plus que ça, en tout cas pas de références à des url)

PS: wordpress est installé sous /var/www/html/wordpress (et j'ai conservé mes autres sites html sous l'arboresecence /var/www/html, mais je ne pense pas que ça gène wp ?)

merci pour ton retour :oops:

piper
Raspinaute
Messages : 645
Enregistré le : sam. 5 juin 2021 18:57

Re: LAMP + WordPress : Pb d'accès depuis l'extérieur

Message par piper » ven. 25 juin 2021 11:27

Bonjour,
je suis obligé d'accepter sur erreur de connexion bloquée / problème de sécurité potentiel pour que ça fonctionne...
==> OK, on est tous dans le même cas : la faute aux fournisseurs de certificats qui exigent du FQN et des navigateurs qui ont augmenté leur niveau d'exigence.
Ce qui me fait péter un câble c('est de voir ce gros warning, comme quoi le site https://localhost/ n'est pas sécurisé !! Franchement... ils pourraient ne pas faire de vérification pour localhost !! enfin, passons....

Pour en revenir à ta question :
- déjà, c'est bien apache que tu utilises en tant que service web ? (il y en a d'autres : nginx, lighthttpd etc...)
ceci devrait le prouver si en réponse tu vois que le service est "loaded" et "running", sinon, c'est que tu n'utilises pas apache2

Code : Tout sélectionner

sudo systemctl apache2
Bref plutôt que de fouiller dans un tas de fichiers, on va utiliser des lignes de commandes pour en savoir plus sur la config d'apache
C'est là que je déteste debian et clones : avec Feroda/Centos/Redhat, tout est simple mais sur debian.....c'est toujours spécial

Ceci devrait nous dire quel est le dossier où se trouvent les fichiers du sites correspondant à http://localhost/ (ligne Main DocumentRoot)
et si tu as des virtualhosts (ligne VirtualHost configuration:) : mets nous la sortie de cette commande :

Code : Tout sélectionner

sudo apache2ctl -S
Si tu vois ceci :

Code : Tout sélectionner

VirtualHost configuration:
*:80                   localhost (/etc/apache2/sites-enabled/000-default.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Ca veut dire que tu as un virtual host défini dans le fichier /etc/apache2/sites-enabled/000-default.conf (en fait ce n'est pas un virtualhost, c'est la racine des sites....les debians disent des choses qui me perturbent)
le dossier des documents racines du site est /var/www/html
et le dossier racine d'apache (là où se trouve le programme apache et tous ces composants) est /etc/apache2)

Si tu fais du https, tu dois en plus de la ligne commençant par *:80, en avoir avec des *:443 (ou n'importe quoi suivit de deux points puis de 443)
Pour chaque fichier listé sous "VirtualHost configuration" (dans mon exemple un seul : /etc/apache2/sites-enabled/000-default.conf) mets nous son contenu.
Chez moi c'est (et tu vois que j'ai désactivé les logs ), je n'ai pas mis les commentaires (les lignes commençant par #)

Code : Tout sélectionner

sudo cat /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
        ServerName chezmoi.com
        ServerAdmin moi@chezmoi.com
        DocumentRoot /var/www/html
        ErrorLog /dev/null
        CustomLog /dev/null combined
</VirtualHost>
Idem, si tu fais du https, quelque part, il y a une ligne en *:443 avec le nom des fichiers de certificats et la description de l'algorithme

Ensuite, si ton "document root" est /var/www/html comme moi, fais nous une sortie de :

Code : Tout sélectionner

sudo ls /var/www/html/
Chez moi, on y voit les scripts de mon seul et unique site de paramétrage de mon "bazard"

Code : Tout sélectionner

sudo ls /var/www/html
change_host.sh  images  include  index.php  info.php  jquery.min.js  lib.php  refresh.php  servicelog.php
Et j'aimerais savoir où se trouvent tes fichiers wordpress (leur dossier conteneur)
En théorie, si tu as installé wordpress par apt-get, c'est /usr/share/wordpress/ et tu as un vhost qui pointe sur ce dossier dans la config apache qu'on vient d'afficher.
Mais si tu a installé wordpress manuellement, ils peuvent être ailleurs (dans /var/www/html ou un sous dossier voir même /opt/)
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

JackJack44
Messages : 16
Enregistré le : jeu. 24 juin 2021 18:37

Re: LAMP + WordPress : Pb d'accès depuis l'extérieur

Message par JackJack44 » ven. 25 juin 2021 13:36

Salut Piper,

Merci pour tes conseils. Voici les résultats :
- Il s'agit bien d'un Apache2
- la commande apache2ctl -S me donne :

*:80 127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
*:44301 127.0.1.1 (/etc/apache2/sites-enabled/default-ssl.conf:2)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"

en effet : j'ai conservé mes 2 RPI allumés :
Le premier avec la config qui fonctionne (sans wordpress)
Le second avec la même config qui ne fonctionne pas (avec wordpress installé dans /var/www/html/wordpress) : correspond aux infos Apache ci-dessus
Bien entendu : les 2 RPI ont une IP fixe différente. les ports de chacun étant redirigés avec l'IP locale qui va bien (j'ai 2 ports https 443 et 44301 pour pouvoir distinguer les 2 RPI)

Mon contenu de /etc/apache2/sites-enabled/000-default.conf :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
et celui de /etc/apache2/sites/enabled/default-ssl.conf :
<IfModule mod_ssl.c>
<VirtualHost _default_:44301>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>

</VirtualHost>
</IfModule>

Quant au contenu de mon répertoire /var/www/html, le voici :

sudo ls /var/www/html
index.php MyWebSite PHPinfo.php phpmyadmin VerifApache2 wordpress

(désolé : je ne sais pas mettre en encadré les parties à afficher pour les séparer du texte, mais je suis preneur de l'astuce pour le faire :P )

Par avance merci pour l'aide (je n'y comprends rien)....

piper
Raspinaute
Messages : 645
Enregistré le : sam. 5 juin 2021 18:57

Re: LAMP + WordPress : Pb d'accès depuis l'extérieur

Message par piper » ven. 25 juin 2021 18:19

Pour mettre le même en cadré que moi, il suffit de cliquer sur le bouton "</>" (code) sur la page de saisi d'un message du forum.

Il ne faut pas tout mélanger, on s'occupe de celui qui pose problème.
Donc tu as dit qu'avec celui qui pose problème, seul, l'accès http://localhost fonctionne.

Si ce que tu as fournis correspond au raspberry qui pose problème, alors https://localhost ne peut pas fonctionner. car https suppose qu'il s'agit du port 443 et rien d'autre.

Si tu veux utiliser le port 44301 alors il faut taper dans la barre d'adresse :

Code : Tout sélectionner

https://localhost:44301
Essais déjà ça et dis nous si cela fonctionne

Ensuite : le http suppose qu'il s'agit du port 80 et rien d'autre. Ton routeur ne peut router les requêtes du port 80 que vers un et un seul périphérique réseau.
Donc si tu essais de l'extérieur, assures-toi que c'est bien la bonne ip vers la quelle est routée le port 80 (si ta boxe route le port 80 vers le raspberry éteint, ça ne fonctionnera pas)

Et tu pourrais donner le retour de ceci (j'ai peur qu'il y ait un fichier .htaccess là et les fichiers dont le nom débutent par un point ne sont pas visible avec un simple ls)

Code : Tout sélectionner

sudo ls /var/www/html -al 
Ainsi que le contenu de ton fichier index.php

Code : Tout sélectionner

sudo cat /var/www/html/index.php 
Enfin, je veux être sûr que ton certificat existe :

Code : Tout sélectionner

sudo ls -l  /etc/ssl/certs/ssl-cert-snakeoil.pem   /etc/ssl/private/ssl-cert-snakeoil.key
Pour le https de l'extérieur, le certificat doit correspondre au fqn de ton domaine. Si tu y accèdes par l'IP, ça ne matchera pas (il y aura un message du navigateur qui dit que le certificat n'est pas valide)
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

JackJack44
Messages : 16
Enregistré le : jeu. 24 juin 2021 18:37

Re: LAMP + WordPress : Pb d'accès depuis l'extérieur

Message par JackJack44 » ven. 25 juin 2021 21:03

Merci pour le code </> :D

Tout d'abord avec le test https://localhost:44301, j'obtiens :

Code : Tout sélectionner

La connexion a échoué

Firefox ne peut établir de connexion avec le serveur à l’adresse localhost:44301.
Ca m'embête de lire que seul 443 fonctionne en https (pour faire des tests entre une machine de prod qui fonctionne (en 443) et une en test c'est clairement un problème !)


concernant la commande ls /var/www/html -al (malheureusement pas de .htaccess) :

Code : Tout sélectionner

root@raspberrypi:/var/www/html/wordpress# ls /var/www/html -al
total 40
drwxrwxrwx 8 www-data www-data 4096 juin  25 19:20 .
drwxr-xr-x 3 root     root     4096 janv. 29  2020 ..
drwxr-xr-x 3 www-data www-data 4096 juin  24 12:06 CeP
drwxr-xr-x 2 www-data www-data 4096 mars  22  2020 CvJDI
-rw-r--r-- 1 pi       pi         52 juin  25 19:20 index.php
drwxrwxrwx 2 www-data www-data 4096 févr. 14  2020 MyWebSite
-rwxrwxrwx 1 www-data www-data   20 févr.  5  2020 PHPinfo.php
lrwxrwxrwx 1 www-data www-data   21 févr.  5  2020 phpmyadmin -> /usr/share/phpmyadmin
drwxrwxrwx 2 www-data www-data 4096 févr. 15  2020 VerifApache2
drwxr-xr-x 5 www-data www-data 4096 juin  25 19:15 wordpress
drwxr-xr-x 5 www-data www-data 4096 juin  25 18:57 wordpress-old
Pour le contenu de index.php (il s'agit d'un fichier de test) :

Code : Tout sélectionner

root@raspberrypi:/var/www/html/wordpress# cat /var/www/html/index.php
<?php
echo "Today's date is ".date('Y-m-d H:i:s');
Pour la vérif des certificats :

Code : Tout sélectionner

root@raspberrypi:/var/www/html/wordpress# ls -l  /etc/ssl/certs/ssl-cert-snakeoil.pem   /etc/ssl/private/ssl-cert-snakeoil.key
-rw-r--r-- 1 root root     1058 janv. 29  2020 /etc/ssl/certs/ssl-cert-snakeoil.pem
-rw-r----- 1 root ssl-cert 1704 janv. 29  2020 /etc/ssl/private/ssl-cert-snakeoil.key
Enfin, j'essaye bien d'accéder en https depuis l'extérieur en tapant sur le nom du site (nom de domaine complet : "monsite.freeboxos.fr:443" pour mon rpi de prod ou :44301 pour celui du wordpress)

et j'arrive toujours pas à accéder le wordpress :evil: :evil:

piper
Raspinaute
Messages : 645
Enregistré le : sam. 5 juin 2021 18:57

Re: LAMP + WordPress : Pb d'accès depuis l'extérieur

Message par piper » ven. 25 juin 2021 23:08

Si monsite.freeboxos.fr est bien ton nom de domaine, il n'y a rien qui écoute aucun port derrière actuellement ou aucun port ouvert (on verra ça plus tard)

Alors. Chaque chose en son temps.

Revenons aux bases :
Que dit :

Code : Tout sélectionner

sudo systemctl status apache2
Ca doit dire que apache2 "is running"
Sinon, arrêtes moi là et on résoud ce problème

S'il tourne installe telnet

Code : Tout sélectionner

sudo apt-get install telnet -y
Et on essais ceci à partir du raspberry :

Code : Tout sélectionner

telnet localhost 80
Si tu te fais jeté on arrête là et on regarde pourquoi

Au passage essais aussi

Code : Tout sélectionner

telnet localhost 44301
Dis si l'une des 2 commande te jette ( ^] pour sortir de telnet ou ferme le terminal)

Ah j'aimerai bien aussi être sur que ton raspberry à accès à internet (CTRL + C pour arrêter de pinguer)

Code : Tout sélectionner

ping google.fr
Et connaitre son adresse ip locale

Code : Tout sélectionner

sudo ifconfig
et si ton raspberry est en ip static ou dynamique localement

Code : Tout sélectionner

sudo grep 'dhcp\|static' /etc/dhcpcd.conf
Si les 2 telnet fonctionnent sur le raspberry (localhost), va sur une autre machine de ton réseau local après avoir noter l'ip locale de ton raspberry, et, si c'est 192.168.1.XXXX refais les 2 telnet (remarque : telnet existe aussi sur zindozs mais n'est pas installer par défaut, il faut l'installer c'est dans les "fonctionnalités" windows
https://www.windows8facile.fr/installer ... elnet-w10/

Code : Tout sélectionner

telnet 192.168.1.XXXX 80
et

Code : Tout sélectionner

telnet 192.168.1.XXXX 44301
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

JackJack44
Messages : 16
Enregistré le : jeu. 24 juin 2021 18:37

Re: LAMP + WordPress : Pb d'accès depuis l'extérieur

Message par JackJack44 » sam. 26 juin 2021 02:47

Hello,

Apache2 est bien

Code : Tout sélectionner

Active (Running)
telnet localhost 80 : ok (connected)
telnet localhost 44301 : ko

Code : Tout sélectionner

Unable to connect to remote host: Connection refused
ping google.fr ok

ip locale ok et en statique (c'est bien celle que j'ai déclaré dans raspi config)

Depuis un autre pc sur le réseau:
telnet monip 80 : ok (je dois faire ^] pour sortir, mais je n'ai pas de message d'erreur)
telnet monip 44301 : ko (message

Code : Tout sélectionner

Impossible d’ouvrir une connexion à l’hôte, sur le port 44301: Échec lors de la connexion
)

A demain pour la suite des (més)aventures (et par avance merci :D )

piper
Raspinaute
Messages : 645
Enregistré le : sam. 5 juin 2021 18:57

Re: LAMP + WordPress : Pb d'accès depuis l'extérieur

Message par piper » sam. 26 juin 2021 09:50

OK, de ce que je vois, apache écoute bien sur le port 80 mais pas sur le 44301

Tu peux regarder le fichier d'erreur d'apache :

Code : Tout sélectionner

cat /var/log/apache2/error.log
Et on poursuit la vérification sur le port 80 :
Sur un autre PC de ton réseau local : ceci doit t'amener à la page index.php de ton dossier "document root" déclaré dans apache (à vérifier)

Code : Tout sélectionner

http://iplocaledetonraspberry/
Et ce ce que j'ai vu, ceci doit t'amener au wordpress

Code : Tout sélectionner

http://iplocaledetonraspberry/wordpress/
Si ça ne fonctionne pas, on arrête là et on cherchera pourquoi

Ensuite, de l'extérieur (ex : de ton téléphone, en désactivant le wifi !)
On doit arriver en faisant ce qu'il y a ci-dessous à la page web d'index de ton raspberry (si ça ne fonctionne pas c'est que ta box est mal paramétrée ou que ton FAI fait du CGNAT, voir les règles NAT / routage/pare-feu de ta box)

Code : Tout sélectionner

http://tonnomdedomaine/
ou

Code : Tout sélectionner

http://tonippublique/
Tiens, au passage, tu peux vérifier (pour savoir si ton FAI fait du partage d'ip en allant sur la page de paramétrage de ta freebox si tu vois ce genre de chose (port xxx à xxx)
C'est dans "état de la freebox - état internet"
Image
Si c'est le cas, tu ne pourras pas router les ports que tu veux, mais uniquement ceux dans la plage indiquée ("port de .... à .....)

Tu peux aussi savoir quels sont les ports ouverts avec service à l'écoute de ports grâce à un ptout petit utilitaire fabuleux : "nmap" qui sait faire de l'ip scanning et du port scanning

Code : Tout sélectionner

sudo apt-get install nmap -y
et ensuite , de ton raspberry :

Code : Tout sélectionner

sudo nmap localhost -Pn
Je veux y voir, le port 80 / http (mais je sais qu'il l'est car le telnet localhost 80 fonctionne)
Mais voir quelques autres ports sont actifs, et surtout si oui ou non, on y voit le 44301
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Répondre

Retourner vers « En panne ? »