Projekt Linux-Webserver – Teil 2 – Installation Apache2 Webserver

Projekt Linux-Webserver – Teil 2 – Installation Apache2 Webserver

15. Juli 2026 | Server, Netzwerk und Hosting | 0 Kommentare

So installierst du den Apache Webserver und alle wichtigen Grundpakete auf deinem Ubuntu Server.

In diesem Teil unseres Webserver-Projektes beschäftigen wir uns damit, den Apache-Webserver und alle wichtigen Grundpakete zu installieren. Die Grundpakete sind für den reibungslosen Betrieb des Ubuntu-Servers in unserem Netzwerk erforderlich.

Dieser Beitrag baut auf Teil 1 – Installation Ubuntu 24.04 LTS Server auf. Falls du das Grundsystem noch nicht eingerichtet hast, starte dort.

Wichtige Grundpakete installieren

Als Erstes loggen wir uns über SSH auf unserem frisch installierten Ubuntu-Server ein. Dabei ist es vollkommen unerheblich, ob wir uns direkt am Server einloggen oder über ein Terminal-Programm wie Putty.

Um diese Pakete jetzt zu installieren, geben wir die nachfolgende Anweisung ein. Am besten hier rauskopieren und im Terminal einfügen. Das -y am Ende der Befehlszeile bedeutet, dass automatisch alle Nachfragen während der Paket-Installation mit Ja bestätigt werden und die Installation komplett durchläuft.

sudo apt install ca-certificates apt-transport-https lsb-release gnupg curl wget nano unzip -y

Folgende Pakete haben wir damit installiert:

Befehl/OptionBedeutung
curlKommandozeilen-Werkzeug zum Herunterladen von Dateien und Aufrufen von URLs. Wird benötigt, um Software-Repositories einzurichten.
wgetÄhnlich wie curl, aber einfacher für das Herunterladen einzelner Dateien. wget -O datei.tar.gz https://… speichert eine Datei direkt.
nanoEinfacher Kommandozeilen-Texteditor. Wird in dieser Anleitung durchgehend zum Bearbeiten von Konfigurationsdateien verwendet.
unzipEntpackt ZIP-Dateien. Benötigt für viele Software-Downloads, z.B. PHPMyAdmin.
apt-transport-httpsErlaubt apt, Pakete auch von HTTPS-Quellen herunterzuladen (z.B. MariaDB-Repository).
ca-certificatesEnthält Zertifikate für vertrauenswürdige Zertifizierungsstellen. Nötig, damit HTTPS-Downloads als sicher erkannt werden.
gnupgGPG-Verschlüsselungswerkzeug. Wird benötigt, um Software-Signaturen (GPG-Keys) von Paketquellen zu pruefen.
lsb-releaseGibt Informationen zur Linux-Distribution aus, z.B. lsb_release -cs liefert 'noble‘ fuer Ubuntu 24.04.

Installation des Apache-Webservers

Apache HTTP Server ist der meistgenutzte Webserver der Welt. Er ist erprobt, hochgradig konfigurierbar und bietet durch sein Modul-System eine enorme Flexibilität. Für unser Vorhaben – mehrere PHP-Versionen – ist der Apache die optimale Wahl.

Apache installieren:

sudo apt install -y apache2

Aktuellen Status anzeigen:

sudo systemctl status apache2

Der Apache sollte nach der Installation gleich aktiv sein und auch im Autostart des Servers eingetragen sein.

Mit nachfolgendem Befehl können wir uns alle aktiven System-Dienste auflisten lassen. Hier sieht man sehr übersichtlich, was alles läuft.

systemctl list-units --type=service --state=running

An dieser Stelle können wir gleich einmal testen, ob der Webserver schon Webseiten ausliefert. Bei der Installation des Apache wird ein www Verzeichnis mit einer Test-HTML-Seite angelegt. Diese Testseite können wir mit einem Browser aufrufen. Wir geben dazu einfach ein: http://SERVER_NAME

Da mein Testserver den Hostnamen demosrv hat, gebe ich hier http://demosrv in der URL-Eingabezeile des Browsers ein. Wenn alles klappt, wird die Testseite an unseren Browser ausgeliefert.

Apache Testseite im Browser Firefox

Apache-Modul prüfen und aktivieren

Apache ist modular aufgebaut: Funktionen werden als Module nachgeladen. Der Apache bringt eine große Auswahl an Modulen mit, aber nicht alle sind standardmäßig aktiviert. Darum werden wir jetzt erst einmal prüfen, welche Module bereits aktiviert sind.

apache2ctl -M

An dieser Stelle werden wir alle notwendigen Module aktivieren, die wir für unser Projekt benötigen.

sudo a2enmod rewrite actions ssl http2 headers proxy_fcgi alias expires

Anschließend starten wir den Apache-Server einmal neu.

sudo systemctl restart apache2

Mit folgendem Befehl prüfen wir erneut, ob alle Apache-Module korrekt aktiviert sind.

apache2ctl -M

Apache per HTTPS erreichbar machen

Da aktuell die Testseite noch nicht über HTTPS (SSL verschlüsselt) vom Server ausgeliefert wird, müssen wir das SSL-Protokoll aktivieren.

