Apache HTTPD installieren

LinuxBeginner
Jetzt üben

Einführung

Der Apache HTTP Server (oft einfach Apache genannt) ist eine weit verbreitete Webserver-Software. Er spielte eine wichtige Rolle beim Wachstum des frühen Webs und ist weiterhin ein bedeutender Bestandteil der Linux-Administration.

Apache wurde vor allem aufgrund seiner langen Geschichte, seines umfangreichen Modul-Ökosystems und seines flexiblen Konfigurationsmodells besonders einflussreich. Viele Linux-Systeme, Tutorials und ältere Anwendungen sind nach wie vor stark darauf angewiesen.

Diese lange Verbreitung ist wichtig, weil Sie im praktischen Betrieb häufig Apache-basierte Systeme übernehmen werden, selbst wenn sich neuere Projekte für andere Webserver entscheiden.

Sie können sich einen Webserver wie eine Bibliothekarin oder einen Bibliothekar vorstellen:

  • Die Bibliothek ist Ihr Server.
  • Die Bücher sind Ihre Dateien (HTML-Seiten, Bilder usw.).
  • Die Bibliothekarin bzw. der Bibliothekar ist Apache.

Wenn jemand Ihre Website besucht, bittet diese Person die Bibliothekarin oder den Bibliothekar um ein bestimmtes Buch. Apache sucht die Datei und übergibt sie der anfragenden Person.

In diesem Lab werden Sie:

  1. Apache installieren: Die Software auf Ihrem System installieren.
  2. Den Dienst starten: Den Server einschalten, damit er Anfragen verarbeiten kann.
  3. Das Document Root untersuchen: Herausfinden, wo die Website-Dateien gespeichert sind.
  4. Eine eigene Seite bereitstellen: Ihre eigene „Hello World“-Webseite erstellen.

Dieses Lab ist für vollständige Anfängerinnen und Anfänger konzipiert. Vorkenntnisse sind nicht erforderlich.

Apache HTTP Server installieren

In diesem Schritt installieren Sie die Apache-Webserver-Software.

Auf Ubuntu- und Debian-basierten Systemen heißt das Apache-Paket apache2. In anderen Distributionen wie CentOS oder RHEL wird es häufig httpd genannt. Da diese Umgebung Ubuntu verwendet, nutzen wir apache2.

Führen Sie den folgenden Befehl aus, um Apache zu installieren:

Wie bei Nginx erhalten Sie durch die Installation des Pakets die Software und die standardmäßigen Konfigurationsdateien. Dadurch ist jedoch nicht automatisch bewiesen, dass der Server bereits läuft und Anfragen korrekt verarbeitet.

sudo apt install apache2 -y
  • sudo: Führt den Befehl mit administrativen Rechten aus.
  • apt install: Der Befehl zum Installieren von Paketen.
  • -y: Beantwortet Rückfragen automatisch mit „yes“.

Überprüfen Sie nach Abschluss der Installation die installierte Version, um sicherzustellen, dass der Vorgang erfolgreich war:

apache2 -v

Sie sollten eine Ausgabe ähnlich wie Server version: Apache/2.4.x sehen. Das bestätigt, dass Apache installiert ist.

Den Apache-Dienst starten

Nachdem Apache installiert ist, müssen Sie den Dienst starten. Die Installation der Software startet den Webserver-Prozess nicht automatisch.

Dies entspricht dem Unterschied zwischen installierter Software und einem laufenden Dienst, den Sie bereits bei anderen Daemons kennengelernt haben. Ein Serverpaket kann auf dem Datenträger vorhanden sein, während kein Prozess aktiv auf HTTP-Datenverkehr wartet.

Starten Sie den Apache-Dienst mit dem Befehl service:

sudo service apache2 start

Überprüfen Sie anschließend, ob der Dienst läuft:

sudo service apache2 status

Sie sollten eine Meldung sehen, die angibt, dass apache2 is running.

In einer Produktionsumgebung würden Sie Apache normalerweise so konfigurieren, dass der Dienst beim Start des Servers automatisch gestartet wird. Dazu verwenden Sie systemctl enable apache2. In dieser Lab-Umgebung reicht es jedoch aus, den Dienst manuell zu starten.

Das Document Root untersuchen

Apache muss wissen, wo sich Ihre Website-Dateien befinden. Dieser Speicherort wird Document Root genannt.

Unter Ubuntu befindet sich das Document Root standardmäßig unter /var/www/html. Bei der Installation von Apache wurde in diesem Verzeichnis eine standardmäßige HTML-Datei mit dem Inhalt „It works!“ abgelegt.

Das Document Root ist der standardmäßige Ausgangspunkt von Apache für statische Inhalte. Wenn keine spezielle Weiterleitung oder Anwendungslogik beteiligt ist, werden Anfragen normalerweise Dateien in diesem Verzeichnis zugeordnet.

Wechseln Sie in das Document-Root-Verzeichnis:

cd /var/www/html

Listen Sie die Dateien in diesem Verzeichnis auf:

ls -l

Sie sollten eine Datei namens index.html sehen. Diese Datei wird ausgeliefert, wenn Sie die Adresse des Webservers aufrufen.

Eine eigene Webseite bereitstellen

Nun ersetzen Sie die standardmäßige Apache-Seite durch eine eigene Nachricht.

Da /var/www/html dem Benutzer root gehört, müssen Sie sudo verwenden, um Dateien in diesem Verzeichnis zu ändern. Wir verwenden einen einfachen Befehl, um die vorhandene index.html zu überschreiben.

Führen Sie den folgenden Befehl aus, um eine neue Datei index.html mit dem Inhalt „Hello LabEx“ zu erstellen:

echo "Hello LabEx" | sudo tee /var/www/html/index.html
  • echo "Hello LabEx": Erzeugt den Text „Hello LabEx“.
  • |: Leitet diesen Text an den nächsten Befehl weiter.
  • sudo tee ...: Schreibt die empfangenen Eingaben mit Root-Rechten in die angegebene Datei.

Überprüfen Sie den Dateiinhalt:

cat /var/www/html/index.html

Testen Sie abschließend Ihren Webserver, indem Sie eine Anfrage an localhost (Ihren eigenen Computer) senden:

curl localhost

In der Ausgabe sollte Hello LabEx erscheinen. Das bestätigt, dass Apache läuft und Ihre eigene Seite ausliefert.

Damit haben Sie dieselbe vollständige Verarbeitungskette wie bei jedem Webdienst überprüft: Das Programm ist installiert, der Daemon läuft, die Dateien liegen im Document Root, und die HTTP-Antwort erreicht den Client.

Zusammenfassung

In diesem Lab haben Sie den Apache HTTP Server erfolgreich installiert und konfiguriert. Sie haben gelernt:

  • Das Paket apache2 unter Ubuntu zu installieren.
  • Den Apache-Dienst zu starten und seinen Status zu überprüfen.
  • In das standardmäßige Document Root /var/www/html zu wechseln.
  • Die standardmäßige index.html durch eigene Inhalte zu ersetzen.

Dies sind die ersten Schritte bei der Administration von Webservern. Sie verfügen nun über einen funktionsfähigen Webserver, der statische Webseiten bereitstellen kann.