GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie phpMyAdmin mit Nginx unter Debian 11 Bullseye

Eines der beliebtesten Tools zum Verwalten von Datenbanken heißt phpMyAdmin . Es ist eine benutzerfreundliche, kostenlose Weboberfläche, mit der Sie Ihre MySQL- oder MariaDB-Datenbank von überall aus mit nur einem Browser verwalten können! Das Beste an dieser Software? Sie benötigen kein spezielles Wissen über die Funktionsweise von Servern, da dies alles im Hintergrund erledigt, sodass Benutzer einfach darauf zugreifen können, ohne sich im Befehlszeilenterminal zu verirren.

Meistens ziehen es Entwickler vor, phpMyAdmin zu verwenden, um mit einem Datenbankserver zu interagieren, da es einfach zu bedienen ist und einen erweiterten SQL-Editor bietet, der das Erstellen und Testen komplexer SQL-Abfragen erleichtert. Auf der anderen Seite installieren Administratoren von Webservern phpMyAdmin neben ihrem CMS-System wie WordPress, um Probleme zu beheben oder jemand anderem (z. B. einem Entwickler eines Plugins) Zugriff zu gewähren, um ein Problem zu untersuchen.

Im folgenden Tutorial erfahren Sie, wie Sie den LEMP-Stack schnell mit Nginx, MariaDB und PHP (PHP-FPM) unter Verwendung der standardmäßigen Debian 11 Bullseye-Repositories oder alternativer aktualisierter Repositories installieren und dann phpMyAdmin manuell herunterladen und konfigurieren, indem Sie eine Nginx-Serverblock und ein kostenloses TLS-Zertifikat von Let's Encrypt.

Debian aktualisieren

Bevor Sie mit dem Tutorial fortfahren, sollten Sie sicherstellen, dass Ihr System mit allen vorhandenen Paketen auf dem neuesten Stand ist, um Konflikte während der Installation zu vermeiden.

sudo apt update && sudo apt upgrade -y

Installationsabhängigkeiten

Verwenden Sie den folgenden Befehl, um die Pakete zu installieren oder zu überprüfen, ob sie installiert sind.

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

Installieren Sie Nginx – LEMP Stack

Verwenden Sie nach der Installation von entweder stabilem oder Mainline-Nginx-PPA den folgenden Befehl, um Nginx zu installieren:

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

Nach der Installation sollte der Dienst standardmäßig aktiviert sein; Es ist jedoch gut, dies zu überprüfen und korrekt zu arbeiten.

systemctl status nginx

Beispielausgabe:

Wenn der Server nicht aktiviert wurde, verwenden Sie dazu den folgenden Befehl und lassen Sie Nginx beim Neustart starten.

sudo systemctl enable nginx --now

Alternative Nginx-Installation

Eine andere Methode besteht darin, die neueste Nginx Mainline oder Stable aus dem Ondřej Surý-Repository zu installieren, um über die aktuellste Software zu verfügen. Viele Ubuntu-Benutzer kennen sein PPA, und Sie können dasselbe in Debian tun.

Option 1 – Mainline-Repository importieren (von Nginx empfohlen)

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

Option 2 – Stabiles Repository importieren

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

Aktualisieren Sie Ihr Repository, um die neue Änderung widerzuspiegeln:

sudo apt update

Nachdem Sie nun das Nginx-Repository installiert haben und die Liste aktualisiert haben, installieren Sie Nginx mit dem Folgenden.

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

Beachten Sie, dass Sie möglicherweise aufgefordert werden, Ihre vorhandene /etc/ beizubehalten oder zu ersetzen. nginx/nginx.conf Konfigurationsdatei während der Installation. Es wird empfohlen, Ihre aktuelle Konfigurationsdatei beizubehalten, indem Sie (n) .

Bei der Installation von Nginx mit dem benutzerdefinierten Repository werden zusätzliche Module kompiliert. Eines der am häufigsten nachgefragten und empfohlenen Module zur Aktivierung ist das Brotli-Modul.

So installieren Sie brotli , öffnen Sie Ihre nginx.conf Konfigurationsdatei:

