Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Administration / Installer PHPMyAdmin sur Debian

Installer PHPMyAdmin sur Debian

Par Pierre-Yves Landuré Dernière modification 11/11/2017 09:29

PHPMyAdmin est une interface Web pour l'administration simplifiée de bases de données MySQL. Ce guide facilite son installation sur Debian.

Ce guide est testé sur:

  • Debian 6.0 Squeeze
  • Debian 7.0 Wheezy
  • Ubuntu 10.04 Lucid Lynx
  • Ubuntu 10.10 Natty Narwal

Prérequis

Ce guide nécessite :

Installation

Détectez le proxy de commande (command ou sudo):

cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

Installez le logiciel:

${cmdProxy} apt-get install phpmyadmin php5-mcrypt php5-gd

Rechargez la configuration de PHP:

test -x /etc/init.d/php5-fpm && ${cmdProxy} service php5-fpm force-reload
test -x /etc/init.d/apache2 && ${cmdProxy} service apache2 force-reload

L'application est maintenant disponible via: http://localhost/phpmyadmin/

Finalisation

Ce guide recommande:

Configuration manuelle

Remarque : les commandes qui suivent n'ont aucun effet si la configuration automatique de PHPMyAdmin a été utilisée.

Obtenez le script de création de la base de données utilisée par l'outil pour gérer différentes informations:

SCRIPT="/usr/share/doc/phpmyadmin/scripts/create_tables_mysql_4_1_2+.sql.gz"
if [ -e "/usr/share/doc/phpmyadmin/examples/create_tables_mysql_4_1_2+.sql.gz" ]; then
  SCRIPT="/usr/share/doc/phpmyadmin/examples/create_tables_mysql_4_1_2+.sql.gz"
fi
if [ -e "/usr/share/doc/phpmyadmin/examples/create_tables.sql.gz" ]; then
  SCRIPT="/usr/share/doc/phpmyadmin/examples/create_tables.sql.gz"
fi
SQL_COMMAND=$(command gunzip --to-stdout "${SCRIPT}")

Créez la base pma et l'utilisateur associé:

if [ ! -e "/etc/dbconfig-common/phpmyadmin.conf" ]; then
  MYSQL_PASSWD="$(command apg -q -a  0 -n 1 -M NCL)"
  echo "${SQL_COMMAND};
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY '${MYSQL_PASSWD}';;
GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
    ) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
    ON mysql.tables_priv TO 'pma'@'localhost';" \
    | command mysql --user=root --password
fi

Configurez l'application pour utiliser la base de données:

if [ ! -e "/etc/dbconfig-common/phpmyadmin.conf" ]; then
  command sed -i -e "s|[/]*\(.*pmadb.*=\)[^;]*\(;.*\)$|\1 'phpmyadmin'\2|" \
            -e "s|[/]*\(.*controluser.*=\)[^;]*\(;.*\)$|\1 'pma'\2|" \
            -e "s|[/]*\(.*controlpass.*=\)[^;]*\(;.*\)$|\1 '$MYSQL_PASSWD'\2|" \
            -e "s|[/]*\(.*auth_type.*=\)[^;]*\(;.*\)$|\1 'cookie'\2|" \
            -e "s|[/]*\(.*pma_.*;.*\)$|\1|" \
        "/etc/phpmyadmin/config.inc.php"
fi

Remarque: Si nécessaire, "forcez" l'URL d'accès à PHPMyAdmin. Ajoutez cette ligne à la fin du fichier /etc/phpmyadmin/config.inc.php (ajustez la valeur graissée à vos besoins):

$cfg['PmaAbsoluteUri'] = 'http://www.mon-domaine.com/un-chemin/phpmyadmin/';

Remerciements