Login Logout

HowtophpMyAdmin

Cette page a été importée automatiquement de notre ancien wiki mais n’a pas encore été révisée.

Howto phpMyAdmin

# apt install phpmyadmin

Si l’on utilise phpMyAdmin avec Apache cela va ajouter le fichier /etc/apache2/conf-enabled/phpmyadmin.conf (sous Debian 7: /etc/apache2/conf.d/phpmyadmin.conf) qui configure un Alias /phpmyadmin accessible de n’importe quel site sur le serveur… on préfèrera restreindre phpMyAdmin à un VirtualHost précis, avec un Alias non standard (exemple /pma-42) et si possible restreint par IP :

# a2disconf phpmyadmin
Conf phpmyadmin disabled.
To activate the new configuration, you need to run:
  service apache2 reload
# sed -i s/^Alias/#Alias/ /etc/apache2/conf-available/phpmyadmin.conf

en ajoutant dans le VirtualHost approprié :

    Alias /pma-42 /usr/share/phpmyadmin/
    Include /etc/apache2/conf-available/phpmyadmin.conf
    <Directory /usr/share/phpmyadmin/>
        Deny from all
        Allow from 192.0.2.42
        Allow from 2001:db8::42
    </Directory>

Note : dans tous les cas, on veillera à bien conserver la plupart des instructions du fichier /etc/apache2/conf-available/phpmyadmin.conf qui sont importantes pour la sécurité.

Configuration

Il est préférable de modifier la configuration via l’interface web en ajoutant /setup/ à l’URL de phpMyAdmin

Cela va demander un identifiant que l’on pourra configurer via /etc/phpmyadmin/htpasswd.setup

Attention, pour sauvegarder sa configuration, il est nécessaire de lancer la commande pma-configure avant :

# pma-configure 
Unsecuring phpMyAdmin installation...
Setup script can now write to the configuration file.

Do not forget to run /usr/sbin/pma-secure after configuring,

Une fois les changements sauvegardés dans l’interface /setup/ (par exemple on pourra ajouter plusieurs serveurs MySQL) on lancera la commande pma-secure :

# pma-secure 
Securing phpMyAdmin installation...
Setup script won't be able to write configuration.

Utilisation derrière un reverse-proxy

Si l’on utilise phpMyAdmin derrière un reverse-proxy, il faudra probablement forcer la variable de configuration PmaAbsoluteUri Par exemple si le serveur HTTP “caché” tourne sur le port TCP/8080, mais que celui-ci n’est pas accessible directement, on devra forcer PmaAbsoluteUri pour utiliser une URL sans 8080. Cela se passe dans le fichier de configuration /etc/phpmyadmin/config.inc.php :

$cfg['PmaAbsoluteUri'] = '<http://example.com/pma-42';>

Support

Lors upload d’un fichier (pour import par ex) : Le fichier ne peut être lu. Vérifier si upload_tmp_dir est bien dans la liste et contenu dans open_basedir, et que le répertoire ait les bon droits.