Installation

De Wiki de Jordan LE NUFF
< Outillage‎ | phpMyAdmin
Révision datée du 13 août 2019 à 13:58 par Jordan (discussion | contributions) (→‎Installation)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

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

Installation

Assistant d'installation

Se rendre à l'adresse http://myserver/pma/setup/ :

phpMyAdmin setup - Survol

Cliquer sur Nouveau serveur :

phpMyAdmin setup - Configuration de base

Renseigner les champs comme ceci :

  • Nom à afficher pour ce serveur : myserver
  • Nom du serveur hôte : localhost
  • Interface de connexion socket : /local/mysql/current/mysql.sock

Cliquer sur l'onglet Stockage de configuration :

phpMyAdmin setup - Stockage de configuration

Ne renseigner que les champs suivants :

  • Nom de base de données : pma_db <== défini plus haut, dans la section #MySQL
  • Utilisateur de contrôle : pma_user <== défini plus haut, dans la section #MySQL
  • Mot de passe de l'utilisateur de contrôle : xxxxxxxxxxxxx <== défini plus haut, dans la section #MySQL

Cliquer sur Appliquer. L'écran principal s'affiche avec le serveur MySQL nouvellement ajouté :

phpMyAdmin setup - Serveur ajouté

Dans la section Fichier de configuration, définir la Langue par défaut à "Français - French" :

phpMyAdmin setup - Fichier de configuration

Cliquer sur Télécharger. Cela met à disposition un fichier nommé config.inc.php.

Mise en place fichier config.inc.php

Déposer le fichier config.inc.php précédemment téléchargé dans le dossier /data/www/phpMyAdmin sur le serveur myserver.

Créer un lien symbolique pointant vers ce fichier :

ln -s /data/www/phpMyAdmin/config.inc.php /data/www/phpMyAdmin/current/config.inc.php

Changer de propriétaire :

chown www:www /data/www/phpMyAdmin/current/config.inc.php

Stockage de configurations

Modification fichier config.inc.php

Editer le fichier /data/www/phpMyAdmin/config.inc.php et y ajouter les lignes suivantes juste avant la fin de section /* End of servers configuration */ :

/* Storage database and tables */
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

/* End of servers configuration */

Assistant de création des tables

Se connecter à phpMyAdmin fraîchement installé à l'URL http://myserver/pma/ avec l'utilisateur pma_user (précédemment créé dans la section #MySQL) :

phpMyAdmin - Connexion

Un message relatif au stockage de configurations s'affiche sur la page d'accueil :

phpMyAdmin - Accueil - Erreur

Cliquer sur Voir l'analyse du problème. Un message proposant de créer les tables manquantes s'affiche :

phpMyAdmin - Vérification tables de configuration - Erreur

Cliquer sur Créer afin de lancer la création automatique des tables. Une fois la création des tables terminées, la vérification des tables est validée :

phpMyAdmin - Vérification tables de configuration - Validé