Links

PhpMyAdmin 8.2 Installation

PhpMyAdmin, PHP 8, Apache2 und MySQL Installation

Falls Sie es noch nicht getan haben, laden Sie das Programm PuTTY herunter.

Verbinden Sie sich mithilfe von PuTTY via SSH mit Ihrem Root- oder vServer. Hierfür öffnen Sie PuTTY und geben im Textfeld "Host Name (or IP address)" die Domain oder IP-Adresse Ihres Servers ein. Klicken Sie anschließend unten auf "OK".
  • Aktualisieren Sie nun Ihre Paketlisten und Installieren Sie jetzt möglicherweise verfügbare Updates der auf Ihrem Server bereits installieren Pakete mit dem Befehl.
apt update && apt upgrade -y
  • Als nächstes installieren Sie Pakete, die für die weiteren Installationen benötigt werden, mit folgendem Befehl:
apt install ca-certificates apt-transport-https lsb-release gnupg curl nano unzip -y
Wähle dein Betriebssystem aus. Solltest du nicht wissen, welches Betriebssystem du verwendest, kannst du dies mit dem Befehl nachschauen.
cat /etc/issue
Debian
Ubuntu
  • Fügen Sie die für die Installation von PHP 8 benötigte Paketquelle hinzu:
curl -fsSL https://packages.sury.org/php/apt.gpg -o /usr/share/keyrings/php-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/php-archive-keyring.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
  • Füge die Paket-Quelle für die PHP8.2 Version hinzu.
apt install software-properties-common -y
add-apt-repository ppa:ondrej/php
  • Aktualisieren Sie nun erneut Ihre Paketlisten mit dem Befehl
apt update
  • Installieren Sie den Apache2-Webserver sowie weitere benötigte Pakete mit folgendem Befehl:
apt install apache2 -y
  • Installieren Sie anschließend PHP 8 sowie einige wichtige PHP-Module. Der Befehl hierfür lautet:
apt install php8.2 php8.2-cli php8.2-common php8.2-curl php8.2-gd php8.2-intl php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-xml php8.2-xsl php8.2-zip php8.2-bz2 libapache2-mod-php8.2 -y
  • Installiere MySQL
apt install mariadb-server mariadb-client -y
Schließe die MySQL Installation ab
Debian 10 & Ubuntu
Debian 11
Geben Sie nun den Befehl
mysql_secure_installation
ein. Bei der ersten Abfrage des aktuellen Passworts müssen Sie nichts eingeben, sondern einfach die Enter-Taste drücken. Bestätigen Sie die nächste Frage bzgl. der Änderung des Root-Passworts mit Enter. Nun müssen Sie ein Passwort für den Root-Benutzer des MariaDB-Servers vergeben. Während der Eingabe erscheinen keine Zeichen, das ist jedoch normal. Bestätigen Sie alle darauffolgenden Fragen (Löschung des anonymen Benutzers, Verbieten des externen Root-Logins aus Sicherheitsgründen, Entfernen der Testdatenbank und Aktualisieren der Rechte) ebenfalls mit Enter. Danach ist der MariaDB-Server fertig installiert und konfiguriert.
Geben Sie nun den Befehl
mysql_secure_installation
ein. Bei der ersten Abfrage des aktuellen Passworts müssen Sie nichts eingeben, sondern einfach die Enter-Taste drücken. Geben Sie bei der anschließenden Frage bzgl. des Wechsels zur Unix-Socket-Authentifizierung 'n' ein und drücken Sie die Enter-Taste. Bestätigen Sie die nächste Frage bzgl. der Änderung des Root-Passworts mit Enter. Nun müssen Sie ein Passwort für den Root-Benutzer des MariaDB-Servers vergeben. Während der Eingabe erscheinen keine Zeichen, das ist jedoch normal. Bestätigen Sie alle darauffolgenden Fragen (Löschung des anonymen Benutzers, Verbieten des externen Root-Logins aus Sicherheitsgründen, Entfernen der Testdatenbank und Aktualisieren der Rechte) ebenfalls mit Enter. Danach ist der MariaDB-Server fertig installiert und konfiguriert.
  • Wechseln Sie mit dem Befehl
cd /usr/share
in das Verzeichnis, in dem phpMyAdmin installiert wird.
  • Um phpMyAdmin herunterzuladen, führen Sie nun den Befehl aus
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip
  • Entpacken Sie das soeben heruntergeladene Archiv mit dem folgenden Befehl:
unzip phpmyadmin.zip
  • Entfernen Sie das heruntergeladene Archiv, welches nun bereits entpackt ist, mit dem Befehl
