Installer PHPMyAdmin sur Debian
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 :
- un serveur HTTP avec support du PHP, comme décrit par Installer PHP-FPM sur Debian.
- un serveur MySQL, comme décrit par Installer et configurer MySQL sur Debian.
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:
- L'intégration de PHPMyAdmin aux pages de statut du serveur, comme décrit par Afficher les statuts d'un serveur -> PHPMyAdmin.
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
- Merci aux développeurs de PHPMyAdmin.
