PhpMyAdmin : Installation et configuration

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

phpMyAdmin (prononcé "p h p maï admine") est une interface conviviale gratuite réalisée en langage PHP pour le SGBD MySQL afin de faciliter la gestion des bases de données MySQL sur un serveur, et est distribué sous licence GNU GPL.

Il s'agit de l'une des plus célèbres interfaces pour gérer une base de données MySQL sur un serveur PHP. De nombreux hébergeurs, qu'ils soient gratuits ou payants, le proposent ce qui permet à l'utilisateur de ne pas avoir à l'installer. Parmi eux on peut citer entre autres Free ou Lycos Multimania.

Cette interface pratique permet d'exécuter, très facilement et sans grandes connaissances dans le domaine des bases de données, de nombreuses requêtes comme les créations de table de données, les insertions, les mises à jour, les suppressions, les modifications de structure de la base de données. Ce système est très pratique pour sauvegarder une base de données sous forme de fichier .sql et ainsi transférer facilement ses données. De plus celui-ci accepte la formulation de requêtes SQL directement en langage SQL, cela permet de tester ses requêtes par exemple lors de la création d'un site et ainsi de gagner un temps précieux.

2 Installation

Pour l'installer, il vous faut au préalable avoir installer MySQL Server !!! Une fois que c'est fait, installons phpmyadmin :

Command apt-get
apt-get install phpmyadmin

3 Configuration

De base, aucunes configuration n'est à faire si vous l'avez installer sur la même machine qui a MySQL Server. Sinon, il faut spécifier l'adresse à laquelle vous souhaitez vous connecter.

3.1 config.inc.php

3.1.1 Mono serveur

Editez le fichier /etc/phpmyadmin/config.inc.php, puis modifier cette ligne :

Configuration File config.inc.php
//$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address

par :

Configuration File config.inc.php
$cfg['Servers'][$i]['host']          = 'IP_DU_SERVEUR'; // MySQL hostname or IP address

Décommentez la lignes en enlevant les "//" et mettez l'IP sur serveur qui vous instéresse.

Ensuite, vous devez sur le serveur autoriser une personne à se connecter à distance. Pour faire simple ici, j'ai choisi root qui a accès à toutes les databases, mais le choix d'un autre nom d'utilisateur n'est pas plus mal ! Sur le serveur adaptez et exécutez ces lignes :

Command
create user 'root'@'IP_DU_PHPMYADMIN' identified by '**********';
grant all privileges on * . * to 'root'@'IP_DU_PHPMYADMIN' identified by '**********' with grant option max_queries_per_hour 0 max_connections_per_hour 0 max_updates_per_hour 0 max_user_connections 0;
grant all privileges on `root_%` . * to 'root'@'IP_DU_PHPMYADMIN';
flush privileges;

Remplacez "IP_DU_PHPMYADMIN" par l'IP de la machine où se trouve phpmyadmin, puis remplacer "**********" par le mot de passe que vous souhaitez attribuer à l'utilisateur.

Maintenant, connectez vous via l'insterface web et vous aurez alors l'autorisation de vous connecter.

3.1.2 Mutli serveurs

Pour une configuration basique multi serveurs, éditez le fichier /etc/phpmyadmin/config.inc.php, puis ajoutez ces lignes :

Command /etc/phpmyadmin/config.inc.php
// Ajout du serveur 2
$i++;
$cfg['Servers'][$i]['host']          = 'serveur2';
 
// Ajout du serveur 3
$i++;
$cfg['Servers'][$i]['host']          = 'serveur3';

Ensuite, suivez la même procédure pour chaque serveur que la partie mono serveur ci dessus.

3.2 Font size de 80% permanent

Dans les dernières versions des phpMyAdmin la police est assez grosse (pseudo effet web2.0 ?!), c'est pas très cool pour les plus petites résolutions, et puis même ... c'est simplement moche !

Un petit FIX CSS va arranger ça. Editez le fichier left.php à la racine et le fichier header.inc.php dans libraries. Ajoutez le code suivant dans les balises head de ces pages :

Configuration File left.php et header.inc.php
<style type="text/css">
<!--
body { font-size: 0.8em ! important; }
-->
</style>

3.3 Avec Lighttpd

Pour une configuration de phpmyadmin pour Lighttpd, voici ce qu'il faut :

Configuration File /etc/lighttpd/conf-available/50-phpmyadmin.conf
# Alias for phpMyAdmin directory
alias.url += ( 
    "/phpmyadmin" => "/usr/share/phpmyadmin",
)
 
# Disallow access to libraries
$HTTP["url"] =~ "^/phpmyadmin/libraries" { 
    url.access-deny = ( "" ) 
}
 
# Limit access to setup script
$HTTP["url"] =~ "^/phpmyadmin/scripts/setup.php" {
    auth.backend = "plain"
    auth.backend.plain.userfile = "/etc/phpmyadmin/htpasswd.setup"
    auth.require = ( 
        "/" => (
            "method" => "basic",
            "realm" => "phpMyAdmin Setup",
            "require" => "valid-user"
        )
    )   
}