So installierst du den LAMP-Stack (Linux, Apache, MariaDB und PHP) auf Ubuntu 24.04

Der LAMP-Stack (Linux, Apache, MySQL/MariaDB und PHP) ist ein Bündel von Open-Source-Technologien zur Erstellung von Websites und Webanwendungen. Jede Komponente des LAMP-Stacks ist kostenlos und du kannst ihn sowohl für Entwicklungs- als auch für Produktionsumgebungen installieren.

In dieser Anleitung lernst du, wie du den LAMP Stack (Linux, Apache, MySQL/MariaDB und PHP) auf dem Ubuntu 24.04 „Noble Numbat“ Server installierst. Außerdem lernst du, wie du MariaDB absicherst und einen virtuellen Host mit einem Apache-Webserver einrichtest.

Voraussetzungen

Um mit dieser Anleitung zu beginnen, stelle sicher, dass du den Ubuntu 24.04 „Noble Numbat“ mit dem Root-Benutzer oder einem Nicht-Root-Benutzer mit Administrator-Rechten verwendest.

Installation des Apache Webservers

Apache ist eine der beliebtesten Webserver-Software im Internet. Apache hat einige der größten Websites im Internet betrieben, darunter Wikipedia, Slack, LinkedIn, The New Your Times und viele mehr.

Der Apache Webserver ist berühmt für seine Modularität, die es den Nutzern ermöglicht, seine Funktionen durch Module zu erweitern. In diesem Abschnitt wirst du den Apache Webserver auf dem Ubuntu 24.04 Server installieren.

Führe zunächst den folgenden Befehl aus, um deine Ubuntu-Paketliste zu aktualisieren und die neuesten Paketinformationen zu erhalten.

sudo apt update

Repo aktualisieren

Installiere nun den Apache-Webserver mit dem Befehl„apt install„. Gib Y ein, um die Installation zu bestätigen.

sudo apt install apache2

apache2 installieren

Sobald die Installation abgeschlossen ist, sollte der apache2-Dienst beim Systemstart automatisch gestartet und ausgeführt werden. Überprüfe den Status des apache2-Dienstes mit dem folgenden Befehl.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Du wirst sehen, dass der apache2-Dienst„aktiviert“ ist und beim Systemstart automatisch ausgeführt wird. Der Status des aktuellen apache2-Dienstes ist„active (running)„.

Überprüfung des Apache-Dienstes

Wenn auf deinem Ubuntu die UFW (Uncomplicated Firewall) läuft, musst du den Datenverkehr zu deinem Apache-Webserver über die UFW zulassen.

Führe den folgenden„ufw„-Befehl aus, um den Datenverkehr zum Apache-Webserver über das Profil„Apache Full“ zuzulassen. Das„Apache Full„-Profil auf UFW öffnet sowohl HTTP- als auch HTTPS-Ports.

sudo ufw allow 'Apache Full'

Führe nun den folgenden Befehl aus, um die Listenregeln auf UFW zu überprüfen. Du wirst das Profil„Apache Full“ mit dem Status„ALLOW“ sehen.

sudo ufw status

http https ufw zulassen

Öffne schließlich deinen Webbrowser und rufe die IP-Adresse deines Servers auf, z.B. http://192.168.5.30/. Wenn alles gut geht, solltest du die Seite„index.html“ des Apache-Webservers wie die folgende sehen:

Apache-Index

Wenn du die IP-Adresse deines Ubuntu-Servers nicht genau kennst, kannst du mit dem folgenden Befehl die IP-Adresse deines Servers überprüfen.

ip a

Installation des MariaDB-Datenbank-Servers

MariaDB ist ein freies und quelloffenes RDBMS (Relational Database Management System), eine Abspaltung von MySQL. Es wurde von den ursprünglichen MySQL-Entwicklern entwickelt, verfügt aber über mehr Funktionen, eine höhere Abfragegeschwindigkeit und ist besser skalierbar.

Für diese LAMP-Stack-Installation wirst du MariaDB anstelle von MySQL verwenden. Deshalb wirst du jetzt den MariaDB-Datenbankserver auf Ubuntu 24.04 installieren und sichern.

Um den MariaDB-Server unter Ubuntu zu installieren, führe den folgenden Befehl„apt install“ aus. Gib Y ein, um mit der Installation fortzufahren.

