Apache2, PHP 8.1, MariaDB und phpMyAdmin

PHP Version wechseln

  • update-alternatives --config php

Update von php7.4 auf php8.1

Falls du ein Upgrade von php7.4 auf php8.0 durchführen möchtest, mache bitte noch folgendes nach der Installation von php8.0

  • a2dismod php7.4
  • a2enmod php8.1
  • systemctl restart apache2
  • apt-get purge -y php7.*

Installation von apache und php8.1

  • apt update && apt full-upgrade -y
  • apt install ca-certificates apt-transport-https lsb-release gnupg curl nano unzip -y
  • wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
  • echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
  • apt update
  • apt install apache2 -y
  • apt install php8.1 php8.1-cli php8.1-common php8.1-curl php8.1-gd php8.1-intl php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-readline php8.1-xml php8.1-xsl php8.1-zip php8.1-bz2 libapache2-mod-php8.1 php8.1-apcu -y
  • apt install mariadb-server mariadb-client -y
  • mysql_secure_installation

Automatische Installation von phpmyadmin

Es kann sein, dass das Paket nicht gefunden wird. Wenn das der Fall sein sollte, muss die manuelle Installation durchgeführt werden.
Es kann außerdem sein, dass das phpmyadmin Paket nicht das aktuellste ist. Der Vorteil ist jedoch, dass man apt update && apt upgrade -y benötigt um das ganze zu aktualisieren.

  • apt install phpmyadmin

Man wird nun gefragt welcher Webserver genutzt wird. Hier wählen wir apache aus und Bestätigen mit ENTER: https://prnt.sc/d4Q8KgTvmPsT

Die nächste Frage bestätigen wir ebenfalls mit ENTER: https://prnt.sc/A4kK2WkPbC4g

Als nächstes wird nach einem Passwort gefragt. Hier sollte am besten das selbe Passwort genutzt werden wie wir vorhin bereits beim erstellen des MariaDB Server eingegeben haben: https://prnt.sc/ijJVYmwViHpD

Nun werden wir ein weiteres mal nach einem Passwort gefragt. Auch hier geben wir am besten das selbe Passwort ein: https://prnt.sc/rFnPp4HI5DKO

Sobald wir das ganze mit ENTER bestätigt haben wurde phpmyadmin nun installiert. Man kann nun also versuchen die Seite mit www.deine-domain.de/phpmyadmin aufzurufen. Falls das allerdings nicht klappt müssen wir hier nochmal zwei Befehle eingeben.

  • echo Include /etc/phpmyadmin/apache.conf >> /etc/apache2/apache2.conf
  • /etc/init.d/apache2 restart

Jetzt sollte phpmyadmin problemlos aufrufbar sein.

Manuelle Installation von phpmyadmin

Wenn phpmyadmin manuell installiert werden soll dann muss nun folgendes getan werden. Zu beachten gilt jedoch, dass phpmyadmin selbst auf dem neusten Stand gehalten werden muss. Die manuelle Installation ist dennoch meine persönliche Empfehlung.

  • cd /usr/share
  • wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip
  • unzip phpmyadmin.zip
  • rm phpmyadmin.zip
  • mv phpMyAdmin-*-all-languages phpmyadmin
  • chmod -R 0755 phpmyadmin
  • nano /etc/apache2/conf-available/phpmyadmin.conf

Nun muss folgender Text eingefügt werden.

# 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>

Mit Strg+X dann Y und dann ENTER wird das ganze gespeichert und verlassen.

  • a2enconf phpmyadmin
  • systemctl reload apache2

Nun können wir mit cd wieder zurück ins Hauptverzeichnis.

  • mkdir /usr/share/phpmyadmin/tmp/
  • chown -R www-data:www-data /usr/share/phpmyadmin/tmp/

Im Prinzip ist der MySQL bzw. MariaDB Server nun fertig Konfiguriert, allerdings kann man sich, aus Sicherheitsgründen, nicht direkt als Root-Nutzer im phpmyadmin anmelden. Man kann allerdings einen neuen Nutzer erstellen und diesem alle Rechte gewähren.

Hierbei muss beachtet werden, dass username und password durch den gewünschten Nutzername und das gewünschte Passwort ersetzt wird.

  • mysql -u root
  • CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
  • GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
  • exit

Jetzt ist der MySQL bzw. MariaDB Server Fertig Konfiguriert und man kann sich nun im Browser mit dem soeben erstellten Nutzer und Passwort anmelden.

Dafür einfach folgendes Aufrufen: www.deine-domain.de/phpmyadmin