Accueil > Programmation > mysql - mariadb > installation de phpmyadmin
installation de phpmyadmin
Publié le 8 décembre 2024, dernière mise-à-jour le 21 janvier 2025, > 5 visites, >> visites totales.
installation normale
systemctl stop apache2 && apt-get install phpmyadmin && systemctl start apache2 && a2enconf phpmyadmin && systemctl reload apache2 && systemctl stop apache2 && systemctl start apache2
marche pour trixie/deb13, on obtient ce fichier /etc/apache2/conf-available/phpmyadmin.conf :
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
# limit libapache2-mod-php to files and directories necessary by pma
<IfModule mod_php7.c>
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/usr/share/doc/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/:/usr/share/javascript/
</IfModule>
# PHP 8+
<IfModule mod_php.c>
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/usr/share/doc/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/:/usr/share/javascript/
</IfModule>
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
autre installation
Si on ne peut pas l’installer normalement, le télécharger sur le site https://files.phpmyadmin.net/phpMyAdmin/ et prendre celui avec le plus grand numéro ; dans l’exemple en dessous on a le fichier phpMyAdmin-4.9.5-all-languages.zip.
7z x phpMyAdmin-4.9.5-all-languages.zip && mv phpMyAdmin-4.9.5-all-languages /usr/share/phpmyadmin && cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php && mkdir -p /usr/share/phpmyadmin/tmp
créer un fichier /etc/apache2/conf-available/phpmyadmin.conf :
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
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_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/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
<IfModule mod_php.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
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/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>
PUIS a2enconf phpmyadmin.conf
Configuration de phpmyadmin
Les variables de phpmyadmin sont configurables dans un fichier config.inc.php. On peut trouver les variables dans https://docs.phpmyadmin.net/fr/latest/config.html
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Exemple : augmenter le temps pour les exécutions de scripts ( importer par exemple )
echo -e "\$cfg['ExecTimeLimit'] = 3000;" >> /usr/share/phpmyadmin/config.inc.php
DOC
- https://docs.phpmyadmin.net/en/latest/genindex.html
- https://www.gabinhocity.eu/installer-apache-php7-3-mysql-et-phpmyadmin-sur-debian-10-buster/
ERREUR : Access denied for user ’phpmyadmin’@’localhost
sudo mysql
use mysql;
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'supersecretpassword';
SET PASSWORD FOR 'phpmyadmin'@'localhost' = PASSWORD('supersecretpassword');
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
ERREUR : phpmyadmin mal configuré : créer la base phpmyadmin
importer le fichier /usr/share/phpmyadmin/sql/create_tables.sql
ERREUR : la configuration/le site a été réinitialisée
Si c’est pendant un upload, augmenter la taille des fichiers de apache et le temps nécessaire pour le lire :
sed -e "s/max_execution_time\ =\ \([0-9]*\)/max_execution_time = 30000 /" -e "s/max_input_time\ =\ \([0-9]*\)/max_input_time = 60000 /" -e "s/^session.gc_maxlifetime.*/session.gc_maxlifetime=72000/" -e "s#memory_limit =.*#memory_limit = 4096M#" -e "s#post_max_size =.*#post_max_size = 800M#" -e "s#upload_max_filesize =.*#upload_max_filesize = 800M#" -i /etc/php/[0-9].[0-9]/apache2/php.ini && systemctl restart apache2
remise normale :
sed -e "s/max_execution_time\ =\ \([0-9]*\)/max_execution_time = 30 /" -e "s/max_input_time\ =\ \([0-9]*\)/max_input_time = 60 /" -e "s/^session.gc_maxlifetime.*/session.gc_maxlifetime=1440/" -e "s#memory_limit =.*#memory_limit = 128M#" -e "s#post_max_size =.*#post_max_size = 8M#" -e "s#upload_max_filesize =.*#upload_max_filesize = 2M#" -i /etc/php/[0-9].[0-9]/apache2/php.ini && systemctl restart apache2
ERREUR : La limite de temps pour l’exécution du script a été atteinte
Voir au dessus #configuration