rm phpmyadmin.zip
  • Anschließend müssen Sie den Namen des entpackten Verzeichnisses zu "phpmyadmin" umbenennen. Dies machen Sie mit folgendem Befehl:
mv phpMyAdmin-*-all-languages phpmyadmin
  • Vergeben Sie anschließend die benötigten Rechte auf das phpMyAdmin-Verzeichnis mithilfe des Befehls
chmod -R 0755 phpmyadmin
  • Erstellen Sie nun eine Apache2-Konfigurationsdatei für phpMyAdmin, indem Sie den Befehl ausführen.
nano /etc/apache2/conf-available/phpmyadmin.conf
  • Fügen Sie in diese Konfigurationsdatei nun folgenden Inhalt ein:
# phpMyAdmin Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>
Speichern Sie Ihre Änderungen der Konfiguration, indem Sie STRG + X, danach die "Y"-Taste und anschließend Enter drücken.
  • Aktivieren Sie die soeben hinzugefügte Apache2-Konfigurationsdatei mit dem Befehl
a2enconf phpmyadmin
und führen daraufhin den Befehl
systemctl reload apache2
zum Neuladen des Apache2-Webservers aus.
  • Erstellen Sie das temporäre Verzeichnis, welches phpMyAdmin benötigt, indem Sie den Befehl ausführen.
mkdir /usr/share/phpmyadmin/tmp/
  • Geben Sie dem Webserver-Benutzer nun die benötigten Besitzerrechte für dieses temporäre Verzeichnis mithilfe des Befehls
chown -R www-data:www-data /usr/share/phpmyadmin/tmp/

Hinweis: Bis einschließlich Debian 10 sowie unter Ubuntu können Sie sich aus Sicherheitsgründen mithilfe der Passwort-Authentifizierung beim MariaDB-Server standardmäßig nicht als Root-Nutzer anmelden (z.B. über phpMyAdmin). Unter Debian 11 ist dies jedoch möglich. Falls Sie nicht Debian 11 verwenden, führen Sie die nachfolgenden Schritte durch, um die Root-Anmeldung mittels Passwort zu erlauben.

  • Bis einschließlich Debian 10 oder für Ubuntu:
  1. 1.
    Melden Sie sich in PuTTY mithilfe des Befehls am MariaDB-Server an.
mysql -u root
2.Führen Sie die Befehle aus. Hiermit ändern Sie das Authentifizierungsplugin des Root-Benutzers vom UNIX-Socket wieder auf die Standard-Authentifizierung.
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';
FLUSH PRIVILEGES;
  1. 3.
    Beenden Sie die MariaDB-Konsole abschließend mit dem Befehl.
exit
Ihr Apache2-Webserver inkl. PHP 8, MariaDB-Server und phpMyAdmin ist nun einsatzbereit. Das Web-Verzeichnis befindet sich standardmäßig unter "/var/www/html/". Die phpMyAdmin-Weboberfläche erreichen Sie, indem Sie hinter der IP-Adresse oder Domain Ihres Servers im Browser "/phpmyadmin" anhängen. Dort können Sie sich jetzt am MariaDB-Server anmelden.

Datenbank von außen erreichbar machen

Standardmäßig erlaubt eine MySQL-Datenbank nur Zugriffe durch den eigenen Server (localhost). Um ebenso Zugriffe von außerhalb zu erlauben, musst du mit
nano /etc/mysql/mariadb.conf.d/50-server.cnf
in die Konfigurationsdatei deiner Datenbank und den Punkt bind-adress = 127.0.0.1 auf 0.0.0.0 ändern, sodass es am Ende folgendermaßen aussieht:
bind-adress = 0.0.0.0
Speichern Sie Ihre Änderungen der Konfiguration, indem Sie STRG + X, danach die "Y"-Taste und anschließend Enter drücken.
Danach musst du lediglich deine Datenbank neustarten, sodass die Änderungen wirksam werden (service mysql restart).

Datenbank mit UFW absichern

Um deine Datenbank von außen abzusichern, kannst du das über die FireWall UFW machen:
Dafür installierst du dir erstmals UFW auf deinem Server mit folgendem Befehl:
apt install ufw -y
Danach geben wir die Standart Port nach außen offen ( SSH, HTTP, HTTPS ):
ufw allow 22
ufw allow 443
ufw allow 80
Danach aktivieren wir die UFW:
ufw enable
einfach mit Y bestätigen
UFW ENABLE
Nun Aktivieren wir UFW für die Datenbank:
ufw allow from DEINE-IP to any port 3306
Nach dem du das eingefügt hast kann nur die IP auf dem Server zugreifen die in der Liste steht