nano /etc/nginx/nginx.conf

Fügen Sie nun die zusätzlichen Zeilen zuvor im HTTP{} hinzu Abschnitt.

Nachfolgend finden Sie ein Beispiel, das Sie in Ihrer Konfigurationsdatei anpassen können.

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;

Das brotli_comp_level kann eingestellt werden zwischen 1 (niedrigste) und 11 (höchste) . Normalerweise sitzen die meisten Server in der Mitte, aber wenn Ihr Server ein Monster ist, stellen Sie ihn auf 11 und überwachen Sie die CPU-Auslastung.

Testen Sie als Nächstes, ob die Änderungen richtig funktionieren, bevor Sie sie live schalten:

sudo nginx -t

Wenn die Änderungen korrekt funktionieren, sollten Sie Folgendes sehen:

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

Machen Sie die Änderungen jetzt live, indem Sie Ihren Server neu starten:

sudo systemctl restart nginx

Als nächstes aktivieren Sie Nginx beim Systemstart:

sudo systemctl enable nginx --now

Installieren Sie MariaDB – LEMP Stack

Im zweiten Teil der Installation müssen Sie den Datenbankteil installieren. Der LEMP-Stack verbindet sich aus vielen Gründen typischerweise mit MariaDB über MySQL, hauptsächlich aufgrund der Leistung.

Führen Sie in Ihrem Terminal den folgenden Befehl aus.

sudo apt install mariadb-server mariadb-client -y

Überprüfen Sie nach der Installation genau wie beim Nginx-Dienst, dass er aktiviert ist und fehlerfrei funktioniert.

systemctl status mariadb

Wenn der Server nicht aktiviert wurde, verwenden Sie dazu den folgenden Befehl und lassen Sie MariaDB beim Neustart starten.

sudo systemctl enable mariadb --now

Alternative MariaDB-Installation (MariaDB.org-Repository)

Für diejenigen, die die neuesten 10.5 LTS, 10.6 LTS oder die neueren 1-Jahres-Versionen wie 10.7 oder 10.8 usw. bis zur nächsten LTS-Version verwenden möchten, importieren Sie das offizielle Repository entsprechend Ihrer gewünschten Version.

HINWEIS:WENN SIE ZUM ZEITPUNKT DIESES TUTORIALS DAS NEUESTE BLEEDING EDGE MARIADB INSTALLIEREN, Z. B. 10.7/10.8, MÜSSEN SIE SICHERSTELLEN, DASS SIE IMMER ENTWEDER DIE RC-VERSION (BETA) ODER DAS NEUESTE phpMyAdmin VERFÜGEN.

Option 1 – MariaDB 10.5 importieren

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

Option 2 – MariaDB 10.6 importieren

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

Option 3 – MariaDB 10.7 importieren

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

Option 4 – MariaDB 10.8 importieren

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

Beispiel für erfolgreichen Import (Beispiel mit MariaDB 10.7):

Die beste Empfehlung ist, MariaDB 10.6 LTS mit MariaDB.org zu importieren, um die neuesten Funktionen und die beste Kompatibilität/Stabilität zu erhalten.

Für Benutzer, die MariaDB bereits installiert haben, werden Sie feststellen, dass jetzt Upgrades verfügbar sind. Wenn nicht, führen Sie den Standardinstallationsbefehl aus.

sudo apt install mariadb-server mariadb-client -y

Nicht upgraden; Führen Sie den Installationsbefehl aus, um sicherzustellen, dass alle Abhängigkeiten installiert sind.

Benutzer, die von einer anderen MariaDB-Version aktualisiert haben, z. B. 10.5 auf 10.7, stellen sicher, dass Sie Ihre Datenbank mit dem folgenden Befehl aktualisieren.

sudo mariadb-upgrade

Mit der Zeit werden zweifellos neuere Release-Versionen verfügbar sein, hier prüfen und verwenden Sie denselben Befehl wie oben und ändern Sie mariadb-server-version={Version} zu dem, was Sie möchten, zum Beispiel 10.9, 10.10 usw.

