Ubuntu: Apache-Webserver installieren

Häufig wird Apache in Verbindung mit Linux-Systemen eingesetzt. Insbesondere Ubuntu ist durch die starke Community und Dokumentation ideal für die Installation des Webservers. Wir erklären Ihnen alle Schritte, mit denen Sie unter Ubuntu Apache installieren und einrichten können.

Apache unter Ubuntu: Das sind die Voraussetzungen

Apache ist einer der ältesten und stabilsten Webserver. Seine Popularität verdient er seiner Skalierbarkeit und einfachen Konfiguration. Für die Installation von Apache unter Ubuntu 22.04 gibt es keine spezifischen Anforderungen an den Prozessor. Die meisten modernen Prozessoren sollten ausreichen, um Apache unter Ubuntu auszuführen. Ausschlaggebend sind vor allem der verfügbare Arbeitsspeicher und die Speicherkapazität der Festplatte.

Apache verbraucht eine minimale Menge an Systemressourcen und kann auf verschiedenen Arten von Systemen konfiguriert werden, einschließlich Desktop-Computern, Laptops, Servern und virtuellen Maschinen. Wenn Sie eine leistungsfähige Website oder Anwendung hosten möchten, kann es sein, dass mehr Ressourcen erforderlich sind, um eine optimale Leistung zu erzielen. Sie sollten auch daran denken, dass der Einsatz von Modulen die Systemvoraussetzungen möglicherweise erhöht. Wenn Sie beispielsweise ein Modul zur Verbesserung der Performance des Apache Webservers integrieren wollen, benötigt Ihr System zusätzlichen Speicherplatz für Caching und andere Optimierungen.

Um den Apache-Webserver einrichten zu können, sollten folgende Eigenschaften erfüllt werden:

  • Arbeitsspeicher (RAM): 4 Gigabyte
  • Betriebssystem: Ubuntu, Benutzer mit sudo-Zugriffsrechten
  • Festplattenspeicher: 5 Gigabyte
  • Firewall: für HTTP-Datenverkehr und zum Blockieren nicht notwendiger Ports
  • Internetverbindung: zum Downloaden von Paketen
Tipp

Mit Linux Hosting bei IONOS profitieren Sie von unbegrenztem Traffic, schnellster Performance und höchsten Sicherheitsstandards. Etablieren Sie noch heute Ihre Onlinepräsenz mit Linux-Servern von IONOS!

Schritt-für-Schritt-Anleitung: Apache-Installation unter Ubuntu

Ubuntu 22.04 verwendet für die Installation von Apache das Paketverwaltungstool APT. Zuerst sollten Sie den Paketindex auf Ihrem Ubuntu-System aktualisieren, um sicherzustellen, dass alle benötigten Abhängigkeiten auf dem neuesten Stand sind.

Handelt es sich nicht um eine lokale Installation, loggen Sie sich über SSH auf Ihrem Ubuntu-Server ein.

Schritt 1: Aktualisieren der Liste der Pakete

Rufen Sie das Terminal auf und führen Sie ein Update aus.

$ sudo apt update
bash

Schritt 2: Installieren des Apache-Pakets

Als Nächstes installieren Sie das Apache-Paket mit allen dazugehörigen Abhängigkeiten mithilfe des APT-Befehls „install“.

$ sudo apt install apache2
bash

Schritt 3: Firewall-Einstellungen ändern

Für die Konfiguration von Apache muss die Uncomplicated Firewall (UFW) in Ubuntu aktiviert werden. Nachdem Sie unter Ubuntu Apache installiert haben, richtet Apache Anwendungsprofile in UFW ein, mit denen der Datenverkehr zu den Webports geregelt werden kann.

Mit dem folgenden Befehl können Sie die Liste der Anwendungsprofile anzeigen:

$ sudo ufw app list
bash

Die Ausgabe zeigt drei Profile für Apache an:

Linux-Terminal: Liste der Anwendungsprofile für Apache
Terminal: Liste der Anwendungsprofile für Apache
  • Apache: öffnet TCP-Port 80 für HTTP (unverschlüsselte Verbindung)
  • Apache Full: öffnet TCP-Port 80 (HTTP, unverschlüsselt) und 443 (HTTPS, mit TLS/SSL verschlüsselt)
  • Apache Secure: öffnet nur den HTTPS-Port 443 für eine verschlüsselte Verbindung

Da wir noch kein SSL eingerichtet haben, können wir nur Port 80 öffnen.

$ sudo ufw allow 'Apache'
bash

Mit dem Kommando „status“ können Sie überprüfen, ob die korrekte Einstellung vorgenommen wurde.

$ sudo ufw status
bash

Schritt 4: Status von Apache testen

Kontrollieren Sie mit dem Systemmanager „systemd“, ob der Apache-Dienst aktiv ist.

$ sudo systemctl status apache2
bash

Schritt 5: Standardstartseite von Apache aufrufen

Geben Sie Ihre IP-Adresse in die Adresszeile des Browsers ein, um die Standardseite von Apache zu erhalten. Falls Sie Ihre IP-Adresse nicht kennen, können Sie sie etwa mit „hostname“ anzeigen lassen.

$ hostname -I
bash

Sie können auch das icanhazip-Tool verwenden.

$ curl -4 icanhazip.com
bash

Rufen Sie nun die Apache-Standardseite in Ihrem Browser auf und fügen Sie Ihre IP-Adresse anstelle von „server_ip“ ein.

http://server_ip
bash

Hier ist ein Ausschnitt der Seite unter Ubuntu:

Webbrowser: Apache-Startseite unter Ubuntu
Webbrowser: Apache-Startseite unter Ubuntu

Schritt 6: Verwalten des Apache-Daemons

