Installation
Ligne 166 : | Ligne 166 : | ||
== Installation == | == Installation == | ||
+ | === Assistant d'installation === | ||
+ | Se rendre à l'adresse http://myserver/pma/setup/ : | ||
+ | |||
+ | :[[Fichier:ClipCapIt-190813-155223.PNG|none|thumb|300px|phpMyAdmin setup - Survol]] | ||
+ | |||
+ | Cliquer sur '''Nouveau serveur''' : | ||
+ | |||
+ | :[[Fichier:ClipCapIt-190813-155246.PNG|none|thumb|300px|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''' : | ||
+ | |||
+ | :[[Fichier:ClipCapIt-190813-155318.PNG|none|thumb|300px|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é : | ||
+ | |||
+ | :[[Fichier:ClipCapIt-190813-155353.PNG|none|thumb|300px|phpMyAdmin setup - Serveur ajouté]] | ||
+ | |||
+ | Dans la section '''Fichier de configuration''', définir la '''Langue par défaut''' à ''"Français - French"'' : | ||
+ | |||
+ | :[[Fichier:ClipCapIt-190813-155443.PNG|none|thumb|300px|phpMyAdmin setup - Fichier de configuration]] | ||
+ | |||
+ | Cliquer sur '''Télécharger'''. Cela met à disposition un fichier nommé <code>config.inc.php</code>. | ||
+ | |||
+ | === Mise en place fichier config.inc.php === | ||
+ | Déposer le fichier <code>config.inc.php</code> précédemment téléchargé dans le dossier <code>/data/www/phpMyAdmin</code> 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 <code>/data/www/phpMyAdmin/config.inc.php</code> et y ajouter les lignes suivantes juste avant la fin de section <code>/* End of servers configuration */</code> : | ||
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | /* 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 */ | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==== 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]]) : | ||
+ | |||
+ | :[[Fichier:ClipCapIt-190813-155557.PNG|none|thumb|300px|phpMyAdmin - Connexion]] | ||
+ | |||
+ | Un message relatif au stockage de configurations s'affiche sur la page d'accueil : | ||
+ | |||
+ | :[[Fichier:ClipCapIt-190813-155641.PNG|none|thumb|300px|phpMyAdmin - Accueil - Erreur]] | ||
+ | |||
+ | Cliquer sur '''Voir l'analyse du problème'''. Un message proposant de '''créer les tables manquantes''' s'affiche : | ||
+ | |||
+ | :[[Fichier:ClipCapIt-190813-155723.PNG|none|thumb|300px|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 : | ||
+ | |||
+ | :[[Fichier:ClipCapIt-190813-155757.PNG|none|thumb|300px|phpMyAdmin - Vérification tables de configuration - Validé]] |
Version actuelle datée du 13 août 2019 à 13:58
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
Installation
Assistant d'installation
Se rendre à l'adresse http://myserver/pma/setup/ :
Cliquer sur Nouveau serveur :
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 :
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é :
Dans la section Fichier de configuration, définir la Langue par défaut à "Français - French" :
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) :
Un message relatif au stockage de configurations s'affiche sur la page d'accueil :
Cliquer sur Voir l'analyse du problème. Un message proposant de créer les tables manquantes s'affiche :
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 :