Für unser Projekt reicht das Standard-Zertifikat, welches Ubuntu bei der Installation mitbringt.

Als Erstes soll der Apache das Standard-Zertifikat laden.

sudo a2ensite default-ssl.conf

Anschließend müssen wir den Apache neu laden, damit die SSL-Konfiguration auch geladen wird.

sudo systemctl reload apache2

Jetzt sollte die Testseite auch über HTTPS erreichbar sein. Da es sich hierbei um ein von Ubuntu selbst erstelltes Zertifikat handelt, wird der Browser eine Sicherheitswarnung ausgeben. Du kannst bestätigen, dass dir das bewusst ist und du eine Ausnahme machen willst.

Apache HTTPS Sicherheitsausnahme Firefox bestätigen

SSL und HTTP2 prüfen

Damit später auch Einträge in der .htaccess Datei funktionieren, tragen wir eine Standard-Direktive in die VirtualHost-Dateien und die VirtualHost-Datei für SSL ein.

Diese Direktive muss in beide Dateien am Ende, gleich vor dem schließenden </VirtualHost>-Tag, eingefügt werden.

<Directory /var/www>
    Options -Indexes +FollowSymlinks +Multiviews
    AllowOverride All
    Require all granted
</Directory>

Hier ist die Standard-VirtualHost Konfiguration:

sudo nano /etc/apache2/sites-available/000-default.conf

Hier findest du die VirtualHost für SSL:

sudo nano /etc/apache2/sites-available/default-ssl.conf

Jetzt müssen wir die Apache-Konfiguration erneut neu laden.

sudo systemctl reload apache2

Zum Abschluss prüfen wir noch, ob das HTTP2-Modul geladen wird. Moderne Webserver können die Webseiten über das neuere und schnellere Protokoll ausliefern.

sudo apachectl -M | grep http2

Um das jetzt im Browser zu prüfen, müssen wir die Webdeveloper-Console im Browser aufrufen. Dort können wir unter dem Tab Netzwerkanalyse (Firefox) oder Netzwerk (Chrome) sehen, über welches Protokoll die HTML-Seite geladen wird. Sollte die Spalte Protokoll nicht angezeigt werden, können weitere Spalten über einen Rechtsklick auf eine Tabellenüberschrift ausgewählt werden.

Apache HTTP2 Protokoll Browser Entwicklerkonsole prüfen

Freigabe des WWW-Verzeichnisses einrichten

Zum Schluss richten wir noch das Apache-Verzeichnis für die Webseiten als Samba-Freigabe ein, damit wir ganz komfortabel über das Netzwerk an die Dateien der Webseiten kommen.

Die Konfigurationsdatei des Samba-Servers aufrufen:

sudo nano /etc/samba/smb.conf

Am Ende der Datei fügen wir eine weitere Freigabe ein. Diese nennen wir einfach „webseiten“. Den folgenden Code an das Ende der Konfigurationsdatei anfügen.

[webseiten]
comment = Webseiten
path = /var/www/html
writeable = yes
browseable = yes
force group = www-data
force user = www-data
create mask = 0644
directory mask = 0755
guest ok = yes

Nun kannst du die Datei mit Strg + O wieder speichern, und den Editor mit Strg + X verlassen. Zum Schluss muss der Samba-Server einmal neu gestartet werden, damit die Änderungen wirksam werden.

sudo systemctl restart smbd.service

Damit wir die Dateien in unserem HTML-Ordner schreiben können, müssen wir die Besitzrechte richtig setzen:

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

Zum Test rufen wir jetzt freigegebene Ordner unseres Servers mit dem Windows-Explorer auf. Wenn alles geklappt hat, sehen wir unsere zwei freigegebenen Ordner und können auch darauf zugreifen.

Samba-Freigabe Webseiten im Windows-Explorer

Abschluss Installation Apache Webserver

Damit haben wir unseren Apache-Webserver fertig installiert. Im dritten Teil des Projektes geht es dann um die Installation und Konfiguration des Datenbank-Servers MariaDB.

Weiter geht's mit Teil 3 – Installation MariaDB und Freigaben.

Wie hat dir dieser Beitrag gefallen?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Hier schreibt: Thomas

Hier schreibt: Thomas

Ich heiße Thomas und bin Inhaber einer Agentur für eCommerce und Online Marketing. Zusätzlich interessiere ich mich für CMS Systeme, Wordpress, Drupal, Grafik und Multimedia. Ihr findet mich auf Twitter und Facebook. Über einen Kommentar zu diesem Beitrag würde ich mich freuen.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Blog via E-Mail abonnieren

Gib Deine E-Mail-Adresse an, um diesen Blog zu abonnieren und Benachrichtigungen über neue Beiträge via E-Mail zu erhalten.

Schließe dich 2.594 anderen Abonnenten an

In eigener Sache

Mit einem Stern (*) markierten Links sind Affiliate-Links. Wenn du einen Kauf über diese Links tätigst, bekomme ich eine Provision und du unterstützt aktiv diesen Blog. Für dich ändert sich der Preis nicht.

Wichtig: Ich empfehle nur Produkte, die ich selbst verwende und/oder von denen ich überzeugt bin. Vielen Dank für deine Unterstützung!