Wir zeigen die Installation von Apache, MariaDB und PHP auf einem Ubuntu-Server mit dem Betriebssystem Ubuntu 24.04 LTS.
Für das Beispiel setzen wir eine Virtuelle Maschine (VM) in GNOME-Boxen auf. Auf dem Host-Rechner läuft Fedora 42 Workstation.
Die VM einrichten
Das Programm „Boxen“ (früher GNOME-Boxes) ermöglicht es, virtuelle Maschinen zu erstellen und zu verwalten. Dabei werden virtuelle Computer innerhalb Ihres bestehenden Linux-Systems eingerichtet, um andere Betriebssysteme wie Windows oder andere Linux-Distributionen auszuführen. Gnome Boxen läuft auf Linux-Distributionen, die die GNOME-Desktopumgebung verwenden oder die zugehörigen Bibliotheken bereitstellen, darunter Fedora, Ubuntu und Debian.
Die Erstellung einer neuen VM ist denkbar einfach: über die Plus-Schaltfläche oben links wählen Sie, ob Sie ein bereits vorhandenes ISO-Image für die neue VM verwenden möchten oder ob ein Image heruntergeladen werden soll. Hier erhalten Sie eine große Auswahl, u.a. auch Ubuntu-Server 24.04.
Nach dem Download startet die Installationsroutine des Betriebssystems im Textmodus. Eine Installationsanleitung für das Setup in einer VM finden Sie hier:
Nach dem Abschluss der Installation können Sie direkt loslegen. Sie starten einfach mit Doppelklick auf die neue VM.
Das Server-Betriebssystem
Üblicherweise verwenden Server-Betriebssysteme keinen grafischen Desktop. Stattdessen sehen Sie nach dem Start eine klassische Textkonsole (tty) mit Informationen zum System und einem Login-Prompt.
Exkurs: Alles viel zu klein? In der Textkonsole lässt sich die Schrift leider mit herkömmlichen Mitteln nicht vergrößern. Sie können aber die Vergrößerung der Bedienungshilfen Ihres Betriebssystems zuschalten, zu finden über
Einstellungen > Barrierefreiheit > Vergrößerung
Um die Vergrößerung schnell erreichen zu können, aktivieren Sie im Menü Barrierefreiheit die Option „Immer das Menü zur Barrierefreiheit anzeigen“. Dann haben Sie Zugriff auf alle Funktionen über ein Menü in der oberen Leiste des Desktops.
Loggen Sie sich ein mit dem während der Installation vergebenen Benutzernamen und Passwort.
Der erste Schritt sollte immer die Aktualisierung des Systems sein:
sudo apt update
sudo apt upgrade -yMelden Sie sich wieder ab mit logout .
Zugang über SSH
Statt direkt auf dem Ubuntu-Server mit der Textkonsole zu arbeiten, können Sie eine Verbindung über SSH zum Server herstellen. Das ist insbesondere in Bezug auf die Lesbarkeit deutlich komfortabler, weil sich die Schrift im Terminal beliebig vergrößern lässt.
Dazu benötigen Sie die IP-Adresse des Ubuntu-Servers. Die finden Sie in den Systeminformationen, die die Textkonsole nach dem Start des Servers liefert.
In der Textkonsole lassen Sie die IP-Adresse anzeigen mit dem Befehl:
ip addr
# oder kurz:
ip aMaßgeblich ist die Zeile unter Punkt 2., die mit „inet“ beginnt.
In der VM wird die IP-Adresse aber auch im Menü Einstellungen angezeigt.

