GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer phpMyAdmin avec Apache (LAMP) sur Ubuntu 20.04

Ce tutoriel vous montrera comment installer phpMyAdmin avec Apache, MariaDB, PHP7.4 (pile LAMP) sur Ubuntu 20.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.

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 20.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 20.04. Si ce n'est pas le cas, veuillez consulter le didacticiel suivant.

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

Cela dit, commençons par installer phpMyAdmin.

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

phpMyAdmin est inclus dans le référentiel de logiciels Ubuntu 20.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 20.04, ajoutez simplement /phpmyadmin après votre nom de domaine dans la barre d'adresse du navigateur.

example.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 les commandes suivantes 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 80,443/tcp

Vous pouvez maintenant utiliser le nom d'utilisateur et le mot de passe MariaDB/MySQL pour vous connecter à phpMyAdmin. Si vous ne pouvez pas vous connecter en tant que root, passez à l'étape 5 pour résoudre ce problème.

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

Si votre serveur Ubuntu 20.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

Ce fichier manque de <VirtualHost> balises, nous devons donc ajouter les lignes suivantes au début de ce fichier. Remplacez pma.example.com avec 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 pour fermer le <VirtualHost> balise.

</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 20.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]

Où :

  • –apache : Utiliser l'authentificateur et le programme d'installation Apache
  • –d'accord  :Acceptez les conditions d'utilisation de Let's Encrypt
  • –redirection  : appliquez HTTPS en ajoutant une redirection permanente 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'

ou

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.


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