Den Daemon bzw. den Dienst des Apache-Webservers können Sie mit „systemctl“ verwalten.

Starten des Apache-Webservers:

$ sudo systemctl start apache2
bash

Stoppen des Apache-Webservers:

$ sudo systemctl stop apache2
bash

Stoppen und Neustarten des Apache-Webservers:

$ sudo systemctl restart apache2
bash

Neustart von Apache und erneutes Laden der Konfiguration:

$ sudo systemctl reload apache2
bash

Wenn Sie Apache unter Ubuntu installieren, startet der Webserver nach der Einrichtung beim Booten automatisch. Sie können diese Funktion auch deaktivieren:

$ sudo systemctl disable apache2
bash

Um den automatischen Start von Apache beim Booten wieder zu aktivieren, geben Sie folgenden Befehl ein:

$ sudo systemctl enable apache2
bash

Schritt 7: Virtuelle Hosts verwenden

Apache hostet Dokumente standardmäßig in /var/www/html. Um mehrere Domains auf einem Server zu nutzen, können Sie virtuelle Hosts einrichten. Innerhalb von /var/www/ legen wir eine Verzeichnisstruktur für eine eigene Domain an.

$ sudo mkdir /var/www/your_domain
bash

Ersetzen Sie „your_domain“ mit Ihrer Domain.

Weisen Sie die Eigentümerschaft des Verzeichnisses mit der Umgebungsvariable $USER zu:

$ sudo chown -R $USER:$USER /var/www/your_domain
bash

Sie können die Lese-, Schreib- und Ausführungsrechte auch explizit im Oktal-Modus vergeben:

$ sudo chmod -R 755 /var/www/your_domain
bash

Schritt 8: Testseite erstellen

Legen Sie eine index.html als Startseite für Ihre Domain an. Dazu können Sie beispielsweise den Texteditor nano verwenden.

$ sudo nano /var/www/your_domain/index.html
bash

Wählen Sie eine Formulierung und fügen Sie diese in die HTML-Datei ein:

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Here you can see that your_domain virtual host is successfully working!</h1>
    </body>
</html>
html

Schritt 9: Konfigurationsdatei für Virtual Host anlegen

Zum Anzeigen der Beispielseite muss Apache für die Domain entsprechend konfiguriert werden. Erstellen Sie eine eigene Konfigurationsdatei für Ihre Domain und lassen Sie die Standardkonfigurationsdatei von Apache unberührt.

$ /etc/apache2/sites-available/your_domain.conf
bash

Fügen Sie folgenden Block ein und tauschen Sie „your_domain“ mit dem Namen Ihrer Domain aus. Geben Sie außerdem bei „ServerAdmin“ eine E-Mail-Adresse für den Administrator an:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Aktivieren Sie die Konfigurationsdatei mit „a2ensite“:

$ sudo a2ensite your_domain.conf
bash

Deaktivieren Sie die alte Standardseite:

$ sudo a2dissite 000-default.conf
bash

Testen Sie die Konfiguration auf Fehler:

$ sudo apache2ctl configtest
bash

Wenn alles fehlerfrei ist, starten Sie Apache neu:

$ sudo systemctl restart apache2
bash

Navigieren Sie zu Ihrer Startseite:

http://your_domain
bash

Sie sollten nun Ihre Beispielseite sehen können:

Webbrowser: Beispielseite für einen Virtual Host
Webbrowser: Beispielseite für einen Virtual Host

Schritt 10: Wichtige Apache-Dateien und Verzeichnisse

Für eine effiziente Bedienung des Apache-Webservers ist es hilfreich, einige häufig gebrauchte Dateien und Verzeichnisse zu kennen:

  • /var/www/html: In diesem Verzeichnis stellt Apache standardmäßig Dokumente bereit. Dies kann in den Konfigurationsdateien geändert werden.
  • /etc/apache2: Hier werden alle Konfigurationsdateien von Apache aufbewahrt.
  • /etc/apache2/apache2.conf: Dies ist die Hauptkonfigurationsdatei. Damit können Sie die globale Konfiguration ändern.
  • /etc/apache2/ports.conf: In dieser Datei sind die geöffneten Ports gelistet. Dies sind in der Regel Port 80 und/oder Port 443.
  • /etc/apache2/sites-available/: In diesem Ordner befinden sich eingerichtete virtuelle Hosts. Konfigurationsdateien, die hierin abgelegt werden, müssen mit dem Verzeichnis „site-enabled“ verknüpft werden, damit sie funktionieren.
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: Diese Verzeichnisse speichern zusätzliche Konfigurationsdateien, die nicht zu virtuellen Hosts gehören. Die Aktivierung der Konfiguration können Sie mit „a2enconf“ und die Deaktivierung mit „a2disconf“ vornehmen.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: In diesen Verzeichnissen werden verfügbare und aktivierte Module aufbewahrt. Ein Modul kann mit „a2enmod“ aktiviert und mit „a2dismod“ deaktiviert werden.
  • /var/log/apache2/access.log: Diese Logdatei zeichnet alle Anfragen an den Webserver auf.
  • /var/log/apache2/error.log: In dieser Datei werden alle Fehlermeldungen protokolliert. Die LogLevel-Information gibt den Schweregrad der Ereignisse an.
Tipp

Wenn Sie keine Zeit für die Administration und Wartung eines Servers haben, empfehlen wir, einen Managed Server von IONOS zu mieten. Sie müssen kein Linux-Experte bzw. keine Linux-Expertin sein, um einen Managed Server zu betreiben. IONOS übernimmt für Sie alle wichtigen Aufgaben des Servermanagements, inklusive automatischen Backups und Sicherheitskontrollen.