GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer phpMyAdmin avec Apache (LAMP) sur Ubuntu 18.04

Ce tutoriel vous montrera comment installer phpMyAdmin avec Apache, MariaDB, PHP7.2 (pile LAMP) sur Ubuntu 18.04 LTS. phpMyAdmin est un outil de gestion de base de données Web gratuit et open-source écrit en PHP. Il fournit une interface Web graphique permettant aux utilisateurs de gérer la base de données MySQL ou MariaDB. Nous allons également apprendre comment activer l'authentification à deux facteurs sur phpMyAdmin.

phpMyAdmin permet aux administrateurs de :

  • naviguer dans les bases de données et les tables ;
  • créer, copier, renommer, modifier et supprimer des bases de données ;
  • créer, copier, renommer, modifier et supprimer des tables ;
  • effectuer la maintenance des tables ;
  • ajouter, modifier et supprimer des champs ;
  • exécuter n'importe quelle instruction SQL, même plusieurs requêtes ;
  • créer, modifier et supprimer des index ;
  • charger des fichiers texte dans des tableaux ;
  • créer et lire des vidages de tables ou de bases de données ;
  • exporter des données aux formats SQL, CSV, XML, Word, Excel, PDF et LaTeX ;
  • administrer plusieurs serveurs ;
  • gérer les utilisateurs et les privilèges MySQL ;
  • vérifier les paramètres du serveur et les informations d'exécution avec des conseils de configuration ;
  • vérifier l'intégrité référentielle dans les tables MyISAM ;
  • créer automatiquement des requêtes complexes à l'aide de Query-by-example (QBE)
  • connecter les tables requises ;
  • créer des graphiques PDF de la mise en page de la base de données ;
  • rechercher globalement dans une base de données ou un sous-ensemble de celle-ci ;
  • transformer les données stockées dans n'importe quel format à l'aide d'un ensemble de fonctions prédéfinies, telles que l'affichage des données BLOB sous forme d'image ou de lien de téléchargement ;
  • gérer les tables InnoDB et les clés étrangères ;

Prérequis

Pour suivre ce tutoriel, vous avez besoin d'un système d'exploitation Ubuntu 18.04 exécuté sur votre ordinateur local ou sur un serveur distant.

Si vous recherchez un VPS (Virtual Private Server), vous pouvez créer un compte chez Vultr via mon lien de parrainage pour obtenir un crédit gratuit de 50 $ (pour les nouveaux utilisateurs uniquement). Et si vous avez besoin de configurer phpMyAdmin avec un nom de domaine, je vous recommande d'acheter des noms de domaine auprès de NameCheap car le prix est bas et ils offrent une protection gratuite de la confidentialité whois.

Il est supposé que vous avez déjà installé la pile LAMP sur Ubuntu 18.04. Si ce n'est pas le cas, veuillez consulter le didacticiel suivant.

  • Comment installer la pile LAMP (Apache, MariaDB, PHP7.2) sur Ubuntu 18.04 LTS

Cela dit, commençons par installer phpMyAdmin.

Étape 1 :Téléchargez et installez phpMyAdmin sur Ubuntu 18.04

phpMyAdmin est inclus dans le référentiel de logiciels Ubuntu 18.04. afin que nous puissions facilement l'installer avec la commande ci-dessous.

sudo apt update
sudo apt install phpmyadmin

