GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer phpMyAdmin avec Nginx sur Debian 11 Bullseye

L'un des outils les plus populaires pour la gestion des bases de données s'appelle phpMyAdmin . Il s'agit d'une interface Web gratuite et facile à utiliser qui vous permet de gérer votre base de données MySQL ou MariaDB de n'importe où avec un simple navigateur ! La meilleure chose à propos de ce logiciel ? Vous n'avez pas besoin de connaissances particulières sur le fonctionnement des serveurs, car il fait tout le gros du travail dans les coulisses, afin que les utilisateurs puissent y accéder facilement sans se perdre dans le terminal de ligne de commande.

La plupart du temps, les développeurs préfèrent utiliser phpMyAdmin pour interagir avec un serveur de base de données en raison de sa facilité d'utilisation et de son éditeur SQL avancé, ce qui facilite la création et le test de requêtes SQL complexes. D'autre part, les administrateurs de serveurs Web installent phpMyAdmin en plus de leur système CMS tel que WordPress pour résoudre des problèmes ou donner accès à quelqu'un d'autre (un développeur d'un plugin, par exemple) pour enquêter sur un problème.

Dans le didacticiel suivant, vous apprendrez à installer rapidement la pile LEMP à l'aide de Nginx, MariaDB et PHP (PHP-FPM) à l'aide des référentiels standard Debian 11 Bullseye ou d'autres référentiels mis à niveau, puis téléchargez et configurez phpMyAdmin manuellement en créant un Bloc de serveur Nginx et un certificat Let's Encrypt TLS gratuit.

Mettre à jour Debian

Avant de poursuivre le didacticiel, il est bon de s'assurer que votre système est à jour avec tous les packages existants pour éviter tout conflit lors de l'installation.

sudo apt update && sudo apt upgrade -y

Installer les dépendances

Utilisez la commande suivante pour installer ou vérifier si les packages sont installés.

sudo apt install software-properties-common curl apt-transport-https -y

Installer Nginx - Pile LEMP

Après avoir installé Nginx PPA stable ou principal, utilisez la commande suivante pour installer Nginx :

sudo apt install nginx-core nginx-common nginx nginx-full -y

Une fois installé, le service doit être activé par défaut; cependant, il est bon de vérifier cela et de fonctionner correctement.

systemctl status nginx

Exemple de résultat :

Si le serveur n'a pas été activé, utilisez la commande suivante pour le faire et faites démarrer Nginx au redémarrage.

sudo systemctl enable nginx --now

Installation alternative de Nginx

Une autre méthode consiste à installer la dernière version principale ou stable de Nginx à partir du référentiel Ondřej Surý pour disposer du logiciel le plus à jour. De nombreux utilisateurs d'Ubuntu connaissent son PPA, et vous pouvez faire de même dans Debian.

Option 1 – Importer le référentiel principal (recommandé par Nginx)

curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x

Option 2 – Importer un référentiel stable

curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x

Mettez à jour votre référentiel pour refléter la nouvelle modification :

sudo apt update

Maintenant que vous avez installé le dépôt Nginx et mis à jour la liste, installez Nginx avec ce qui suit.

sudo apt install nginx-core nginx-common nginx nginx-full -y

Notez que vous pouvez être invité à conserver ou à remplacer votre /etc/ nginx/nginx.conf fichier de configuration lors de l'installation. Il est recommandé de conserver votre fichier de configuration actuel en appuyant sur (n) .

L'installation de Nginx avec le référentiel personnalisé est fournie avec des modules supplémentaires compilés, l'un des modules les plus triés et recommandés à activer est le module Brotli.

Pour installer brotli , ouvrez votre nginx.conf fichier de configuration :

nano /etc/nginx/nginx.conf

Ajoutez maintenant les lignes supplémentaires avant dans le HTTP{} rubrique.

Vous trouverez ci-dessous un exemple à modifier dans votre fichier de configuration.

brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
   application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
   application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
   font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
   image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

Le brotli_comp_level peut être défini entre 1 (le plus bas) et 11 (le plus élevé) . En règle générale, la plupart des serveurs se trouvent au milieu, mais si votre serveur est un monstre, réglez-le sur 11 et surveillez les niveaux d'utilisation du processeur.

Ensuite, testez pour vous assurer que les modifications fonctionnent correctement avant de les mettre en ligne :

sudo nginx -t

Si les modifications fonctionnent correctement, vous devriez voir ce qui suit :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Appliquez maintenant les modifications en redémarrant votre serveur :

sudo systemctl restart nginx

Ensuite, activez Nginx au démarrage du système :

sudo systemctl enable nginx --now

Installer MariaDB - Pile LEMP

Dans la deuxième partie de l'installation, vous devrez installer la partie base de données. La pile LEMP s'associe généralement à MariaDB sur MySQL pour de nombreuses raisons, principalement en raison des performances.

Dans votre terminal, exécutez la commande suivante.

sudo apt install mariadb-server mariadb-client -y

Une fois installé, vérifiez comme vous l'avez fait avec le service Nginx qu'il est activé et fonctionne sans erreur.

systemctl status mariadb

Si le serveur n'a pas été activé, utilisez la commande suivante pour le faire et faire démarrer MariaDB au redémarrage.

sudo systemctl enable mariadb --now

Installation alternative de MariaDB (dépôt MariaDB.org)

Pour ceux qui souhaitent utiliser les dernières versions 10.5 LTS, 10.6 LTS ou les nouvelles versions d'un an telles que 10.7 ou 10.8, etc., jusqu'à la prochaine version LTS, importez le référentiel officiel correspondant à la version souhaitée.

REMARQUE SI VOUS INSTALLEZ LA DERNIÈRE VERSION BLEEDING EDGE MARIADB COMME 10.7/10.8 AU MOMENT DE CE TUTORIEL, VOUS DEVEZ VOUS ASSURER D'AVOIR SOIT LA VERSION RC (BÊTA) OU LA DERNIÈRE VERSION phpMyAdmin EN TOUT TEMPS.

Option 1 - Importer MariaDB 10.5

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.5

Option 2 – Importer MariaDB 10.6

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.6

Option 3 - Importer MariaDB 10.7

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.7

Option 4 - Importer MariaDB 10.8

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.8

Exemple si importé avec succès (Exemple avec MariaDB 10.7) :

La meilleure recommandation est d'importer MariaDB 10.6 LTS avec MariaDB.org pour les dernières fonctionnalités et la meilleure compatibilité/stabilité.

Pour les utilisateurs qui ont déjà installé MariaDB, vous remarquerez que des mises à jour seront désormais disponibles. Sinon, exécutez la commande d'installation standard.

sudo apt install mariadb-server mariadb-client -y

Ne mettez pas à niveau ; exécutez la commande d'installation pour vous assurer que toutes les dépendances sont installées.

Pour les utilisateurs qui ont mis à niveau depuis une version différente de MariaDB, par exemple, 10.5 vers 10.7, assurez-vous de mettre à niveau votre base de données à l'aide de la commande suivante.

sudo mariadb-upgrade

Avec le temps, des versions plus récentes seront sans aucun doute disponibles, vérifier ici et utilisez la même commande que ci-dessus et modifiez mariadb-server-version={version} à ce que vous voudriez, par exemple, 10.9, 10.10, etc.

Enfin, assurez-vous que MariaDB fonctionne correctement en vérifiant son statut comme vous l'avez fait avec Nginx.

sudo systemctl status mariadb

Exemple de sortie (avec MariaDB 10.7) :

Exécuter le script de sécurité MariaDB

Lors de l'installation de MariaDB les nouveaux paramètres par défaut sont considérés comme faibles par la plupart des normes et suscitent des inquiétudes pour permettre potentiellement une intrusion ou exploiter des pirates. Une solution consiste à exécuter le script de sécurité d'installation avec MariaDB mise en place.

Tout d'abord, utilisez la commande suivante pour lancer le (mysql_secure_installation) :

sudo mysql_secure_installation

Ensuite, suivez ci-dessous :

  • Définition du mot de passe pour root comptes.
  • Suppression des comptes racine accessibles depuis l'extérieur de l'hôte local.
  • Suppression des comptes d'utilisateurs anonymes
  • Suppression de la base de données de test, accessible par défaut aux utilisateurs anonymes.

Remarque, vous utilisez (Y) pour tout supprimer.

Exemple :

[joshua@debian-11 ~]$ sudo mariadb-secure-installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Installer PHP - Pile LEMP

Enfin, installez le service PHP pour la pile LEMP, qui servira d'intermédiaire entre Nginx et MariaDB. PHP l'archive avec le service PHP-FPM et quelques modules supplémentaires requis par phpMyAdmin.

Les utilisateurs de Debian peuvent installer la version PHP standard. Cependant, pour PHP, je recommanderais fortement une installation similaire au référentiel Nginx Ondrey Sury, qui est le mainteneur de PHP pour Debian, de cette façon, vous obtiendrez la dernière version avec non seulement des mises à jour de sécurité mais des améliorations de performances.

La première étape consiste à importer et installer la clé et le référentiel GPG, ce qui peut être fait à l'aide d'un script automatisé lancé par la commande curl. Dans votre terminal, utilisez la commande suivante.

Importer le référentiel PHP et la clé GPG

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Ensuite, actualisez votre liste de référentiels APT pour refléter les modifications.

sudo apt update

Après avoir exécuté la commande de mise à jour, vous remarquerez peut-être que certains packages nécessitent une mise à jour, assurez-vous de le faire avant de continuer.

sudo apt upgrade

Installer PHP (PHP-FPM)

L'étape suivante consiste à installer PHP et PHP-FPM et les modules requis. Actuellement, je suggère d'installer PHP 8.0 ou 8.1 car 7.4 est considéré comme très ancien. Cependant, trois options seront présentées.

En cas de doute, pour l'instant, choisissez 8.0 comme c'est ma recommandation; cependant, J'utilise personnellement 8.1 avec mon phpMyAdmin sans problème.

Option 1 - Installer PHP 7.4

sudo apt install php7.4-fpm php7.4-mbstring php7.4-bcmath php7.4-xml php7.4-mysql php7.4-common php7.4-gd php7.4-cli php7.4-curl php7.4-zip php7.4-gd -y

Option 2 - Installer PHP 8.0 (recommandé)

sudo apt install php8.0-fpm php8.0-mbstring php8.0-bcmath php8.0-xml php8.0-mysql php8.0-common php8.0-gd php8.0-cli php8.0-curl php8.0-zip php8.0-gd -y

Option 3 - Installer PHP 8.1 (recommandé)

sudo apt install php8.1-fpm php8.1-mbstring php8.1-bcmath php8.1-xml php8.1-mysql php8.1-common php8.1-gd php8.1-cli php8.1-curl php8.1-zip php8.1-gd -y

Sachez simplement qu'en cas de doute, vous pouvez installer les trois versions de PHP côte à côte, et uniquement le bloc de serveur Nginx, que je vous montrerai plus tard. Assurez-vous simplement de désactiver tous les services php-fpm non nécessaires à des fins de performances et de sécurité.

Une fois installé, vérifiez comme vous l'avez fait avec le service MariaDB qu'il est activé et fonctionne sans erreur.

systemctl status php{version}-fpm

Exemple de sortie (Avec PHP 8.1-FPM :

Si le serveur n'a pas été activé, utilisez la commande suivante pour le faire et faire démarrer MariaDB au redémarrage.

sudo systemctl enable php{version}-fpm --now

Installer phpMyAdmin

Par défaut, le référentiel Debian 11 est livré avec phpMyAdmin et les dépendances requises. Cependant, comme souvent avec Debian, il y a des versions LTS, la version et la construction sont loin derrière ce qui est actuellement disponible à partir de la source, et vous ne pouvez pas installer les versions candidates/bêta en amont.

Donc, comme vous l'avez compris maintenant, le didacticiel installera la dernière version comme suit.

Créer un superutilisateur de nom d'utilisateur phpMyAdmin

Par défaut, vous pouvez vous connecter avec l'utilisateur root sur phpMyAdmin. Cependant, il est toujours préférable de créer un superutilisateur; comme vous le feriez pour Linux, sudo les utilisateurs sont préférés à l'utilisation de racine , donc c'est le même genre de logique.

Tout d'abord, connectez-vous à l'interface du terminal.

sudo mysql -u root

Ensuite, créez une base de données dans le terminal MariaDB :

CREATE USER PMAUSER IDENTIFIED BY 'password here change';

Vous devez maintenant créer un utilisateur et accorder les autorisations comme suit :

GRANT ALL PRIVILEGES ON *.* TO 'PMAUSER'@'localhost' IDENTIFIED BY 'password here change' WITH GRANT OPTION;

N'oubliez pas de changer la ‘password here change,’ ne copiez pas aveuglément, s'il vous plaît.

Pour finir, videz les privilèges pour que les modifications prennent effet.

FLUSH PRIVILEGES;

Quittez maintenant avec la commande suivante.

QUIT;

Télécharger la dernière version source de phpMyAdmin

Le téléchargement de la dernière version de phpMyAdmin est simple; visitez la page de téléchargement de phpMyAdmin pour trouver le numéro de version le plus récent.

Ensuite, exécutez les codes suivants pour télécharger automatiquement les dernières versions de toutes les langues.

Au moment du tutoriel, 5.1.3 est la dernière version, cela devrait donc être dans la sortie téléchargée ; rappelez-vous qu'avec le temps, cette version changera ; cependant, la commande sera la même !

DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz

Exemple de résultat :

Si vous souhaitez télécharger la version anglaise , remplacez la ligne de fin par ce qui suit :

wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz

Ensuite, extrayez l'archive à l'aide de la commande suivante :

tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz

Configurer phpMyAdmin

L'étape suivante consiste à déplacer tous les fichiers extraits vers leur destination finale, dans la norme /var/www/ emplacement du répertoire à l'aide de la commande mv .

sudo mv phpMyAdmin-*/ /var/www/phpmyadmin

Par défaut, phpMyAdmin n'est pas fourni avec un TMP répertoire lors de l'installation à partir de la source, et vous devez le créer manuellement :

sudo mkdir -p /var/www/phpmyadmin/tmp

Dans le répertoire phpMyAdmin, un fichier d'exemple de configuration par défaut est inclus. Vous devrez renommer ce fichier pour que phpMyAdmin reconnaisse la configuration.

Cependant, pour la sauvegarde, vous utiliserez le CP commande pour créer une copie et conserver la valeur par défaut comme sauvegarde si des erreurs sont commises dans l'emplacement /var/www/phpmyadmin/ répertoire.

Copiez config.sample.inc.php à config.inc.php avec la commande suivante :

sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php

Ensuite, ouvrez ce fichier en utilisant votre éditeur de texte préféré. Pour le tutoriel, l'éditeur de texte nano est utilisé.

sudo nano /var/www/phpmyadmin/config.inc.php

phpMyAdmin utilise un chiffrement Blowfish . Faites défiler jusqu'à la ligne qui commence par $cfg['blowfish_secret'] .

Les lignes ressembleront par exemple :

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Vous devrez attribuer une chaîne de 32 caractères aléatoires entre les guillemets simples. Le moyen le plus simple d'y parvenir est d'utiliser le programme pwgen .

Pour installer le paquet pwgen, utilisez la commande de terminal suivante :

sudo apt install pwgen -y

Une fois installé, exécutez la commande suivante :

pwgen -s 32 1

Vous obtiendrez alors vos 32 caractères aléatoires pour le secret du poisson-globe, exemple de sortie :

Exemple d'ajout du chiffrement au fichier de configuration (Ne pas copier) :

$cfg['blowfish_secret'] = 'K8ZEWW6NZ6OhLFbs5m19YqDB932EyGRq'

Exemple dans le fichier de configuration :

Le reste des paramètres par défaut devrait fonctionner pour la plupart des utilisateurs.

Si votre da est situé sur un autre serveur situé dans votre réseau, recherchez et modifiez la ligne $cfg['Servers'][$i]['host'] = à celui de l'adresse IP privée. Exemple ci-dessous :

$cfg['Servers'][$i]['host'] = '192.168.55.101';

Remplacez 192.168.55.101 par l'adresse IP du serveur hôte de votre serveur hôte.

Définir les autorisations de fichier phpMyAdmin

Ensuite, vous devez définir les autorisations du propriétaire du répertoire sur www-user pour la compatibilité et la sécurité.

Définir l'autorisation chown (important) :

sudo chown -R www-data:www-data /var/www/phpmyadmin/

Définir l'autorisation chmod (important) :

sudo find /var/www/phpmyadmin/ -type d -exec chmod 755 {} \;
sudo find /var/www/phpmyadmin/ -type f -exec chmod 644 {} \;

Créer un bloc de serveur Nginx pour phpMyAdmin

Pour accéder à l'interface web de phpMyAdmin, vous devez créer un bloc serveur Nginx. Il est fortement recommandé de garder cela séparé, et sur un sous-domaine, vous pouvez lui donner le nom que vous voulez pour aider à la sécurité et aux attaques par force brute.

Tout d'abord, créez et ouvrez votre bloc serveur à l'aide de l'éditeur de texte nano comme suit :

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

Ensuite, vous pouvez coller le texte ci-dessous dans le fichier. Notez que vous devez remplacer l'URL du domaine par la vôtre :

server {
  listen 80;
  listen [::]:80;
  server_name pma.example.com;
  root /var/www/phpmyadmin/;
  index index.php index.html index.htm index.nginx-debian.html;

  access_log /var/log/nginx/phpmyadmin_access.log;
  error_log /var/log/nginx/phpmyadmin_error.log;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ ^/(doc|sql|setup)/ {
    deny all;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

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

Quelques notes sur l'exemple ci-dessus.

  • /run/php/php8.1-fpm.sock; – Cela doit être remplacé par 8.0, 7.4, etc. si vous utilisez une version différente de PHP-FPM.
  • racine /var/www/phpmyadmin/ ; – Il s'agit du chemin défini dans le didacticiel, modifiez-le si vous définissez phpMyAdmin ailleurs.

Si vous êtes le seul à y accéder à partir d'une adresse IP statique, vous pouvez ajouter le code suivant au-dessus de la première entrée d'emplacement. Un exemple de ceci est ci-dessous :

  allow <your ip address>;
  deny all; 

  location / {
    try_files $uri $uri/ /index.php;
  }
...........................................

Cela va naturellement bloquer toute personne visitant la page avec une erreur 403 sauf autorisation de votre adresse IP. Ceci, par nature, peut arrêter toutes les attaques brutes dans leur élan, mais peut-être pas viable pour certaines configurations.

Enregistrez maintenant en utilisant (CTRL+O) et quittez avec (CTRL+X) .

Ensuite, créez un lien symbolique à partir de sites-available où le fichier de configuration est contenu pour lier alors sites-enabled .

sudo ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/

Avant de redémarrer le service Nginx, effectuez toujours un test de fonctionnement à vide, en particulier dans les environnements en direct, pour vous assurer que le blocage du serveur ou les modifications que vous avez apportées à vos fichiers de configuration ne provoquent pas d'erreur de Nginx.

sudo nginx -t

Si vous n'avez aucune erreur, vous devriez obtenir le résultat suivant :

Redémarrez maintenant votre service Nginx pour que les modifications prennent effet :

sudo systemctl restart nginx

Accéder à l'interface utilisateur Web de phpMyAdmin

Pour accéder à l'interface Web, ouvrez votre navigateur Internet préféré et saisissez pma .exemple.com avec (exemple) votre domaine. Vous devriez arriver à l'écran de connexion de phpMyAdmin comme suit :

Utilisez le PMAUSER superutilisateur que vous avez créé, ou si vous l'avez ignoré, utilisez le compte racine .

Exemple (Cliquez sur l'image pour agrandir ):

Saisissez vos informations de connexion, puis accédez à votre tableau de bord phpMyAdmin.

Exemple (Cliquez sur l'image pour agrandir ):

Et c'est tout, et vous avez installé avec succès la dernière version de phpMyAdmin en utilisant LEMP. Alternativement, vous pouvez fortement personnaliser cette installation. Par exemple, vous pouvez récupérer la dernière version bêta ou installer différentes variantes de LEMP avec des versions plus récentes ou plus anciennes de Nginx, MariaDB et PHP-FPM.

D'autres choses à noter pour les nouveaux utilisateurs de phpMyadmin sont la page de statistiques.

Exemple (Cliquez sur l'image pour agrandir ):

Exemple de conseiller (Cliquez sur l'image pour l'agrandir ):

Remarque, le conseiller recommande 24 heures, je pense que cela devrait être de 72 heures au minimum et ne prenez pas la page du conseiller au mot et implémentez les modifications et partez, le réglage fin de tout fichier de configuration MySQL ou MariaDB prend du temps et beaucoup d'édition /testing pour obtenir l'optimisation parfaite.

Sécuriser phpMyAdmin avec le certificat SSL gratuit Let's Encrypt

Idéalement, vous voudriez exécuter votre Nginx sur HTTPS en utilisant un certificat SSL . La meilleure façon de le faire est d'utiliser Let's Encrypt, une autorité de certification gratuite, automatisée et ouverte gérée par le Groupe de recherche sur la sécurité Internet (ISRG) à but non lucratif .

Tout d'abord, installez le package certbot comme suit :

sudo apt install python3-certbot-nginx -y

Une fois installé, exécutez la commande suivante pour lancer la création de votre certificat :

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com

Lors de l'installation du certificat, vous recevrez un avis pour recevoir des e-mails de EFF (Fondation de la frontière électronique) . Choisissez soit Y ou N alors votre certificat TLS sera automatiquement installé et configuré pour vous.

Cette configuration idéale comprend forcer les redirections HTTPS 301, un en-tête Strict-Transport-Security et l'agrafage OCSP. Assurez-vous simplement d'adapter l'adresse e-mail et le nom de domaine à vos besoins.

Maintenant, votre URL sera HTTPS://www.example.com au lieu de HTTP://www.example.com .

Si vous utilisez l'ancienne URL HTTP , il redirigera automatiquement vers HTTPS .

En option, vous pouvez définir une tâche cron pour renouveler automatiquement les certificats. Certbot propose un script qui le fait automatiquement, et vous pouvez d'abord tester pour vous assurer que tout fonctionne en effectuant une simulation.

sudo certbot renew --dry-run

Si tout fonctionne, ouvrez votre fenêtre crontab à l'aide de la commande de terminal suivante.

sudo crontab -e

Next, please specify the time when it should auto-renew. This should be checked daily at a minimum, and if the certificate needs to be renewed, the script will not update the certificate. If you need help finding a good time to set, use the crontab.guru free tool.

00 00 */1 * * /usr/sbin/certbot-auto renew

That’s it, and you have installed SSL on your phpMyAdmin area. A great idea will be to test using a free SSL test such as DigiCert or SSL Labs.


Debian
  1. Comment installer Ghost sur Debian avec Nginx

  2. Comment installer DokuWiki sur Debian Wheezy avec Nginx

  3. Comment installer FuelPHP avec Nginx sur un VPS Debian 8

  4. Comment installer WordPress avec Nginx sur Debian 10

  5. Comment installer WonderCMS avec Nginx sur Debian 11

Comment installer phpMyAdmin sur Debian 8

Comment installer phpMyAdmin sur Debian 9

Comment installer phpMyAdmin sur Debian 11

Comment installer phpMyAdmin avec Nginx sur Debian 11

Comment installer Nginx avec PHP-FPM sur Debian 11

Comment installer Debian 11 Bullseye {Guide avec captures d'écran}