sudo apt install mariadb-server

mariadb installieren

Sobald die Installation abgeschlossen ist, sollte der MariaDB-Dienst auf deinem System laufen und aktiviert sein. Überprüfe den Status des MariaDB-Dienstes mit folgendem Befehl.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Du siehst die Ausgabe„enabled„, wenn der MariaDB-Dienst aktiviert ist. Außerdem siehst du, dass der aktuelle Status des mariadb-Dienstes„active (running)“ ist.

mariadb Dienst installieren

Wenn der MariaDB-Server läuft, musst du ihn mit dem Dienstprogramm „mariadb-secure-installation“ sichern. Damit kannst du das MariaDB-Root-Passwort einrichten, die Remote-Authentifizierung für den MariaDB-Root-Benutzer deaktivieren und Standarddaten von deinem MariaDB-Server entfernen.

Führe den Befehl „mariadb-secure-installation“ aus, um deinen MariaDB-Server abzusichern.

sudo mariadb-secure-installation

Drücke ENTER, wenn du nach dem MariaDB Root-Passwort gefragt wirst.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Gib„n“ ein, wenn du zur unix_socket-Authentifizierung wechseln willst.

Switch to unix_socket authentication [Y/n] n
 ... skipping.

Gib Y ein, um das MariaDB Root-Passwort zu konfigurieren. Gib dann dein neues Passwort ein und wiederhole den Vorgang.

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Gib Y ein, um den anonymen Standardbenutzer von deiner MariaDB-Serverinstallation zu entfernen.

Remove anonymous users? [Y/n] Y
 ... Success!

Gib Y ein, um die Fernanmeldung für den MariaDB-Root-Benutzer zu deaktivieren. Der Root-Benutzer sollte sich immer von localhost aus anmelden.

Disallow root login remotely? [Y/n] Y
 ... Success!

Tippe nun erneut Y ein, um den Standard-Datenbanktest und seine Berechtigungen von deinem MariaDB-Server zu entfernen.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Gib Y ein, um die Berechtigungstabellen neu zu laden und alle Änderungen, die du bisher vorgenommen hast, anzuwenden.

Reload privilege tables now? [Y/n] Y
 ... Success!

Wenn du fertig bist, siehst du die folgende Meldung:

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

PHP installieren

PHP ist eine Open-Source-Programmiersprache für die Webentwicklung. Sie ist auch die Grundlage für die beliebtesten CMS (Content Management System) wie WordPress und Drupal. In diesem Abschnitt wirst du PHP mit den folgenden Erweiterungen installieren:

  • libapache2-mod-php: Dieses Paket ermöglicht die Integration zwischen dem Apache-Webserver und PHP.
  • php-mysql: Der MySQL/MariaDB-Treiber für PHP. Du musst dieses Paket installieren, besonders wenn du eine PHP-Webanwendung mit MySQL/MariaDB als Datenbank entwickelst oder einsetzt.
  • php-opcache und php-apcu: Dieses Paket bietet Cache-Leistung für deine PHP-Webanwendungen.

Installiere zunächst die PHP-Pakete auf deinem Ubuntu mit dem folgenden Befehl. Gib Y ein, um die Installation zu bestätigen.

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-json php-intl php-bcmath php-opcache php-apcu php-mbstring php-fileinfo php-xml php-soap php-tokenizer php-zip

php installieren

Sobald die Installation abgeschlossen ist, führe den folgenden Befehl im nano-Editor aus, um die PHP-Konfigurationsdatei„php.ini“ zu ändern.

sudo nano /etc/php/8.3/apache2/php.ini

Ändere die Standard-PHP-Konfiguration wie folgt und achte darauf, dass du die„date.timezone“ mit der Zeitzone deines Servers und die„memory_limit“ mit dem maximalen Speicher deines Ubuntu-Servers abgleichst.

date.timezone = Europe/Paris
memory_limit = 256M
upload_max_file_size = 64M
max_execution_time = 300

Speichere die Datei und beende sie.

Zum Schluss führst du den folgenden Befehl aus, um den apache2-Dienst neu zu starten und die Änderungen in deiner PHP-Konfiguration zu übernehmen.

sudo systemctl restart apache2

Apache- und PHP-Integration