Stellen Sie abschließend sicher, dass MariaDB ordnungsgemäß funktioniert, indem Sie den Status genau wie bei Nginx überprüfen.

sudo systemctl status mariadb

Beispielausgabe (mit MariaDB 10.7):

MariaDB-Sicherheitsskript ausführen

Bei der Installation von MariaDB Neue Standardeinstellungen werden von den meisten Standards als schwach angesehen und geben Anlass zur Sorge, dass sie möglicherweise ein Eindringen ermöglichen oder Hacker ausnutzen könnten. Eine Lösung besteht darin, das Installationssicherheitsskript mit der MariaDB auszuführen Installation.

Verwenden Sie zunächst den folgenden Befehl, um (mysql_secure_installation) zu starten :

sudo mysql_secure_installation

Als nächstes folgen Sie unten:

  • Festlegen des Passworts für root Konten.
  • Entfernen von Root-Konten, auf die von außerhalb des lokalen Hosts zugegriffen werden kann.
  • Anonyme Benutzerkonten entfernen.
  • Entfernen der Testdatenbank, auf die standardmäßig anonyme Benutzer zugreifen können.

Beachten Sie, dass Sie (Y) verwenden um alles zu entfernen.

Beispiel:

[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!

Installieren Sie PHP – LEMP Stack

Installieren Sie zuletzt den PHP-Dienst für den LEMP-Stack, der als Mittelsmann zwischen Nginx und MariaDB fungiert. PHP archiviert dies mit dem PHP-FPM-Dienst und einigen zusätzlichen Modulen, die von phpMyAdmin benötigt werden.

Debian-Benutzer können die Standard-PHP-Version installieren. Für PHP würde ich jedoch dringend empfehlen, eine ähnliche Installation wie das Nginx Ondrey Sury-Repository zu installieren, das der Betreuer von PHP für Debian ist. Auf diese Weise erhalten Sie die neueste Version nicht nur mit Sicherheitsupdates, sondern auch mit Leistungsverbesserungen.

Der erste Schritt besteht darin, den GPG-Schlüssel und das Repository Dies kann mit einem automatisierten Skript erfolgen, das durch den Curl-Befehl initiiert wird. Verwenden Sie in Ihrem Terminal den folgenden Befehl.

PHP-Repository und GPG-Schlüssel importieren

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

Aktualisieren Sie als Nächstes Ihre APT-Repository-Liste, um die Änderungen widerzuspiegeln.

sudo apt update

Nachdem Sie den Update-Befehl ausgeführt haben, stellen Sie möglicherweise fest, dass einige Pakete aktualisiert werden müssen. Stellen Sie sicher, dass Sie dies tun, bevor Sie fortfahren.

sudo apt upgrade

Installieren Sie PHP (PHP-FPM)

Der nächste Schritt besteht darin, PHP und PHP-FPM und die erforderlichen Module zu installieren. Derzeit schlage ich vor, PHP 8.0 oder 8.1 zu installieren, da 7.4 als sehr alt gilt. Es werden jedoch drei Optionen angezeigt.

Wenn Sie sich nicht sicher sind, wählen Sie vorerst 8.0 wie meine Empfehlung ist; ich persönlich verwende 8.1 mit meinem phpMyAdmin ohne Probleme.

Option 1 – Installieren Sie 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 – Installieren Sie PHP 8.0 (empfohlen)

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 – Installieren Sie PHP 8.1 (empfohlen)

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

Seien Sie sich bewusst, wenn Sie sich nicht sicher sind, dass Sie alle drei PHP-Versionen nebeneinander installieren können, und nur den Nginx-Serverblock, den ich Ihnen später zeigen werde. Stellen Sie einfach sicher, dass Sie alle php-fpm-Dienste deaktivieren, die nicht für Leistungs- und Sicherheitszwecke benötigt werden.

Überprüfen Sie nach der Installation genau wie beim MariaDB-Dienst, dass er aktiviert ist und fehlerfrei funktioniert.

systemctl status php{version}-fpm

Beispielausgabe (mit PHP 8.1-FPM:

Wenn der Server nicht aktiviert wurde, verwenden Sie dazu den folgenden Befehl und lassen Sie MariaDB beim Neustart starten.

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

Installieren Sie phpMyAdmin

Standardmäßig enthält das Debian 11-Repository phpMyAdmin und die erforderlichen Abhängigkeiten. Wie so oft bei Debian sind LTS-Releases, die Version und der Build liegen jedoch weit hinter dem zurück, was derzeit aus der Quelle verfügbar ist, und Sie können die Upstream-Release-Kandidaten/Beta-Releases nicht installieren.

Wie Sie inzwischen festgestellt haben, installiert das Tutorial die neueste Version wie folgt.

Erstellen Sie einen phpMyAdmin-Benutzernamen-SuperUser

Standardmäßig können Sie sich mit dem Root-Benutzer bei phpMyAdmin anmelden. Es ist jedoch immer besser, einen Superuser zu erstellen; genauso wie Sie es für Linux tun würden, sudo Benutzer werden der Verwendung von root vorgezogen , also ist es die gleiche Art von Logik.

Melden Sie sich zuerst bei der Terminalschnittstelle an.

sudo mysql -u root

Erstellen Sie als Nächstes eine Datenbank im MariaDB-Terminal:

CREATE USER PMAUSER IDENTIFIED BY 'password here change';

Jetzt müssen Sie einen Benutzer erstellen und wie folgt Berechtigungen erteilen:

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

Denken Sie daran, zu ändern ‘Passwort hier ändern’ Bitte nicht blind kopieren.

Leeren Sie abschließend die Berechtigungen, damit die Änderungen wirksam werden.

FLUSH PRIVILEGES;

Beenden Sie nun mit dem folgenden Befehl.

QUIT;

Neueste Quellversion von phpMyAdmin herunterladen

Das Herunterladen der neuesten Version von phpMyAdmin ist unkompliziert; Besuchen Sie die Download-Seite von phpMyAdmin, um die neueste Versionsnummer zu finden.

Führen Sie als Nächstes die folgenden Codes aus, um automatisch die neuesten Versionen aller Sprachen herunterzuladen.

Zum Zeitpunkt des Tutorials ist 5.1.3 die neueste Version, dies sollte also in der heruntergeladenen Ausgabe enthalten sein; denken Sie daran, dass sich diese Version mit der Zeit ändern wird; der Befehl wird jedoch derselbe sein!

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

Beispielausgabe:

Wenn Sie die englische Version herunterladen möchten , ersetzen Sie die Endzeile durch Folgendes:

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

Als nächstes extrahieren Sie das Archiv mit dem folgenden Befehl:

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

phpMyAdmin konfigurieren

Der nächste Schritt besteht darin, alle extrahierten Dateien an ihr endgültiges Ziel zu verschieben, im Standard /var/www/ Verzeichnispfad mit dem mv-Befehl .

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

Standardmäßig enthält phpMyAdmin kein TMP Verzeichnis, wenn Sie von der Quelle installieren, und Sie müssen dieses manuell erstellen:

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

Im phpMyAdmin-Verzeichnis ist eine Standard-Konfigurationsbeispieldatei enthalten. Sie müssen diese Datei umbenennen, damit phpMyAdmin die Konfiguration erkennt.

Für die Sicherung verwenden Sie jedoch den CP Befehl, um eine Kopie zu erstellen und die Standardeinstellung als Backup beizubehalten, wenn an der Stelle Fehler gemacht werden /var/www/phpmyadmin/ Verzeichnis.

Kopieren Sie config.sample.inc.php zu config.inc.php mit folgendem Befehl:

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

Als nächstes öffnen Sie diese Datei mit Ihrem bevorzugten Texteditor. Für das Tutorial wird der nano Texteditor verwendet.

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

phpMyAdmin verwendet eine Blowfish-Chiffre . Scrollen Sie nach unten zu der Zeile, die mit $cfg['blowfish_secret'] beginnt. .

Die Zeilen sehen zum Beispiel so aus:

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

Sie müssen eine Zeichenfolge von 32 zufälligen Zeichen zwischen den einfachen Anführungszeichen zuweisen. Am einfachsten geht das mit dem Programm pwgen .

So installieren Sie das pwgen-Paket, Verwenden Sie den folgenden Terminalbefehl:

sudo apt install pwgen -y

Führen Sie nach der Installation den folgenden Befehl aus:

pwgen -s 32 1

Sie erhalten dann Ihre 32 zufälligen Zeichen für das Blowfish-Geheimnis, Beispielausgabe:

Beispiel für das Hinzufügen der Chiffre zur Konfigurationsdatei (Nicht kopieren):

$cfg['blowfish_secret'] = 'K8ZEWW6NZ6OhLFbs5m19YqDB932EyGRq'

Beispiel in der Konfigurationsdatei:

Die restlichen Standardeinstellungen sollten für die meisten Benutzer funktionieren.

Wenn sich Ihr da auf einem anderen Server in Ihrem Netzwerk befindet, suchen und ändern Sie die Zeile $cfg['Servers'][$i]['host'] = zu der der privaten IP-Adresse. Beispiel unten:

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

Ändern Sie 192.168.55.101 in die IP-Adresse des Hostservers Ihres externen Hostserver.

Stellen Sie die phpMyAdmin-Dateiberechtigungen ein

Als Nächstes müssen Sie die Berechtigungen des Verzeichnisbesitzers auf www-user für Kompatibilität und Sicherheit.

Chown-Berechtigung festlegen (wichtig):

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

Chmod-Berechtigung festlegen (wichtig):

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

Nginx-Serverblock für phpMyAdmin erstellen

Um auf die phpMyAdmin-Weboberfläche zuzugreifen, müssen Sie einen Nginx-Serverblock erstellen. Es wird dringend empfohlen, dies getrennt zu halten, und auf einer Subdomain können Sie es beliebig benennen, um bei Sicherheits- und Brute-Force-Angriffen zu helfen.

Erstellen und öffnen Sie zuerst Ihren Serverblock mit dem Nano-Texteditor wie folgt:

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

Als nächstes können Sie den folgenden Text in die Datei einfügen. Beachten Sie, dass Sie die Domain-URL durch Ihre eigene ersetzen müssen:

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;
  }
}

