#1 Le 08/11/2019, à 13:59
- MouleFrite
[RESOLU] PHPmyadmin et mysql serveur différent et page blanche
Bonjour à tous,
J'ai actuellement un petit souci avec PhpMyAdmin, je vous explique.
L'infrastructure :
1) ServerDB : 192.168.73.21
- MySQL
2) ServerWeb : 172.16.0.10, on est toujours dans le local, juste que c'est gérer par un firewall sur lequel les ports nécessaire on été ouvert
- Apache2
- PHP7
- PHPMyAdmin (page blanche sans source et pas d'erreur dans error.log ou access.log de apache2)
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'MONMDPTOPSECRET';
GRANT ALL PRIVILEGES ON * . * TO 'phpmyadmin'@'%';
Si je ne me trompe pas le caractère % signifie que l'utilisateur phpmyadmin peut se connecter à MySQL depuis n'importe quel ordinateur du réseau, j'ai essayer en mettant l'IP 172.16.0.10 au lieu de % mais la ca ne fonctionne pas, hors que % lui fonctionne.
Le ServerWeb accède bien à la base de données.
Pour plus de facilité je me suis dit que j'allais installer PHPmyadmin afin de gérer la DB, j'ai donc installer PHPmyadmin sur le ServerWeb (même que le site qui lui accède à mysql sans soucis avec les identifiant de phpmyadmin), donc l'accès avec cet user est OK pourtant phpmyadmin m'affiche une page blanche sans aucune source, tous le reste fonctionne.
En cherchant sur internet j'ai vue un solution qui consiste à rajouter des lignes dans le fichier de configuration de phpmyadmin
nano /etc/phpMyAdmin/config.inc.php
A la fin du fichier j'ai ajouter ceci comme indiqué.
/*
* First server configuration
*/
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = '192.168.73.21'; // IP du serveur MySQL
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
/*
* End of servers configuration
*/
Sans oublier biensûr de ralancer apache, j'ai meme tenter un reboot du serveur, mais en vin, 172.16.0.10/phpmyadmin m'affiche toujours une page blanche, j'ai été voir dans les logs et voici ce que j'ai
error.log
monuser@web1:~$ sudo su
[sudo] password for monuser:
root@web1:/var/www# tail -f /var/log/apache2/error.log
[Fri Nov 08 06:25:01.692645 2019] [core:notice] [pid 32171] AH00094: Command line: '/usr/sbin/apache2'
[Fri Nov 08 08:33:58.194531 2019] [mpm_prefork:notice] [pid 32171] AH00171: Graceful restart requested, doing restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.16.0.10. Set the 'ServerName' directive globally to suppress this message
[Fri Nov 08 08:33:58.239695 2019] [mpm_prefork:notice] [pid 32171] AH00163: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Fri Nov 08 08:33:58.239707 2019] [core:notice] [pid 32171] AH00094: Command line: '/usr/sbin/apache2'
[Fri Nov 08 08:33:58.867795 2019] [mpm_prefork:notice] [pid 32171] AH00171: Graceful restart requested, doing restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.16.0.10. Set the 'ServerName' directive globally to suppress this message
[Fri Nov 08 08:33:58.906635 2019] [mpm_prefork:notice] [pid 32171] AH00163: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Fri Nov 08 08:33:58.906649 2019] [core:notice] [pid 32171] AH00094: Command line: '/usr/sbin/apache2'
et access.log
[08/Nov/2019:08:12:29 +0000] "GET / HTTP/1.1" 200 3477 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"
[08/Nov/2019:08:12:29 +0000] "GET /icons/ubuntu-logo.png HTTP/1.1" 200 3623 "[url]http://172.16.0.10/[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"
[08/Nov/2019:08:12:35 +0000] "GET /index.php HTTP/1.1" 200 759 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"
[08/Nov/2019:08:15:12 +0000] "GET / HTTP/1.1" 200 3477 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"
[08/Nov/2019:08:15:12 +0000] "GET /icons/ubuntu-logo.png HTTP/1.1" 200 3623 "[url]http://172.16.0.10/[/url]" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"
[08/Nov/2019:08:15:12 +0000] "GET /favicon.ico HTTP/1.1" 404 489 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"
[08/Nov/2019:08:22:55 +0000] "GET /phpmyadmin HTTP/1.1" 301 582 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"
[08/Nov/2019:08:22:55 +0000] "GET /phpmyadmin/ HTTP/1.1" 500 185 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"
[08/Nov/2019:08:34:07 +0000] "GET /phpmyadmin/ HTTP/1.1" 500 185 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"
[08/Nov/2019:11:10:10 +0000] "GET /phpmyadmin/ HTTP/1.1" 500 185 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"
J'ai donc des erreurs relative à phpmyadmin, mais comment y remédier et comment décrire ces erreurs.
Si je ne me trompe pas : 500 = Erreur fichier ou accès, mais pour la 301 je vois pas.
Et surtout comment résoudre le problème ?
D'avance merci à vous
MouleFrite
Dernière modification par MouleFrite (Le 12/11/2019, à 09:36)
Hors ligne
#2 Le 08/11/2019, à 14:21
- bruno
Re : [RESOLU] PHPmyadmin et mysql serveur différent et page blanche
Bonjour,
$cfg['Servers'][$i]['host'] = '192.168.73.21'; // IP du serveur MySQL
L'adresse IP du serveur MySQL est donc 192.168.73.31
monuser@web1:~$ sudo su
⇒ quelle horreur
using 172.16.0.10. Set the 'ServerName'
L'adresse IP du serveur web est donc 172.16.0.10
Les serveurs sont donc sur deux réseaux privés différents. Comment veux tu que cela fonctionne ? Les adresses de la plage 192.168.73.0/24 ne peuvent pas être atteintes directement depuis une adresse de la plage 172.1.0.0/16.
Pour le serveur MySQL il faut indiquer l'adresse dur routeur en 172.16.x.x qui se chargera de transmettre à 192.168.73.21 via une redirection de ports.
#3 Le 08/11/2019, à 15:04
- MouleFrite
Re : [RESOLU] PHPmyadmin et mysql serveur différent et page blanche
Bonjour,
monuser@web1 est juste pour la publication sur le forum, vous pensez bien que ce n'est pas mon reel username lol
L'adresse IP du serveur MySQL est donc 192.168.73.31
Non l'adresse IP du serveur MySQL est donc 192.168.73.21 (surement une erreur de frappe
Ce que vous dites m'intrigue...
Si celà ne fonctionne pas pour phpmyadmin, pourquoi mon site web héberger sur le même serveur que phpmyadmin lui arrive sans aucun problème à se connecter au serveur mysql, et je peut faire toutes les requêtes sans aucun soucis.
Y'a que phpmyadmin qui n'y arrive pas...
J'essaye de comprendre
exemple :
172.16.0.10/index.php => aucun soucis, connexion mysql aucun problème, requête vers la DB aucun problème, affichage aucun problème..
172.16.0.10/phpmyadmin/index.php => page blanche (même avec le error_reporting sur ON)
Si je suis votre raisonnement, même mes scripts PHP ne pourrait pas avoir accès à mysql, je me trompe ?
Et non, nous sommes dans une même infrastructure local gérer par le firewall, tout fonctionne sauf phpmyadmin donc je doute que ce soit ce que vous me dite le problème, le port en question est déjà configurer dans le firewall sinon mon script php ne serait pas se connecter à la DB, ou alors je me trompe
Bien à vous
MouleFrite
Dernière modification par MouleFrite (Le 08/11/2019, à 15:13)
Hors ligne
#4 Le 08/11/2019, à 15:15
- bruno
Re : [RESOLU] PHPmyadmin et mysql serveur différent et page blanche
monuser@web1 est juste pour la publication sur le forum, vous pensez bien que ce n'est pas mon reel username wink lol
C'est : sudo su qui est une horreur…
172.16.0.10/index.php => aucun soucis, connexion mysql aucun problème, requête vers la DB aucun problème, affichage aucun problème..
Quel sont les paramètres de connexion à la base de données ? Notamment le nom d'hôte/adresse IP du serveur MySQL.
Je reformule :
Si tu mets dans la paramètres de connexion à une base de données 192.168.73.21 comme adresse du serveur MySQL sur une machine qui a 172.16.0.10 comme adresse IP cela ne peut pas fonctionner. La machine ayant pour adresse 172.16.0.10 ne peut pas communiquer directement avec 192.168.73.21.
#5 Le 08/11/2019, à 15:55
- MouleFrite
Re : [RESOLU] PHPmyadmin et mysql serveur différent et page blanche
Oui j'avoue, le sudo su je suis pas partisant non plus, mais j'ai pas accès au root (c'est un gestionnaire qui s'en est occupé) il m'a créer un user et lui à donner des droits root, mais je dois toujours utiliser sudo su (me demandez pas pourquoi j'ai pas compris cette logique non plus, mais soit c'est un détails)
Si tu mets dans la paramètres de connexion à une base de données 192.168.73.21 comme adresse du serveur MySQL sur une machine qui a 172.16.0.10 comme adresse IP cela ne peut pas fonctionner. La machine ayant pour adresse 172.16.0.10 ne peut pas communiquer directement avec 192.168.73.21.
Alors dans mes script php, j'utilise PDO
<?php
define('PDO_DRIVE',"mysql"); // Driver PDO
define('PDO_HOST',"192.168.73.21"); // Adresse du serveur de base de données MySQL ( et pourtant je suis bien héberger sur 172.16.0.10, puisque l'url de mon site est 172.16.0.10/index.php )
define('PDO_USER',"phpmyadmin"); // Pour les essai j'ai utiliser le user qui à été créer dans MySQL spécialement pour PHPMyAdmin
define('PDO_PASS',"MonSuperMotDePasse"); // Mot de passe de connexion au serveur de base de données
define('PDO_NAME',"db_test"); // Nom de la base de données, j'ai créer une base 'db_test', le user phpmyadmin aillant un GRANT ALL access
# Définition de la constante DNS PDO
define('PDO_DSN',PDO_DRIVE . ":host=" . PDO_HOST . ";dbname=" . PDO_NAME);
// Objet de connexion à la base de données (c'est une class étendue car j'ai rajouter des méthodes et je n'ai jamais eu de soucis avec, cette classe est intégrée à tous mes projets Web)
$pdo = new MyPersoPDO(PDO_DSN,PDO_USER,PDO_PASS,array(),true);
$req = "SELECT * FROM tbl_test";
$qry = $pdo->query($req); // J'aurais pu utilisé prepare, mais pas besoin pour le test et je l'utilise plus pour des insert, update
while($r = $qry->fetch(PDO::FETCH_ASSOC)){
print_r($r);
}
?>
Et j'ai bien un print_r de chaque ligne de ma table tbl_test crée pour le test
Donc niveau firewall tout est bon sinon mon PDO ne pourrait même pas accéder au serveur MySQL
Ma configuration réseau est bonne, il y'a juste 172.16.0.10/phpmyadmin/index.php qui m'affiche une page blanche...
J'ai même essayer en créant d'autres sites
172.16.0.10/site1/index.php => tout est OK
172.16.0.10/site2/index.php => tout est OK
172.16.0.10/site3/index.php => tout est OK
172.16.0.10/phpmyadmin/index.php => pas OK du tout puisque page blanche
Phpmyadmin est une interface en PHP tout comme mes sites Web, donc pourquoi mes sites qui se connecte à la DB depuis la même IP, y arrive et pas phpmyadmin ?
Je me trompe peut-être...
Bien à vous
Hors ligne
#6 Le 08/11/2019, à 16:20
- bruno
Re : [RESOLU] PHPmyadmin et mysql serveur différent et page blanche
Je ne comprends pas ta configuration réseau, alors.
Sur le serveur web (172.16.0.10) peux-tu donner le retour de :
ip a
et
ip route
Au passage, une erreur 500 est le signe d'une erreur de configuration Apache ou d'une erreur fatale dans un script. Et pourquoi ne voit-on pas les IP de connexion dans ton access.log ?
Autre erreur : il ne faut surtout pas modifier le fichier /etc/phpmyadmin/config.inc.php (sans les majuscules), mais éventuellement le fichier /etc/phpmyadmin/config-db.php
---
[HS]
sudo su est stupide (je te laisse chercher pourquoi) même si cela fonctionne, pour obtenir un shell root on utilise sudo -i
[/HS]
Dernière modification par bruno (Le 08/11/2019, à 16:43)
#7 Le 10/11/2019, à 13:48
- williamdes
Re : [RESOLU] PHPmyadmin et mysql serveur différent et page blanche
Bonjour,
Quelle version de phpMyAdmin ?
Si possible d'envoyer l'erreur 500 qui est dans tes logs ce serait plus simple
Cordialement,
William Desportes,
phpMyAdmin team
Hors ligne
#8 Le 12/11/2019, à 09:35
- MouleFrite
Re : [RESOLU] PHPmyadmin et mysql serveur différent et page blanche
Bonjour,
J'ai tester plusieurs fois de réinstaller phpmyadmin jusqu'a je refuse l'option db-common, et là c'est passer tout de suite.
Je vais donc modifier le titre pour noter résolu.
Merci pour votre intervention et votre aide.
Bien à vous
MouleFrite
Hors ligne