Um deine Apache- und PHP-Integration zu überprüfen, erstellst du eine PHPINFO-Datei, die dir detaillierte Informationen über deine PHP-Installation liefert. Deine PHPINFO-Datei sollte sich in dem Standard-DocumentRoot-Verzeichnis /var/www/html befinden.

Erstelle eine neue „info.php„-Datei mit dem folgenden Befehl.

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Öffne dein Web und besuche http://192.168.5.30/info.php. Wenn deine Apache- und PHP-Installation erfolgreich war, solltest du die PHPINFO-Seite wie die folgende erhalten:

Wie du siehst, läuft PHP 8.3 mit einem Apache-Webserver über den Apache Handler.

phpinfo

Wenn du auf der Seite nach unten scrollst, siehst du auch, dass das PHP-Mysql-Modul installiert ist.

mysqli-Modul

Überprüfe schließlich auch die PHP-Caching-Module über APC, wie im Folgenden gezeigt.

php apc

Virtuellen Host im Apache erstellen

Virtueller Host ist ein Begriff für das Hosting mehrerer Websites wie site1.com und site2.com auf einem einzigen Server. In diesem Abschnitt erfährst du, wie du einen virtuellen Host auf dem Apache-Webserver einrichtest.

Führe zunächst den folgenden Befehl aus, um ein neues DocumentRoot-Verzeichnis /var/www/mysite/public_html und eine neue benutzerdefinierte„index.html„-Seite zu erstellen.

mkdir -p /var/www/mysite/public_html
echo "Welcome to mysite.com" > /var/www/mysite/public_html/index.html

Führe nun den unten stehenden Befehl aus, um den Eigentümer des Verzeichnisses /var/www/mysite auf den Benutzer„www-data“ zu ändern.

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

Danach erstellst du mit dem folgenden nano-Editor-Befehl eine neue Apache Virtual Host-Konfiguration „/etc/apache2/sites-available/mysite.conf“.

sudo nano /etc/apache2/sites-available/mysite.conf

Füge die folgende Konfiguration des virtuellen Hosts ein. Achte darauf, dass du die Option ServerName mit deinem Domainnamen und das Verzeichnis DocumentRoot mit dem Pfad„/var/www/mysite/public_html“ änderst.

<VirtualHost *:80>
ServerAdmin admin@mysite.com

ServerName mysite.com
ServerAlias www.mysite.com

DocumentRoot /var/www/mysite/public_html

ErrorLog ${APACHE_LOG_DIR}/mysite-error.log
CustomLog ${APACHE_LOG_DIR}/mysite-access.log combined

</VirtualHost>

Speichere und beende die Datei.

Als Nächstes führst du den folgenden Befehl aus, um die virtuelle Hostdatei mysite.conf zu aktivieren und deine Apache-Syntax zu überprüfen.

sudo a2ensite mysite.conf
sudo apachectl configtest

Wenn du die richtige Apache-Syntax verwendest, solltest du die Ausgabe„Syntax OK“ erhalten.

Führe nun den folgenden Befehl aus, um den apache2-Dienst neu zu starten und deine neue Konfiguration des virtuellen Hosts anzuwenden.

sudo systemctl restart apache2

apache virtual host erstellen

Testen deines virtuellen Apache-Hosts

Um auf den Domainnamen deines virtuellen Hosts zuzugreifen, kannst du die Datei „hosts“ auf deinem lokalen System ändern.

  • Unter Windows bearbeitest du die Datei„C:\Windows\System32\drivers\etc\hosts“ als Administrator.
  • Linux- oder MacOS-Benutzer bearbeiten die Datei„/etc/hosts“ mit den Rechten sudo/root.

Gib den Domainnamen deines virtuellen Hosts ein, z. B. „mysite.com“, und die IP-Adresse deines Ubuntu-Servers.

192.168.5.30 mysite.com

Speichere die Datei und beende den Editor.

Öffne nun deinen Webbrowser und besuche http://mysite.com/. Wenn die Konfiguration deines virtuellen Hosts erfolgreich war, solltest du die benutzerdefinierte „index.html“ wie die folgende erhalten:

Virtuellen Host Apache testen

Du hast die Installation des LAMP-Stacks (Linux, Apache, MySQL/MariaDB und PHP) auf dem Ubuntu 24.04 „Noble Numbat“ Server abgeschlossen.

Das könnte dich auch interessieren …