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
Installiere nun den Apache-Webserver mit dem Befehl„apt install„. Gib Y ein, um die Installation zu bestätigen.
sudo apt install apache2
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)„.
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
Ö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:
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
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.
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
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.
Wenn du auf der Seite nach unten scrollst, siehst du auch, dass das PHP-Mysql-Modul installiert ist.
Überprüfe schließlich auch die PHP-Caching-Module über APC, wie im Folgenden gezeigt.
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
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:
Du hast die Installation des LAMP-Stacks (Linux, Apache, MySQL/MariaDB und PHP) auf dem Ubuntu 24.04 „Noble Numbat“ Server abgeschlossen.