Einige Anmerkungen zum obigen Beispiel.

  • /run/php/php8.1-fpm.sock; – Dies muss auf 8.0, 7.4 usw. geändert werden, wenn eine andere PHP-FPM-Version verwendet wird.
  • root /var/www/phpmyadmin/; – Dies ist der im Tutorial festgelegte Pfad, ändern Sie diesen, wenn Sie phpMyAdmin an anderer Stelle festlegen.

Wenn Sie der einzige sind, der von einer statischen IP-Adresse darauf zugreift, können Sie den folgenden Code über dem ersten Standorteintrag hinzufügen. Ein Beispiel dafür ist unten:

  allow <your ip address>;
  deny all; 

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

Dies wird natürlich blockieren jeder, der die Seite mit einem 403-Fehler besucht sofern Ihre IP-Adresse dies nicht zulässt. Dies kann von Natur aus alle Brute-Angriffe aufhalten, ist aber für einige Setups möglicherweise nicht praktikabel.

Speichern Sie jetzt mit (CTRL+O) und beenden Sie mit (CTRL+X) .

Erstellen Sie als Nächstes einen Symlink von sites-available wo die Konfigurationsdatei enthalten ist, um dann sites-enabled .

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

Führen Sie vor dem Neustart des Nginx-Dienstes immer einen Trockenlauftest durch, insbesondere in Live-Umgebungen, um sicherzustellen, dass der Serverblock oder andere Änderungen, die Sie an Ihren Konfigurationsdateien vorgenommen haben, keinen Fehler von Nginx verursachen.