La commande ci-dessus installera toutes les dépendances nécessaires, y compris les extensions PHP7. Lors de l'installation, il vous sera demandé de sélectionner un serveur Web à configurer. Appuyez sur l'space barre pour sélectionner apache2. (Un astérisque * indique que l'élément est sélectionné). Appuyez ensuite sur Tab touche et Enter pour confirmer votre choix.

Dans l'écran suivant, sélectionnez Yes configurer une base de données pour phpMyAdmin avec dbconfig-common .

Définissez ensuite un mot de passe pour le phpmyadmin utilisateur dans MariaDB/MySQL.

Une fois cette étape effectuée, une nouvelle base de données nommée phpmyadmin est créé et l'utilisateur de la base de données phpmyadmin dispose des privilèges nécessaires pour gérer cette base de données. Si vous êtes curieux comme moi, vous pouvez vous connecter à MariaDB et vérifier quels privilèges phpmyadmin l'utilisateur a été autorisé.

Vous pouvez utiliser la commande suivante pour vous connecter au serveur MariaDB.

sudo mysql -u root

Vérifiez ensuite les privilèges de phpmyadmin utilisateur.

show grants for [email protected];

Sortie :

Comme vous pouvez le voir, l'utilisateur phpmyadmin a tous les privilèges sur la base de données phpmyadmin . Vous pouvez maintenant quitter en exécutant :

exit;

Exécutez maintenant la commande suivante pour vérifier si le /etc/apache2/conf-enabled/phpmyadmin.conf le fichier existe.

file /etc/apache2/conf-enabled/phpmyadmin.conf

S'il n'y a pas d'erreur dans le processus d'installation, vous devriez voir la sortie de commande suivante.

/etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.conf

Si ce fichier n'existe pas sur votre serveur, il est probable que vous n'ayez pas sélectionné le serveur Web Apache dans l'assistant de configuration de phpMyAdmin. Vous pouvez le réparer avec les commandes suivantes.

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf

sudo a2enconf phpmyadmin

sudo systemctl reload apache2

Étape 2 :Accéder à phpMyAdmin depuis un sous-répertoire

Lors de l'installation de phpMyAdmin, un fichier de configuration est placé dans /etc/apache2/conf-enabled/phpmyadmin.conf , qui nous permet d'accéder à phpMyAdmin via un sous-répertoire. Si vous avez installé d'autres applications Web comme WordPress sur le même serveur Ubuntu 18.04, ajoutez simplement /phpmyadmin après votre nom de domaine dans la barre d'adresse du navigateur.

your-domain.com/phpmyadmin

Si phpMyAdmin est installé sur votre ordinateur Ubuntu local, vous pouvez accéder à l'interface Web de phpMyAdmin en saisissant le texte suivant dans la barre d'adresse du navigateur.

localhost/phpmyadmin

Si la connexion est refusée ou échoue, il se peut qu'un pare-feu empêche les requêtes HTTP. Si vous utilisez le pare-feu iptables, vous devez exécuter la commande suivante pour ouvrir les ports TCP 80 et 443.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

Si vous utilisez un pare-feu UFW, exécutez cette commande pour ouvrir les ports TCP 80 et 443.

sudo ufw allow http
sudo ufw allow https

Vous pouvez maintenant utiliser le nom d'utilisateur et le mot de passe MariaDB/MySQL pour vous connecter à phpMyAdmin

Étape 3 :Accéder à phpMyAdmin depuis un sous-domaine

Si votre serveur Ubuntu 18.04 n'a pas d'autre hôte virtuel Apache, vous pouvez utiliser un sous-domaine pour accéder à l'interface Web phpMyAdmin. De cette façon, vous pouvez activer HTTPS pour chiffrer le trafic.

Tout d'abord, nous devons créer un hôte virtuel Apache pour phpMyAdmin. L'extrait de configuration phpMyAdmin existant peut être utilisé comme modèle. Copions-le dans un nouveau fichier.

sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf

Modifiez ensuite le nouveau fichier avec un éditeur de texte en ligne de commande, tel que Nano.

sudo nano /etc/apache2/sites-available/phpmyadmin.conf

Ajoutez les lignes suivantes au début de ce fichier. Remplacez pma.example.com par votre sous-domaine préféré pour phpMyAdmin. N'oubliez pas de créer un enregistrement DNS A pour ce sous-domaine.

<VirtualHost *:80>
    ServerName pma.example.com
    DocumentRoot /usr/share/phpmyadmin

    ErrorLog ${APACHE_LOG_DIR}/pma.error.log
    CustomLog ${APACHE_LOG_DIR}/pma.access.log combined

Ajoutez la ligne suivante à la fin de ce fichier.

</VirtualHost>

Enregistrez et fermez le fichier. (Pour enregistrer un fichier dans l'éditeur de texte Nano, appuyez sur Ctrl+O , puis appuyez sur Entrée pour confirmer. Pour quitter, appuyez sur Ctrl+X .) Activez ensuite cet hôte virtuel.

sudo a2ensite phpmyadmin.conf

Rechargez le serveur Web Apache pour que cette modification prenne effet.

sudo systemctl reload apache2

Vous devriez maintenant pouvoir accéder à l'interface Web de phpMyAdmin via

pma.example.com

Avant de saisir les informations d'identification de l'utilisateur dans le formulaire de connexion, activons HTTPS.

Étape 4 :Activer HTTPS sur phpMyAdmin avec Apache

Pour sécuriser l'interface web de phpMyadmin, nous pouvons installer un certificat Let's Encrypt TLS gratuit. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) à partir du référentiel de logiciels Ubuntu 18.04.

sudo apt install certbot python3-certbot-apache

Python3-certbot-apache est le plugin Apache pour Certbot. Exécutez maintenant la commande suivante pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email [email protected]

Explication :

  • –apache : Utiliser l'authentificateur et le programme d'installation Apache
  • –d'accord  :Acceptez les conditions d'utilisation de Let's Encrypt
  • –redirection  :Ajoutez une redirection 301.
  • –hsts  :Ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP.
  • –agrafe-ocsp  :Active l'agrafage OCSP.
  • –doit-agrafer :Ajoute l'extension OCSP Must Staple au certificat.
  • -d flag est suivi d'une liste de noms de domaine, séparés par une virgule. Vous pouvez ajouter jusqu'à 100 noms de domaine.
  • –e-mail :E-mail utilisé pour l'enregistrement et le contact de récupération.

Il vous sera demandé si vous souhaitez recevoir des e-mails de l'EFF (Electronic Frontier Foundation). Après avoir choisi O ou N, votre certificat TLS sera automatiquement obtenu et configuré pour vous, ce qui est indiqué par le message ci-dessous.

Étape 5 :Résoudre l'erreur de connexion à phpMyAdmin

Si vous essayez de vous connecter à phpMyAdmin avec un compte root MariaDB, vous pouvez voir l'erreur suivante.

#1698 - Access denied for user 'root '@'localhost'

et

mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'

Si vous vous connectez avec l'utilisateur phpmyadmin , vous ne verrez pas l'erreur ci-dessus. Cependant, l'utilisateur phpmyadmin ne peut être utilisé que pour gérer le phpmyadmin base de données. La cause de l'erreur est que, par défaut, l'utilisateur root de MariDB est authentifié via le plugin unix_socket, au lieu d'utiliser le mysql_native_password brancher. Pour résoudre ce problème, nous pouvons créer un autre utilisateur administrateur et accorder tous les privilèges au nouvel utilisateur administrateur.

Connectez-vous au serveur MariaDB à partir de la ligne de commande.

sudo mysql -u root

Créez un utilisateur administrateur avec authentification par mot de passe.

create user [email protected] identified by 'your-preferred-password';

Accordez tous les privilèges sur toutes les bases de données.

grant all privileges on *.* to [email protected] with grant option;

Vider les privilèges et quitter ;

flush privileges;

exit;

Vous pouvez maintenant vous connecter à phpMyAmin avec l'admin compte et gérer toutes les bases de données.

Étape 6 :Installez la dernière version stable de phpMyAdmin

Le référentiel Ubuntu 18.04 est livré avec PHP7.2 et phpMyAdmin 4.6.6. Vous pouvez vérifier votre version de phpMyAdmin dans la barre de titre du navigateur.

Cependant, PHP7.2 est supporté par phpMyAdmin depuis la version 4.7.4. Lorsque vous utilisez phpMyAdmin 4.6.6 avec PHP7.2, vous verrez le message d'avertissement suivant dans l'onglet Exporter et Importer.

parameter must be an array or an object that implements countable

Pour résoudre le problème de compatibilité, nous pouvons installer phpMyAdmin 4.9, qui est la dernière version stable à ce jour. Téléchargez-le en utilisant wget .

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip

Astuce :Vous pouvez toujours utiliser le format d'URL ci-dessus pour télécharger la dernière version stable de phpMyAdmin. Remplacez simplement 4.9.0.1 par le dernier numéro de version.

Ensuite, extrayez-le.

sudo apt install unzip

unzip phpMyAdmin-4.9.0.1-all-languages.zip

Sauvegardez les fichiers phpMyAdmin d'origine.

sudo mv /usr/share/phpmyadmin /usr/share/phpmyadmin-original

Déplacez phpMyadmin 4.9 vers /usr/share/phpmyadmin/ répertoire.

sudo mv phpMyAdmin-4.9.0.1-all-languages /usr/share/phpmyadmin

Modifiez le fichier de configuration du fournisseur.

sudo nano /usr/share/phpmyadmin/libraries/vendor_config.php

Trouvez la ligne suivante.

define('CONFIG_DIR', '');

Changez-le en

define('CONFIG_DIR', '/etc/phpmyadmin/');

Enregistrez et fermez le fichier. Créez ensuite le tmp dossier pour stocker les fichiers de cache.

sudo mkdir /usr/share/phpmyadmin/tmp

Modifier la propriété de l'utilisateur et la propriété du groupe en www-data .

sudo chown www-data:www-data /usr/share/phpmyadmin/tmp

Vous pouvez maintenant utiliser phpMyAdmin 4.9 sans voir les erreurs PHP.

Activer l'authentification à deux facteurs

Vous pouvez également renforcer phpMyAdmin en activant l'authentification à deux facteurs, qui est une fonctionnalité ajoutée dans la version 4.8. Pour l'activer, connectez-vous à phpMyAdmin. Allez ensuite dans Settings -> Two-factor authentication et sélectionnez Application d'authentification (2FA) .

Après avoir cliqué sur Configurer l'authentification à deux facteurs bouton, un code QR vous sera présenté, que vous devrez scanner avec une application d'authentification à deux facteurs sur votre téléphone.

Google Authenticator est une application 2FA populaire, mais je recommande FreeOTP, qui est une application 2FA open source développée par Red Hat. Une fois que vous avez entré le code d'authentification généré par votre application 2FA, l'authentification à deux facteurs est activée. Si vous vous déconnectez et vous reconnectez maintenant, vous devez entrer le code d'authentification en plus du nom d'utilisateur et du mot de passe.


Ubuntu
  1. Comment installer la pile LAMP sur Ubuntu 18.04

  2. Comment installer et sécuriser phpMyAdmin avec Apache sur Ubuntu 18.04

  3. Comment installer PrestaShop sur Ubuntu 20.04 avec Apache

  4. Installer phpMyAdmin sur Ubuntu 20.04 avec Apache

  5. Installer phpMyAdmin sur Ubuntu 22.04 avec Apache

Comment installer WordPress avec Apache dans Ubuntu 20.04

Comment installer phpMyAdmin avec Apache sur Ubuntu 22.04 LTS

Comment installer Drupal avec Apache sur Debian et Ubuntu

Comment installer WordPress avec LAMP sur Ubuntu 20.04

Comment installer Joomla avec LAMP sur Ubuntu 20.04

Comment installer LAMP dans Ubuntu