GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie das neueste phpMyAdmin mit LEMP unter Ubuntu 20.04

phpMyAdmin ist ein kostenloses und Open-Source-Verwaltungstool, das in PHP geschrieben ist zur Verwaltung von MySQL- und MariaDB-Datenbankservern verwendet über eine Weboberfläche . Die meisten Entwickler ziehen es vor, phpMyAdmin zu verwenden, um mit einem Datenbankserver zu interagieren, da es einfach zu bedienen ist und einen fortschrittlichen SQL-Editor bietet, der das Erstellen und Testen komplexer SQL-Abfragen erleichtert.

Im folgenden Tutorial erfahren Sie, wie Sie LEMP und phpMyAdmin von der Quelle auf Ubuntu 20.04 installieren.

Voraussetzungen

  • Empfohlenes Betriebssystem: Ubuntu 20.04 – optional (Ubuntu 21.04 und Linux Mint 20)
  • Benutzerkonto: Ein Benutzerkonto mit Sudo- oder Root-Zugriff.
  • Erforderlich: Nginx, MariaDB und PHP (LEMP)

Betriebssystem aktualisieren

Aktualisieren Sie zuerst Ihr Ubuntu Betriebssystem, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind:

sudo apt update && sudo apt upgrade -y

Nginx für phpMyAdmin

Benutzerdefinierte PPA für die neueste Nginx hinzufügen

Da Sie phpMyAdmin mit Nginx einrichten, müssen Sie die Webanwendung installieren. Derzeit ist die beste Methode für die meisten die Verwendung des PPA des bekannten Ondřej Surý, der sowohl Nginx- als auch Stable-Versionen pflegt und ständig aktualisiert wird.

Fügen Sie zunächst entweder stabile oder Mainline-PPA wie folgt hinzu:

Nginx-Stall:

sudo add-apt-repository ppa:ondrej/nginx-stable -y && sudo apt update

Nginx Mainline (empfohlen):

sudo add-apt-repository ppa:ondrej/nginx-mainline -y && sudo apt update

Installieren Sie Nginx

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

MariaDB für phpMyAdmin

Installieren Sie MariaDB für Ubuntu 20.04

Zuerst müssen Sie MariaDB installieren, um eine Datenbank und einen Benutzernamen wie folgt zu erstellen:

sudo apt install mariadb-server

Beachten Sie, dass dies eine ältere Version ist, wobei die Standardinstallation Version 10.3 ist. Bitte besuchen Sie unser Tutorial, wenn Sie lieber eine neuere MariaDB-Version wie 10.5 und 10.6 installieren möchten.

Führen Sie als Nächstes das Sicherheitsskript aus, wenn Sie es zum ersten Mal neu installiert haben, mit dem folgenden Befehl:

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.

Erstellen Sie die phpMyAdmin-Datenbank und den Benutzernamen

Öffnen Sie zunächst MariaDB und erstellen Sie eine neue Datenbank für phpMyAdmin:

sudo mysql -u root

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

CREATE DATABASE phpmyadmindb;

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

GRANT ALL ON phpmyadmindb.* TO phpmyadminuser@localhost IDENTIFIED BY 'password here change';

Zum Schluss löschen Sie die Privilegien und beenden Sie mit den folgenden Codes:

FLUSH PRIVILEGES;
QUIT;

PHP für phpMyAdmin

Benutzerdefinierte PPA für neuestes PHP hinzufügen

Ähnlich wie bei unserer Nginx-Installation wird empfohlen, das PPA von Ondřej Surý, dem PHP-Maintainer für Debian, hinzuzufügen. Das benutzerdefinierte PPA verfügt über die neuesten Versionen von 7.4, 8.0 und die neueste Version 8.1.

Fügen Sie das PPA mit dem folgenden Befehl hinzu:

sudo apt install software-properties-common && sudo add-apt-repository ppa:ondrej/php -y

Installieren Sie PHP für Ubuntu 20.04

Jetzt können Sie PHP 7.4 oder PHP 8.0 installieren. Da PHP noch neuer ist und eventuell mehr Bugs mit phpMyAdmin hat, empfiehlt es sich vorerst PHP 7.4 zu installieren. Verwenden Sie dazu den folgenden Terminalbefehl, um die erforderlichen Pakete zu installieren:

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-mcrypt php7.4-cli php7.4-curl php7.4-zip php7.4-gd

