web-dev-qa-db-fra.com

Comment configurer phpMyAdmin pour accéder à plusieurs serveurs?

Quel est le moyen utilisé par Ubuntu pour configurer phpMyAdmin afin que je puisse l'utiliser pour administrer plusieurs serveurs MySQL? Les paramètres de base de données sont définis dans /etc/dbconfig-common/phpmyadmin.conf, mais il n'y a que de la place pour les paramètres de connexion d'un seul serveur. Je pourrais le modifier en /etc/phpmyadmin/config-db.php et /etc/phpmyadmin/config.inc.php, mais je suppose qu'il doit y avoir un moyen plus élégant.

13
Mike Scott

Question assez ancienne, mais toujours pertinente pour les recherches.

phpMyAdmin utilise Plain PHP pour les fichiers de configuration, et le tableau $cfg['Servers'] pour récupérer les serveurs configurés.

Ainsi, la méthode appropriée consiste à ajouter un nouveau fichier de configuration dans /etc/phpmyadmin/conf.d pour chaque serveur à ajouter. Il est seulement nécessaire de terminer le nom du fichier en .php pour les inclure, mais c'est une bonne idée d'utiliser your_new_server.inc.php pour la cohérence.

Le contenu minimal pour un fichier de configuration donné serait:

$cfg['Servers'][2]['Host']     = 'THE_Host';
$cfg['Servers'][2]['user']     = 'THE_USER';
$cfg['Servers'][2]['password'] = 'THE_PASSWORD';

Comme indiqué dans une autre réponse, vous pouvez vérifier /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php pour plus de paramètres.

Important: Vous devez augmenter l'index (2) du tableau pour chaque nouveau fichier et éviter d'utiliser 1 si vous souhaitez continuer à vous connecter à localhost.

Si le ou les gars que ce (s) paquet (s) phpMyAdmin avait pensé à cela, ils auraient pu ajouter la variable incrémentante $i dans le fichier foreach qui inclut les fichiers du répertoire conf.d, ne vous inquiétez donc pas. devoir l'augmenter manuellement, mais malheureusement ce n'est pas le cas. Vous pouvez le faire vous-même si.

8
Marc

Je pense que c'est la manière la plus précise de le faire:

Configurez d'abord le mot de passe:

Sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup admin

Puis désactivez la sécurité:

Sudo pma-configure

Ensuite, allez à http: // yourserver/phpmyadmin/setup (ici les navigateurs demandent l’autorisation, l’utilisateur est admin et le mot de passe est celui que vous écrivez dans la première commande), avec cet assistant vous configurez vos serveurs , une fois terminé, remettez la sécurité:

Sudo pma-secure
4
diegueus9

J'ai assumé ce qui suit:

  • /etc/phpmyadmin/ serait l'endroit le plus logique pour ajouter la configuration
  • /etc/phpmyadmin/config-db.php est l'emplacement de la configuration par défaut (locale?). C’est parce qu’il s’agit par défaut d’une seule base de données.
  • /etc/phpmyadmin/config.inc.php lit la base de données par défaut pour en avoir une. Au moins celui-ci est utilisé, vous avez donc une base de données. Si quelque chose change dans votre configuration, le config-db.php est changé, donc les modifications "locales" dans votre fichier ne sont pas modifiées

Par conséquent, ma conclusion a été d'ajouter un serveur supplémentaire en dessous de cette partie:

/* Configure according to dbconfig-common if enabled */
if (!empty($dbname)) {
    //reading from config-db.php
}

//$i++ was allready done in if above
//Adding extra servers
 $cfg['Servers'][$i]['Host'] = 'serverhost.Host.tld';
 $cfg['Servers'][$i]['extension'] = 'mysqli';
//...etc

Cela ressemble au meilleur endroit.

2
Nanne

Selon phpMyAdmin documentation , vous pouvez définir plusieurs serveurs dans le tableau $cfg['Servers'] défini dans le fichier config.inc.php.

1
Carsten Thiel

Le fichier de configuration principal est stocké dans /etc/phpmyadmin/config.inc.php. Ce fichier comprend le

  • Blowfish secret de /var/lib/phpmyadmin/blowfish_secret.inc.php
  • Configuration générée à partir du script d'installation phpMyAdmin (méthode de diegueus9) /var/lib/phpmyadmin/config.inc.php
  • Les valeurs de base de données de /etc/phpmyadmin/config-db.php qui sont générées à partir de /etc/dbconfig-common/phpmyadmin.conf par /usr/sbin/dbconfig-generate-include. /etc/dbconfig-common/phpmyadmin.conf peut être modifié en utilisant dpkg-reconfigure -plow phpmyadmin
  • Fichiers de configuration supplémentaires à partir de /etc/phpmyadmin/conf.d/*.php

Quelques exemples de fragments de configuration se trouvent dans /usr/share/doc/phpmyadmin/examples, y compris config.manyhosts.inc.php. Ce fichier peut être ajouté à /etc/phpmyadmin/conf.d. Cela fonctionne en réinitialisant la variable i à 1 avant de créer des hôtes afin qu'elle remplace l'hôte défini dans /etc/phpmyadmin/config.inc.php.

Si vous souhaitez effectuer une configuration plus avancée, vous voudrez probablement modifier le fichier /etc/phpmyadmin/config.inc.php et éventuellement ajouter d'autres extensions de configuration à l'aide de /etc/phpmyadmin/conf.d.

Pour ajouter la prise en charge de configurations supplémentaires à d'anciens fichiers de configuration, vous pouvez créer le répertoire /etc/phpmyadmin/conf.d, puis ajouter le code PHP ci-dessous au bas de /etc/phpmyadmin/config.inc.php:

/* Support additional configurations */
foreach (glob('/etc/phpmyadmin/conf.d/*.php') as $filename) {
        include($filename);
}
1
Michael Lawton

Ce tutoriel explique comment gérer plusieurs serveurs MySQL à partir d’une installation phpMyAdmin. Pour des raisons de sécurité, la communication entre phpMyAdmin et tout serveur MySQL distant utilise le cryptage SSL.

0
user61928