sudo nginx -t

Wenn Sie keine Fehler haben, sollten Sie die folgende Ausgabe erhalten:

Starten Sie jetzt Ihren Nginx-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart nginx

Zugriff auf die phpMyAdmin-Web-Benutzeroberfläche

Um auf das Webinterface zuzugreifen, öffnen Sie Ihren bevorzugten Internetbrowser und geben Sie pma ein .example.com mit (Beispiel) Ihrer Domain. Sie sollten wie folgt zum Anmeldebildschirm von phpMyAdmin kommen:

Verwenden Sie den PMAUSER Superuser, den Sie erstellt haben, oder falls Sie diesen übersprungen haben, verwenden Sie das Root-Konto .

Beispiel (Klicken Sie zum Erweitern auf das Bild ):

Geben Sie Ihre Anmeldedaten ein und gehen Sie dann weiter zu Ihrem phpMyAdmin-Dashboard.

Beispiel (Klicken Sie zum Erweitern auf das Bild ):

Und das war's, und Sie haben erfolgreich die neueste Version von phpMyAdmin mit LEMP installiert. Alternativ können Sie diese Installation stark anpassen. Sie können beispielsweise die neueste Beta herunterladen oder verschiedene LEMP-Varianten mit neueren oder älteren Versionen von Nginx, MariaDB und PHP-FPM installieren.