Installieren Sie phpMyAdmin auf Ubuntu 20.04

Standardmäßig enthält das Ubuntu 20.04-Repository phpMyAdmin und die erforderlichen Abhängigkeiten. Wie so oft bei Ubuntu LTS-Versionen liegen Version und Build jedoch weit hinter dem zurück, was derzeit aus der Quelle verfügbar ist. Als Zweck dieses Handbuchs werden Sie wie folgt von der Quelle herunterladen:

Neueste Quellversion von phpMyAdmin herunterladen

Besuchen Sie zunächst die phpMyAdmin-Downloadseite, um die derzeit neueste Version zu finden. Zum Zeitpunkt dieses Tutorials ist Version 5.1.1 die neueste.

Führen Sie die folgenden Codes aus, um die neueste Version in allen Sprachen automatisch herunterzuladen:

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

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 manuell konfigurieren

Sie müssen das extrahierte Verzeichnis und seine Unterverzeichnisse nach /usr/share verschieben Verzeichnis, in dem phpMyAdmin standardmäßig seine Konfigurationsdateien erwartet. Verwenden Sie dazu den folgenden Befehl:

sudo mv phpMyAdmin-*/ /usr/share/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/lib/phpmyadmin/tmp

Weisen Sie dem Benutzer www-data die richtigen Berechtigungen zu mit dem phpMyAdmin-Verzeichnis:

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

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, falls Fehler im Verzeichnis /etc/usr/phpmyadmin/ gemacht werden .

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

sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/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 /usr/share/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 . Um pwgen zu installieren Verwenden Sie den folgenden Terminalbefehl:

sudo apt install pwgen

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'] = 'kQVwa2yLI6FxA3LN6E7YcW3WgtTKTZ2j'

Die restlichen Standardeinstellungen sollten für die meisten Benutzer funktionieren. Wenn sich Ihr Server 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';

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 /usr/share/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/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

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

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, es sei denn, Ihre IP-Adresse erlaubt dies. Dies kann von Natur aus alle Brute-Angriffe aufhalten, ist aber für einige Setups möglicherweise nicht praktikabel.


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

Testen Sie Ihren Nginx-Serverblock, indem Sie den Trockenlaufbefehl ausführen:

sudo nginx -t

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

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

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.example.com ein mit (Beispiel) Ihrer Domain. Sie sollten wie folgt zum Anmeldebildschirm von phpMyAdmin kommen:

Melden Sie sich mit dem MariaDB-Benutzernamen und -Passwort an, das Sie ursprünglich zu Beginn des Tutorials eingerichtet haben. Sie gelangen dann zum Hauptbildschirm.

TLS-Zertifikat installieren

Zur weiteren Sicherung der phpMyAdmin-Weboberfläche können Sie optional ein kostenloses Let’s Encrypt TLS-Zertifikat installieren aus dem Ubuntu-Standard-Repository .

Führen Sie den folgenden Befehl in Ihrem Ubuntu-Terminal aus:

sudo apt install certbot python3-certbot-nginx

Führen Sie nun den folgenden Befehl aus, um das TLS-Zertifikat für Nginx und phpMyAdmin zu erhalten und zu installieren:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email your-email-address

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

Das war’s, und Sie haben SSL in Ihrem phpMyAdmin-Bereich installiert. Testen Sie unbedingt mit einem kostenlosen SSL-Test wie DigiCert oder SSL Labs.


Ubuntu
  1. So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 18.04

  2. So installieren Sie Joomla mit Apache unter Ubuntu 18.04

  3. So installieren Sie phpMyAdmin unter Ubuntu

  4. So installieren Sie WordPress 5.x mit Nginx auf Ubuntu 18.04 / Ubuntu 16.04

  5. So installieren Sie phpMyAdmin mit LAMP-Stack auf Ubuntu

So installieren Sie das neueste PHPMyAdmin auf Ubuntu 18.04

So installieren Sie phpMyAdmin unter Ubuntu 16.04

So installieren Sie phpMyAdmin unter Ubuntu 20.04 LTS

So installieren Sie den LEMP-Stack mit PhpMyAdmin in Ubuntu 20.04

So installieren Sie phpMyAdmin unter Ubuntu 18.04

So installieren Sie phpMyAdmin unter Ubuntu 22.04