Recherche de site Web

Comment installer PhpMyAdmin avec Nginx et SSL Let's Encrypt sur Ubuntu 24.04


Comment installer PhpMyAdmin avec Nginx et SSL Let's Encrypt sur Ubuntu 24.04

Sur cette page

  1. Conditions préalables
  2. Installer Nginx, MariaDB et PHP
  3. Installer phpMyAdmin

    1. Configurer phpMyAdmin manuellement pour Nginx
  4. Sécuriser MariaDB
  5. Configurer Nginx pour phpMyAdmin
  6. Sécurisez phpMyAdmin avec le SSL Let's Encrypt

    1. Renouvellement automatique de certificat
  7. Dernières étapes
  8. Accéder à phpMyAdmin
  9. Conclusion

phpMyAdmin sur Ubuntu est une interface web qui simplifie la gestion des bases de données MySQL ou MariaDB. Il permet aux utilisateurs d'effectuer des opérations sur les bases de données telles que la création, la modification et la suppression de bases de données, de tables et d'enregistrements sans interagir directement avec la ligne de commande. Conçu pour être facile à utiliser, phpMyAdmin est particulièrement utile pour les utilisateurs qui ne sont pas à l'aise avec les commandes SQL. Sur Ubuntu, il peut être installé dans le cadre de la pile LAMP (Linux, Apache, MySQL, PHP), offrant une interface graphique accessible via un navigateur web, ce qui en fait un choix populaire pour les développeurs et les administrateurs qui gèrent des bases de données dans un environnement Linux.

Dans ce tutoriel, nous vous montrerons comment installer phpMyAdmin avec Nginx sur Ubuntu 24.04 et inclure quelques conseils supplémentaires pour une configuration optimale.

Conditions préalables

  • Un serveur exécutant Ubuntu 24.04.
  • Un nom de domaine valide est pointé vers votre serveur.
  • Accès SSH avec un utilisateur non root ayant des privilèges sudo.

Installer Nginx, MariaDB et PHP

Avant de commencer, assurez-vous que votre liste de paquets est à jour :

sudo apt update && sudo apt upgrade -y

Ensuite, installez Nginx, MariaDB, PHP et les extensions PHP essentielles :

sudo apt install nginx mariadb-server php php-cli php-mysql php-mbstring php-zip php-gd php-json php-curl php-fpm -y

Vérifiez que chaque service fonctionne :

systemctl status nginx
systemctl status mariadb

Conseil : Installez unattended-upgrades pour garantir que les mises à jour de sécurité sont appliquées automatiquement :

sudo apt install unattended-upgrades -y

Installer phpMyAdmin

Le paquet phpMyAdmin est disponible dans le dépôt par défaut d'Ubuntu 24.04. Installez-le avec :

sudo apt install phpmyadmin -y

Assurez-vous que « Pas de serveur web » est sélectionné, sauf si vous utilisez explicitement Apache sur le même serveur.

Configurer phpMyAdmin manuellement pour Nginx

Créer un lien symbolique dans le répertoire web Nginx :

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Sécuriser MariaDB

Exécutez le script de sécurité pour améliorer les paramètres par défaut de MariaDB :

sudo mysql_secure_installation

Suivez les instructions à l'écran :

  • Définissez un mot de passe root.
  • Supprimer les utilisateurs anonymes.
  • Interdire la connexion root à distance.
  • Supprimez la base de données de test.

Créez un utilisateur de base de données dédié pour phpMyAdmin :

sudo mysql -u root -p

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Configurer Nginx pour phpMyAdmin

Créez un fichier de configuration Nginx pour phpMyAdmin :

sudo nano /etc/nginx/conf.d/phpmyadmin.conf

Ajoutez la configuration suivante :

server {
    listen 80;
    server_name phpmyadmin.example.com;
    root /usr/share/phpmyadmin;

    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Vérifiez la configuration pour des erreurs de syntaxe :

sudo nginx -t

Recharger Nginx pour appliquer les modifications :

sudo systemctl reload nginx

Sécurisez phpMyAdmin avec le SSL Let's Encrypt

Assurez-vous que Certbot est installé pour gérer les certificats SSL :

sudo apt install certbot python3-certbot-nginx -y

Utilisez Certbot pour obtenir et installer un certificat :

sudo certbot --nginx -d phpmyadmin.example.com

Suivez les étapes pour configurer SSL, y compris la sélection de l'option pour rediriger tout le trafic HTTP vers HTTPS.

Renouvellement automatique de certificat

Configurez un cron job pour renouveler automatiquement les certificats SSL :

echo "0 3 * * * /usr/bin/certbot renew --quiet" | sudo tee /etc/cron.d/certbot-renew

Dernières étapes

Modifier les autorisations de propriété :

sudo chown -R www-data:www-data /usr/share/phpmyadmin
sudo chmod -R 755 /usr/share/phpmyadmin

Accéder à phpMyAdmin

Ouvrez votre navigateur web et accédez à https://phpmyadmin.example.com. Connectez-vous avec vos informations d'identification d'administrateur. Vous devriez voir le tableau de bord phpMyAdmin.

Conclusion

Félicitations ! Vous avez installé et sécurisé phpMyAdmin avec Nginx sur Ubuntu 24.04. N'oubliez pas de mettre à jour régulièrement les paquets de votre serveur et de sauvegarder vos bases de données.

Astuce avancée : Pour une sécurité renforcée, envisagez de mettre en place une authentification à deux facteurs (2FA) pour les opérations sensibles dans phpMyAdmin.