Einige andere erwähnenswerte Dinge für Benutzer, die neu bei phpMyadmin sind, ist die Statistikseite.

Beispiel (Klicken Sie zum Erweitern auf das Bild ):

Beispiel für Ratgeber (Klicken Sie zum Erweitern auf das Bild ):

Beachten Sie, dass der Berater 24 Stunden empfiehlt, ich glaube, dies sollte mindestens 72 Stunden sein, und nehmen Sie die Beraterseite nicht als Wort davon und implementieren Sie Änderungen und gehen Sie weg, die Feinabstimmung einer MySQL- oder MariaDB-Konfigurationsdatei erfordert Zeit und viel Bearbeitung /Testen, um die perfekte Optimierung zu erhalten.

Sichern Sie phpMyAdmin mit Let’s Encrypt SSL Free Certificate

Idealerweise möchten Sie Ihr Nginx auf HTTPS mit einem SSL-Zertifikat ausführen . Verwenden Sie dazu am besten Let’s Encrypt eine kostenlose, automatisierte und offene Zertifizierungsstelle, die von der gemeinnützigen Internet Security Research Group (ISRG) betrieben wird .

Installieren Sie zuerst das certbot-Paket wie folgt:

sudo apt install python3-certbot-nginx -y

Führen Sie nach der Installation den folgenden Befehl aus, um die Erstellung Ihres Zertifikats zu starten:

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

Während der Installation des Zertifikats erhalten Sie eine Benachrichtigung, E-Mails von EFF zu erhalten (Electronic Frontier Foundation) . Wählen Sie entweder Y oder N dann wird Ihr TLS-Zertifikat automatisch installiert und für Sie konfiguriert.

Dieses ideale Setup umfasst erzwungene HTTPS-301-Umleitungen, einen Strict-Transport-Security-Header und OCSP-Stapling. Passen Sie einfach E-Mail und Domainnamen an Ihre Anforderungen an.

Jetzt lautet Ihre URL HTTPS://www.example.com statt HTTP://www.example.com .

Wenn Sie die alte HTTP-URL verwenden , wird es automatisch zu HTTPS umgeleitet .

Optionally, you can set a cron job to renew the certificates automatically. Certbot offers a script that does this automatically, and you can first test to make sure everything is working by performing a dry run.

sudo certbot renew --dry-run

If everything is working, open your crontab window using the following terminal command.

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. So installieren Sie den Ghost unter Debian mit Nginx

  2. So installieren Sie DokuWiki auf Debian Wheezy mit Nginx

  3. So installieren Sie FuelPHP mit Nginx auf einem Debian 8 VPS

  4. So installieren Sie WordPress mit Nginx unter Debian 10

  5. So installieren Sie WonderCMS mit Nginx unter Debian 11

So installieren Sie phpMyAdmin unter Debian 8

So installieren Sie phpMyAdmin unter Debian 9

So installieren Sie phpMyAdmin unter Debian 11

So installieren Sie phpMyAdmin mit Nginx unter Debian 11

So installieren Sie Nginx mit PHP-FPM unter Debian 11

So installieren Sie Debian 11 Bullseye {Leitfaden mit Screenshots}