J'ai phpMyAdmin installé sur ma machine locale. Comment puis-je le connecter à un serveur externe?
Dans le fichier de configuration, modifiez la variable "Host" pour pointer vers le serveur externe. Le fichier de configuration s'appelle config.inc.php
et il sera dans le dossier phpMyAdmin principal. Il devrait y avoir une ligne comme celle-ci:
$cfg['Servers'][$i]['Host'] = 'localhost';
Remplacez simplement localhost
par l'adresse IP de votre serveur.
Remarque: vous devrez peut-être configurer le serveur externe pour autoriser les connexions à distance, mais je l'ai fait plusieurs fois sur l'hébergement partagé, donc ça devrait aller.
Pour configurer une base de données externe et toujours utiliser votre base de données locale, vous devez modifier le fichier config.inc.php:
On Ubuntu: Sudo gedit /etc/phpmyadmin/config.inc.php
Le fichier est grossièrement configuré comme ceci:
if (!empty($dbname)) {
//Your local db setup
$i++;
}
Ce que vous devez faire est de dupliquer "votre configuration de base de données locale" en le copiant et en le collant à l'extérieur de l'instruction IF
que j'ai montrée dans le code ci-dessous, et changez l'hôte en votre IP externe. Le mien par exemple est:
$cfg['Servers'][$i]['Host'] = '10.10.1.90:23306';
Vous pouvez laisser les valeurs par défaut (sauf si vous savez que vous devez les modifier)
Enregistrez et actualisez votre page de connexion PHPMYADMIN et une nouvelle liste déroulante devrait apparaître. Vous devriez être prêt à partir.
EDIT: si vous voulez donner au serveur un nom à sélectionner sur la page de connexion, plutôt que d'avoir simplement l'adresse IP à sélectionner, ajoutez ceci à la configuration du serveur:
$cfg['Servers'][$i]['verbose'] = 'Name to show when selecting your server';
C'est bien si vous avez plusieurs configurations de serveur.
en utilisant PhpMyAdmin version 4.5.4.1deb2ubuntu2, vous pouvez définir les variables dans /etc/phpmyadmin/config-db.php
alors définissez $dbserver
au nom de votre serveur, par exemple $dbserver='mysql.example.com';
<?php
##
## database access settings in php format
## automatically generated from /etc/dbconfig-common/phpmyadmin.conf
## by /usr/sbin/dbconfig-generate-include
##
## by default this file is managed via ucf, so you shouldn't have to
## worry about manual changes being silently discarded. *however*,
## you'll probably also want to edit the configuration file mentioned
## above too.
##
$dbuser='phpmyadmin';
$dbpass='P@55w0rd';
$basepath='';
$dbname='phpmyadmin';
$dbserver='localhost';
$dbport='';
$dbtype='mysql';
à la version 4.0 ou supérieure, nous devons créer un 'config.inc.php' ou renommer le 'config.sample.inc.php' en 'config.inc.php';
Dans mon cas, je travaille également avec un serveur mysql pour chaque environnement (développement et production):
/* others code*/
$whoIam = gethostname();
switch($whoIam) {
case 'devHost':
$cfg['Servers'][$i]['Host'] = 'localhost';
break;
case 'MasterServer':
$cfg['Servers'][$i]['Host'] = 'masterMysqlServer';
break;
} /* others code*/
Vous pouvez utiliser la page de configuration de phpmyadmin (./phpmyadmin/setup) pour générer un nouveau fichier de configuration (config.inc.php
) pour vous. Ce fichier se trouve à la racine du répertoire phpMyAdmin.
Créez simplement le dossier de configuration comme demandé dans la page de configuration, ajoutez vos serveurs, puis cliquez sur le bouton "Enregistrer". Cela créera un nouveau fichier de configuration dans le dossier de configuration que vous venez de créer.
Il ne vous reste plus qu'à déplacer le config.inc.php
fichier dans le dossier phpMyAdmin principal, ou copiez simplement les lignes concernant les serveurs si vous avez déjà effectué une ancienne configuration que vous souhaitez conserver.
N'oubliez pas de supprimer le dossier config par la suite.
dans le fichier config.inc.php, supprimez toutes les lignes contenant "$ cfg ['Servers']" et conservez UNIQUEMENT les "$ cfg ['Servers'] [$ i] ['Host']"