XAMPP : autoriser la connexion à distance sur phpMyAdmin
Les versions les plus récentes de XAMPP, le serveur web tout en un, bloque les connexions à distance sur la base de données phpMyAdmin. Seul l’accès depuis le serveur lui-même est autorisé, une sécurité basique mais efficace pour éviter de se faire pirate la base de données depuis l’extérieur (mais aucune différence s’il y a une faille pour accéder frauduleusement au serveur en question). Ce tutoriel explique comment autoriser des postes à se connecter sur le serveur de gestion d’une base de données MySQL.
XAMPP est un pack de logiciels pour gérer un serveur web : X (cross) Apache MySQL Perl PHP. La version Windows est WAMPP et Linux est LAMPP. Il est par exemple utilisé par la solution d’inventaire de parc informatique OCS Inventory.
Erreur d’accès à distance à phpMyAdmin
L’erreur affichée lorsqu’on souhaite accéder à un serveur XAMPP distant est celle-ci :
« Accès interdit. Nouveau concept de sécurité XAMPP. L’accès au répertoire demandé est uniquement disponible sur le réseau local. Ce paramètre peut être configuré dans le fichier httpd-xampp.conf. »
Bien qu’il soit écrit que l’accès soit uniquement autorisé depuis le réseau local, ce n’est pas le cas puisque nous n’aurions pas ce 403 Forbidden depuis un autre poste du LAN.
Autoriser un PC du LAN à se connecter sur un serveur local phpMyAdmin
Cette procédure indique comment accéder à phpMyAdmin depuis un autre ordinateur du même réseau local (LAN).
1. Dans le cas d’un serveur XAMPP installé sur Windows, aller dans C:\xampp\apache\conf\extra ou le chemin équivalent.
2. Editer le fichier httpd-xampp.conf
3. A la toute fin du fichier texte, ajouter les IP nécessaires à la ligne « Allow from » des balises :
- <LocationMatch « ^/(?i:(?:security)) »>
- <LocationMatch « ^/(?i:(?:xampp|licenses|phpmyadmin|webalizer|server-status|server-info)) »>
En ajoutant « 192.168.0.0/24 » , nous autorisons les connexions depuis les machines qui se trouvent dans le réseau local d’adressage 192.168.0.x. Si un seul poste du LAN n’aura accès à cette ressource, indiquer cette IP (par exemple 192.168.0.101). Dans le cas d’une IP externe, indiquer simplement celle-ci sans masque.
4. Redémarrer le service Apache, soit par les services Windows, soit par la console XAMPP Control Panel Application (xampp-control) : Stop puis Start avec cette interface.
5. L’accès à phpMyAdmin est autorisé depuis un ordinateur distant.
Autoriser toutes les connexions publiques sur phpMyAdmin
Cette partie décrit comment autoriser toutes les connexions à l’admin PHP, que ce soit en réseau local ou depuis internet.
1. Dans une configuration sur Windows, aller dans le chemin C:\xampp\apache\conf\extra (par défaut) et modifier le fichier httpd-xampp.conf.
2. Chercher le code suivant :
<Directory "C:/xampp/phpMyAdmin"> AllowOverride AuthConfig Require local ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory>
3. Le modifier pour obtenir :
<Directory "C:/xampp/phpMyAdmin"> AllowOverride AuthConfig Limit Order allow,deny Require all granted Allow from all </Directory>
4. Ainsi, plus de restrictions d’accès à phpMyAdmin mais plus vraiment de sécurité non plus. A réaliser avec précaution.
Merci infiniment pour ce tutorial, j’arrivais pas a ouvrir phpmyadmin depuis une autre machine, mais grâce à cet article, j’y suis arrivé, Merci!
Error: MySQL shutdown unexpectedly.
15:35:33 [mysql] This may be due to a blocked port, missing dependencies,
15:35:33 [mysql] improper privileges, a crash, or a shutdown by another method.
15:35:33 [mysql] Press the Logs button to view error logs and check
15:35:33 [mysql] the Windows Event Viewer for more clues
15:35:33 [mysql] If you need more help, copy and post this
15:35:33 [mysql] entire log window on the forums
Faire la même chose plus bas
Alias /phpmyadmin « C:/xampp/phpMyAdmin/ »
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride AuthConfig
# Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
Order Allow,Deny
Allow from 192.168.1.15
et configurer ton conf.inc.php dans phpmyadmin
$cfg[‘Servers’][$i][‘AllowDeny’][‘order’] = ‘deny,allow’;
$cfg[‘Servers’][$i][‘AllowDeny’][‘rules’] = array(
‘deny root from all’,
‘allow root from 192.168.1.15’,
‘allow TGM from 192.168.1.15’,
);
bonjour
je fait tout les étapes mais ne marche pas ,
s’il vous plait m’aider