Um eine SSH-Verbindung herzustellen, öffnen Sie das Terminal Ihres Betriebssystems und geben den folgenden Befehl ein:
ssh benutzername@<ip-adresse>für unser Beispiel also:
ssh henriette@198.168.122.8Bestätigen Sie mit der Eingabetaste und geben Sie Ihr Passwort ein. Nach der Anmeldung sehen Sie einen geänderten Prompt.
Sie können nun im Terminal Ihres Betriebssystems – des Host-Rechners – alle Arbeiten auf dem Server, wie Updates, Neu-Installationen (wie nachstehend beschrieben) oder die Konfiguration, durchführen.
Schnappschuss
Sinnvoll ist es, an dieser Stelle einen Schnappschuss der VM zu erstellen.
Einstellungen > Schnappschuss
Dann können Sie experimentieren und immer wieder zum Ausgangszustand Ihrer VM zurückkehren.
Apache2
Installieren Sie die Software für den Apache Webserver aus den Paketquellen des Ubuntu-Server-Betriebssystems:
sudo apt install apache2Apache läuft als Daemon (Hintergrunddienst) und wird mit dem Befehl systemctl verwaltet.
Nach der Installation startet der Dienst automatisch, Sie prüfen das mit
sudo systemctl status apache2Weitere Befehle:
# Starten
sudo systemctl start apache2
# Stoppen:
sudo systemctl stop apache2
# Automatisch nach dem Systemstart starten:
sudo systemctl enable apache2
# und wieder entfernen:
sudo systemctl disable apache2
# Konfiguration neu laden
sudo systemctl reload apache2
# neu Starten
sudo systemctl restart apache2<br>Über die Adresszeile des Webbrowsers rufen Sie nun die Apache-Testseite auf:
http://<ip-Adresse des Servers>
Die IP-Adresse Ihres Servers finden Sie wie oben beschrieben.
Für unser Beispiel:
http://192.168.122.8
Dann sollten Sie die Apache-Testseite erhalten:

Datenbank MariaDB
Im nächsten Schritt installieren Sie die Datenbank MariaDB:
sudo apt install mariadb-serverDen Status des Datenbank-Servers überprüfen:
sudo systemctl status mysqlNach der Installation wird unter Ubuntu die Datenbank direkt gestartet. Sie erhalten mit der Statusabfrage im Terminal eine Ausgabe die etwa so aussieht:

