Table des matières

PHPmyAdmin

Installation

Commande

~# apt-get install phpmyadmin
~#

L'installation demandera le mot de passe de l'utilisateur root et un mot de passe pour l'utilisateur phpmyadmin.

Contrôle

Dans un navigateur, appeler un des sites existant avec le répertoire /phpmyadmin : http://localhost/phpmyadmin

Sécurité

PHPmydmin est disponible pour tout les sites. Ce n'est pas forcément souhaitable.

L'inclusion automatique se fait via le fichier /etc/apache2/conf-enabled/phpmyadmin.conf

# phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_flag magic_quotes_gpc Off
        php_flag track_vars On
        php_flag register_globals Off
        php_admin_flag allow_url_fopen Off
        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/
    </IfModule>

</Directory>
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

Désactivation de PHPmyAdmin

~# a2disconf phpmyadmin.conf
Conf phpmyadmin disabled.
To activate the new configuration, you need to run:
  service apache2 reload
~# service apache2 reload
~# 

Activation par site

On peut utiliser le principe décrit dans la configuration des sites. Il faut alors faire un lien du fichier phpmyadmin.conf dans le répertoire de configuration du site.