Installation
(Page créée avec « == Présentation == Cette page a pour objet de décrire l'installation du produit phpMyAdmin. Le produit téléchargeable depuis le site officiel : https://www.phpmyadmin... ») |
|||
Ligne 107 : | Ligne 107 : | ||
GRANT ALL PRIVILEGES ON pma_db.* TO 'pma_user'@'localhost' WITH GRANT OPTION; | GRANT ALL PRIVILEGES ON pma_db.* TO 'pma_user'@'localhost' WITH GRANT OPTION; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | === Apache === | ||
+ | Ajouter la section suivante dans le fichier <code>/local/www/current/conf/sites/myserver.conf</code> : | ||
+ | <syntaxhighlight lang="apache"> | ||
+ | # Configuration phpMyAdmin | ||
+ | Alias /pma /data/www/phpMyAdmin/current | ||
+ | <Directory "/data/www/phpMyAdmin/current"> | ||
+ | Options FollowSymLinks | ||
+ | DirectoryIndex index.php | ||
+ | AllowOverride All | ||
+ | Require all granted | ||
+ | <FilesMatch \.php$> | ||
+ | SetHandler "proxy:unix:/local/php/sockets/php7_phpmyadmin.sock|fcgi://localhost/" | ||
+ | </FilesMatch> | ||
+ | </Directory> | ||
+ | # Fin de configuration iTop | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Recharger Apache pour prise en compte : | ||
+ | |||
+ | httpd -k graceful | ||
+ | |||
+ | === PHP === | ||
+ | Créer un fichier <code>/local/php/php7/etc/php-fpm.d/phpmyadmin.conf</code> dont le contenu sera le suivant : | ||
+ | <syntaxhighlight lang="ini"> | ||
+ | [phpmyadmin] | ||
+ | user = php-fpm | ||
+ | group = php-fpm | ||
+ | |||
+ | ; Socket Unix dédié à phpMyAdmin | ||
+ | listen = /local/php/sockets/php7_$pool.sock | ||
+ | |||
+ | ; Donner à Apache (www) les droits d'accès au socket | ||
+ | listen.owner = www | ||
+ | listen.group = www | ||
+ | |||
+ | ; Définition du chemin d'accès des logs | ||
+ | access.log = /data/logs/$pool/$pool_php7.access.log | ||
+ | slowlog = /data/logs/$pool/$pool_php7.log.slow | ||
+ | php_admin_value[error_log] = /data/logs/$pool/$pool_php7.log | ||
+ | php_admin_flag[log_errors] = on | ||
+ | ; https://www.php.net/manual/fr/errorfunc.constants.php | ||
+ | php_admin_value[error_reporting] = E_NOTICE | ||
+ | |||
+ | ; Tuning du pool php-fpm | ||
+ | pm = dynamic | ||
+ | pm.max_children = 5 | ||
+ | pm.start_servers = 2 | ||
+ | pm.min_spare_servers = 1 | ||
+ | pm.max_spare_servers = 3 | ||
+ | pm.status_path = /status | ||
+ | ping.path = /ping | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Recharger php7-fpm pour prise en compte : | ||
+ | |||
+ | systemctl reload php7-fpm.service | ||
== Installation == | == Installation == |
Version du 13 août 2019 à 13:51
Sommaire
Présentation
Cette page a pour objet de décrire l'installation du produit phpMyAdmin.
Le produit téléchargeable depuis le site officiel : https://www.phpmyadmin.net/. A ce jour, la version disponible est la 4.8.5 (https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip).
La documentation est accessible à https://docs.phpmyadmin.net/fr/latest/.
Prérequis
Serveur web
Pas de prérequis particulier. Le Apache 2.4.39 installé sur le serveur web sera donc suffisant.
PHP
Version
Version 7.1.3 minimum requise.
Extensions
Les extensions nécessaires sont les suivantes :
- session
- SPL
- hash
- ctype
- JSON
- mbstring
- Optionnelle, mais fortement recommandée pour des raisons de performances
- zip
- pour télécharger des fichiers ZIP vers le serveur
- gd
- openssl
- Optionnelle, mais fortement recommandée pour utiliser la méthode d’authentification par « cookie » (par défaut)
- curl
Pour vérifier la présence de ces extensions, lancer la commande suivante :
php -m|grep -iE "session|spl|hash|ctype|json|gd|curl"
Sur le serveur web, cela donne le résultat suivant :
ctype curl gd hash json session SPL
Les extension nécessaires sont donc bien présentes sur le serveur web.
Base de données
phpMyAdmin ne prend en charge que les bases de données compatibles MySQL :
- MySQL 5.5 ou supérieur
- MariaDB 5.5 ou supérieur
En l'occurrence, sur le serveur de base de données, le prérequis de la base de données est rempli :
mysql --version
mysql Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using EditLine wrapper
Téléchargement et déploiement des sources
Téléchargement
Se connecter en SSH au serveur web lancer la commande suivante :
wget -O downloads/phpMyAdmin-4.8.5.zip https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip
Déploiement des sources
Définir temporairement un umask à 0002 :
umask 0002
Créer un dossier phpMyAdmin :
mkdir -p /chemin/vers/phpMyAdmin
Dézipper le fichier des sources phpMyAdmin vers son dossier d'installation nouvellement créé :
unzip -d /chemin/vers/phpMyAdmin/ downloads/phpMyAdmin-4.8.5.zip
Créer un lien symbolique current pointant vers le dossier des sources dézippé :
ln -s /chemin/vers/phpMyAdmin/phpMyAdmin-4.8.5-all-languages /chemin/vers/phpMyAdmin/current
Redéfinir le umask par défaut :
. /etc/profile
Paramètres supplémentaires
Fichiers
Donner les droits d'accès à l'utilisateur Apache (www) au dossier applicatif de phpMyAdmin :
chown -R www:www /chemin/vers/phpMyAdmin
MySQL
Une base de données dédiée à phpMyAdmin doit être créée et un utilisateur dédié doit lui être associé. Cela permet d'activer des fonctionnalités supplémentaires de phpMyAdmin (Signets, commentaires, historique SQL, mécanisme de suivi, génération de PDF, Transformations, Relations , etc.).
Pour créer la base de données, se connecter en tant que root :
mysql -uroot -p
Créer une base de données nommée pma_db :
CREATE DATABASE pma_db;
Créer un utilisateur nommé pma_user et lui donner les droits d'accès à cette base :
CREATE USER 'pma_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxxxxxxxxxxx';
GRANT ALL PRIVILEGES ON pma_db.* TO 'pma_user'@'localhost' WITH GRANT OPTION;
Apache
Ajouter la section suivante dans le fichier /local/www/current/conf/sites/myserver.conf
:
# Configuration phpMyAdmin
Alias /pma /data/www/phpMyAdmin/current
<Directory "/data/www/phpMyAdmin/current">
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
Require all granted
<FilesMatch \.php$>
SetHandler "proxy:unix:/local/php/sockets/php7_phpmyadmin.sock|fcgi://localhost/"
</FilesMatch>
</Directory>
# Fin de configuration iTop
Recharger Apache pour prise en compte :
httpd -k graceful
PHP
Créer un fichier /local/php/php7/etc/php-fpm.d/phpmyadmin.conf
dont le contenu sera le suivant :
[phpmyadmin]
user = php-fpm
group = php-fpm
; Socket Unix dédié à phpMyAdmin
listen = /local/php/sockets/php7_$pool.sock
; Donner à Apache (www) les droits d'accès au socket
listen.owner = www
listen.group = www
; Définition du chemin d'accès des logs
access.log = /data/logs/$pool/$pool_php7.access.log
slowlog = /data/logs/$pool/$pool_php7.log.slow
php_admin_value[error_log] = /data/logs/$pool/$pool_php7.log
php_admin_flag[log_errors] = on
; https://www.php.net/manual/fr/errorfunc.constants.php
php_admin_value[error_reporting] = E_NOTICE
; Tuning du pool php-fpm
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.status_path = /status
ping.path = /ping
Recharger php7-fpm pour prise en compte :
systemctl reload php7-fpm.service