Ansonsten starten Sie den Dienst oder aktivieren ihn dauerhaft mit den Befehlen:
sudo systemctl start mariadb
# oder
sudo systemctl enable mariadbNach der Installation sollten Sie die Sicherheitseinstellungen der Datenbank anpassen. Wichtig ist dies insbesondere in Produktiv-Umgebungen. Hierzu steht ein Skript zur Verfügung, das Sie im Terminal aufrufen:
sudo mysql_secure_installation- Root-Passwort: Sie legen ein starkes Passwort für den administrativen Root-Benutzer fest.
- Entfernen anonymer Benutzer, die bei der Installation erstellt werden und potenziell unsicher sind, da sie auf Datenbanken zugreifen können, ohne authentifiziert zu werden.
- Deaktivieren des Remote-Root-Zugriffs, also der Möglichkeit für den Root-Benutzer, sich von außerhalb des lokalen Hosts (dem Server selbst) anzumelden.
- Entfernen der Testdatenbank, in einer Produktionsumgebung unnötig und ein Sicherheitsrisiko. In einer Lern- oder Testumgebung können Sie damit erste Übungen durchführen.
- Neuladen der Berechtigungstabellen: Nach Durchführung der Änderungen werden die Berechtigungstabellen neu geladen, um sicherzustellen, dass alle vorgenommenen Änderungen sofort wirksam werden.
Das Skript startet mit einer Passwort-Abfrage für den root-Benutzer. Das ist erst einmal etwas verwirrend, weil hier zwei Accounts ins Spiel kommen:
- der Account Ihres Host-Rechners mit dem root-Passwort, im Allgemeinen Ihr reguläres Benutzer-Passwort
- und der root-Account für die Datenbank.
In order to log into MariaDB to secure it, we'll need the current<br>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.<br><br>Enter current password for root (enter for none): Geben Sie hier ein Passwort ein und bestätigen dann mit Enter.
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] yExkurs Unix-Socket-Datei: MariaDB erstellt auf dem Server eine spezielle Datei, den sogenannten Unix-Socket (typischerweise mysqld.sock im Verzeichnis /var/run/mysqld/. Wenn ein MariaDB-Client eine Verbindung über den Unix-Socket initiiert, greift er direkt auf diese Datei zu, um mit dem Server zu kommunizieren. Der Client kann sich über das Unix-Socket-Plugin authentifizieren, was bedeutet, dass die Benutzeranmeldung anhand der Betriebssystem-Anmeldeinformationen des Systems, auf dem der Client läuft, erfolgt.
Zum Abschluss erhalten Sie die Nachricht:
All done! If you've completed all of the above steps, your MariaDB<br>installation should now be secure.<br><br>Thanks for using MariaDB!Melden Sie sich bei der Datenbank an:
mariadb -u root -pNach der Eingabe des Passworts sehen Sie eine Begrüßung und einen geänderten Prompt:
MariaDB [(none)]> Die MariaDB-Konsole ist das Terminal-Programm (mysql), das zum Ausführen von SQL-Befehlen und Interagieren mit einem MariaDB-Server eingesetzt wird. Sie ist ein sog. MySQL-Client. Der Begriff MySQL-Client ist allgemeiner und bezieht sich auf jede Software, die eine Verbindung zu einem MySQL-Server herstellt. Die MySQL- oder MariaDB-Konsole ist dabei der Standard-Kommandozeilen-Client, der im Lieferumfang von MySQL oder MariaDB enthalten ist.
Für Anweisungen wird die Abfragesprache SQL verwendet. Sie können damit alle Verwaltungsarbeiten für die Datenbank vornehmen.
Erstellen Sie einen neuen Benutzer:
CREATE USER henriette@localhost IDENTIFIED BY 'strongPassword';
GRANT ALL ON *.* TO henriette@localhost IDENTIFIED BY 'strongPassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;Melden Sie sich als root-User ab exit und mit dem neuen Benutzerdaten wieder an.
mariadb -u henriette -pErstellen Sie eine erste Datenbank und lassen diese anzeigen:
CREATE DATABASE my_books;
SHOW DATABASES;Das liefert die Ausgabe:
+--------------------+
| Database |
+--------------------+
| information_schema |
| my_books |
| mysql |
| performance_schema |
| sys |
+--------------------+
Verlassen Sie die Datenbank-Konsole mit exit.
Eine gut lesbare verständliche Einführung in SQL bietet die Seite https://www.w3schools.com/sql/ , in englischer Sprache.
PHP
Sie benötigen hier die Skriptsprache selbst sowie Apache-Module und SQL-Module.
sudo apt install php libapache2-mod-php
sudo apt install php-mysqlWenn Sie die Pakete libapache2-mod-php oder php-cgi installiert haben, können Sie PHP-Skripte über Ihren Webbrowser ausführen. Wenn Sie das Paket php-cli installiert haben, können Sie PHP-Skripte über eine Terminal-Eingabeaufforderung ausführen.
Standardmäßig ist der Apache2-Webserver bei Installation von libapache2-mod-php so konfiguriert, dass PHP-Skripte mit diesem Modul ausgeführt werden. Überprüfen Sie zunächst, ob die Dateien /etc/apache2/mods-enabled/php8.*.conf und /etc/apache2/mods-enabled/php8.*.load vorhanden sind. Wenn sie nicht vorhanden sind, können Sie das Modul mit dem Befehl a2enmod aktivieren.
Nachdem Sie die PHP-bezogenen Pakete installiert und das Apache-PHP-Modul aktiviert haben, sollten Sie den Apache2-Webserver neu starten, um PHP-Skripte auszuführen. Das gelingt mit dem Befehl:
sudo systemctl restart apache2.service Ausblick
Alle Komponenten sind nun eingerichtet. Um dynamische Webseiten erstellen zu können, sind noch weitere Konfigurationsschritte erforderlich. In einem der folgenden Beiträge erklären wir die Verzeichnisstruktur des Apache-Webservers, zeigen, wie Sie die Zugriffsrechte anpassen und eine einfache Webseite mit PHP und HTML erstellen.
Quellen und Tutorials:
https://httpd.apache.org/docs/2.4/ https://downloads.mysql.com/docs/refman-4.0-de.pdf https://www.php.net/manual/de/tutorial.php https://wiki.selfhtml.org/wiki/PHP/Tutorials/Einstieg/Grundlagen https://www.php-einfach.de/ https://www.luis.uni-hannover.de/fileadmin/handbuecher/handbuecher_ebooks/gphp8/GPHP8_Info.pdf https://www.w3schools.com/php/
