Einführung

Der Apache HTTP-Server ist der weltweit am häufigsten verwendete Webserver. Es bietet viele leistungsstarke Funktionen, darunter dynamisch ladbare Module, robuste Medienunterstützung und umfangreiche Integration in andere gängige Software.

In diesem Handbuch erklären wir, wie Sie einen Apache-Webserver auf Ihrem Ubuntu 20.04-Server installieren.

Voraussetzungen

Bevor Sie mit diesem Handbuch beginnen, sollten Sie einen regulären, Nicht-Root-Benutzer mit sudo-Rechten auf Ihrem Server konfiguriert haben., Darüber hinaus müssen Sie eine grundlegende Firewall aktivieren, um nicht wesentliche Ports zu blockieren. Sie können lernen, wie Sie ein reguläres Benutzerkonto konfigurieren und eine Firewall für Ihren Server einrichten, indem Sie unserem Initial Server Setup Guide für Ubuntu 20.04 folgen.

Wenn Sie ein Konto zur Verfügung haben, melden Sie sich als Nicht-Root-Benutzer zu beginnen.

Schritt 1-Apache installieren

Apache ist in den Standard-Software-Repositorys von Ubuntu verfügbar und ermöglicht die Installation mit herkömmlichen Paketverwaltungstools.,

Beginnen wir mit der Aktualisierung des lokalen Paketindex, um die neuesten Upstream-Änderungen widerzuspiegeln:

  • sudo apt update

Installieren Sie dann das apache2 Paket:

  • sudo apt install apache2

Nach Bestätigung der Installation installiert apt Apache und alle erforderlichen Abhängigkeiten.

Schritt 2 – Anpassen der Firewall

Vor dem Testen von Apache müssen die Firewall-Einstellungen geändert werden, um den Zugriff von außen auf die Standard-Webports zu ermöglichen., Angenommen, Sie haben die Anweisungen in den Voraussetzungen befolgt, sollte eine UFW-Firewall konfiguriert sein, um den Zugriff auf Ihren Server einzuschränken.

Während der Installation registriert sich Apache bei UFW, um einige Anwendungsprofile bereitzustellen, mit denen der Zugriff auf Apache über die Firewall aktiviert oder deaktiviert werden kann.,>

Sie erhalten eine Liste der Anwendungsprofile:

Output
Available applications: Apache Apache Full Apache Secure OpenSSH

Wie in der Ausgabe angegeben, stehen für Apache drei Profile zur Verfügung:

  • Apache: Dieses Profil öffnet nur Port 80 (normaler, unverschlüsselter Webverkehr)
  • Apache Full: Dieses Profil öffnet sowohl Port 80 (normaler, unverschlüsselter Webverkehr) als auch Port 443 (TLS/SSL-verschlüsselter Datenverkehr)
  • Apache Sicher: Dieses Profil öffnet nur Port 443 (TLS/SSL-verschlüsselter Datenverkehr)

Es wird empfohlen, das restriktivste Profil zu aktivieren, das den von Ihnen konfigurierten Datenverkehr weiterhin zulässt., Da wir SSL für unseren Server in diesem Handbuch noch nicht konfiguriert haben, müssen wir nur den Datenverkehr auf Port 80 zulassen:

  • sudo ufw allow 'Apache'

Sie können die Änderung überprüfen, indem Sie Folgendes eingeben:

  • sudo ufw status

Die Ausgabe enthält eine Liste des zulässigen HTTP-Datenverkehrs:

Wie in der Ausgabe angegeben, wurde das Profil aktiviert, um den Zugriff auf den Apache-Webserver zu ermöglichen.

Schritt 3-Überprüfen Ihres Webservers

Am Ende des Installationsprozesses startet Ubuntu 20.04 Apache. Der Webserver sollte bereits in Betrieb sein.,

Überprüfen Sie mit dem systemd Init-System, ob der Dienst ausgeführt wird, indem Sie Folgendes eingeben:

  • sudo systemctl status apache2

Wie durch diese Ausgabe bestätigt, wurde der Dienst erfolgreich gestartet. Der beste Weg, dies zu testen, besteht jedoch darin, eine Seite von Apache anzufordern.

Sie können auf die standardmäßige Apache-Zielseite zugreifen, um zu bestätigen, dass die Software über Ihre IP-Adresse ordnungsgemäß ausgeführt wird. Wenn Sie die IP-Adresse Ihres Servers nicht kennen, können Sie sie auf verschiedene Arten über die Befehlszeile abrufen.,

Versuchen Sie, dies an der Eingabeaufforderung Ihres Servers einzugeben:

  • hostname -I

Sie erhalten einige durch Leerzeichen getrennte Adressen zurück. Sie können jeden in Ihrem Webbrowser ausprobieren, um festzustellen, ob er funktioniert.,

Eine weitere Option ist die Verwendung des Icanhazip-Tools, mit dem Sie Ihre öffentliche IP-Adresse von einem anderen Ort im Internet lesen können:

  • curl -4 icanhazip.com

Wenn Sie die IP-Adresse Ihres Servers haben, geben Sie sie in die Adressleiste Ihres Browsers ein:

You should see the default Ubuntu 20.04 Apache web page:

This page indicates that Apache is working correctly. It also includes some basic information about important Apache files and directory locations.

Step 4 — Managing the Apache Process

Now that you have your web server up and running, let’s go over some basic management commands using systemctl.

To stop your web server, type:

  • sudo systemctl stop apache2

Um den Webserver beim Stoppen zu starten, geben Sie Folgendes ein:

  • sudo systemctl start apache2

Um den Dienst zu stoppen und dann erneut zu starten, geben Sie Folgendes ein:

  • sudo systemctl restart apache2

Wenn Sie lediglich Konfigurationsänderungen vornehmen, kann Apache häufig neu laden, ohne Verbindungen abzulegen., Verwenden Sie dazu diesen Befehl:

  • sudo systemctl reload apache2

Apache ist standardmäßig so konfiguriert, dass es beim Booten des Servers automatisch gestartet wird. Wenn Sie dies nicht möchten, deaktivieren Sie dieses Verhalten, indem Sie Folgendes eingeben:

  • sudo systemctl disable apache2

Um den Dienst beim Booten erneut zu aktivieren, geben Sie Folgendes ein:

  • sudo systemctl enable apache2

Apache sollte jetzt automatisch starten, wenn der Server erneut startet.,

Schritt 5 – Einrichten virtueller Hosts (empfohlen)

Wenn Sie den Apache-Webserver verwenden, können Sie virtuelle Hosts (ähnlich wie Serverblöcke in Nginx) verwenden, um Konfigurationsdetails zu kapseln und mehr als eine Domäne von einem einzelnen Server aus zu hosten. Wir werden eine Domain namens your_domain einrichten, aber Sie sollten diese durch Ihren eigenen Domainnamen ersetzen. Wenn Sie einen Domainnamen mit DigitalOcean einrichten, lesen Sie bitte unsere Netzwerkdokumentation.

Apache auf Ubuntu 20.,04 standardmäßig ist ein Serverblock aktiviert, der für die Bereitstellung von Dokumenten aus dem Verzeichnis /var/www/html konfiguriert ist. Dies funktioniert zwar gut für eine einzelne Site, kann jedoch unhandlich werden, wenn Sie mehrere Sites hosten. Anstatt /var/www/html zu ändern, erstellen wir eine Verzeichnisstruktur innerhalb von /var/www für eine your_domain-Site und lassen /var/www/html als Standardverzeichnis, das bereitgestellt werden soll, wenn eine Clientanforderung nicht mit anderen Sites übereinstimmt.,

Erstellen Sie das Verzeichnis für your_domain wie folgt:

  • sudo mkdir /var/www/your_domain

Weisen Sie als nächstes den Besitz des Verzeichnisses mit der Umgebungsvariablen $USER zu:

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

Die Berechtigungen Ihrer Webroots sollten korrekt sein, wenn Sie Ihren umask-Wert nicht geändert haben, der Standarddateiberechtigungen festlegt., Um sicherzustellen, dass Ihre Berechtigungen korrekt sind und der Eigentümer die Dateien lesen, schreiben und ausführen kann, während er nur Lese-und Ausführungsberechtigungen für Gruppen und andere erteilt, können Sie den folgenden Befehl eingeben:

  • sudo chmod -R 755 /var/www/your_domain

Erstellen Sie als nächstes ein Beispiel index.html Seite mit nano oder Ihrem bevorzugten Editor:

  • sudo nano /var/www/your_domain/index.html

Fügen Sie im Inneren das folgende Beispiel-HTML hinzu:

/var/www/your_domain/index.html
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body></html>

Speichern und schließen Sie die Datei, wenn Sie fertig sind.,

Damit Apache diesen Inhalt bereitstellen kann, muss eine virtuelle Hostdatei mit den richtigen Anweisungen erstellt werden. Anstatt die Standardkonfigurationsdatei unter /etc/apache2/sites-available/000-default.conf direkt zu ändern, erstellen wir eine neue unter /etc/apache2/sites-available/your_domain.conf:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

Fügen Sie sie in den folgenden Konfigurationsblock ein, der dem Standard ähnelt, aber für unser neues Verzeichnis und unseren neuen Domainnamen aktualisiert wurde:

/etc/apache2/sites-available/your_domain.,conf

Beachten Sie, dass wir die DocumentRoot in unser neues Verzeichnis und ServerAdmin in eine E-Mail aktualisiert haben, auf die der Administrator der your_domain-Site zugreifen kann. Wir haben auch zwei Direktiven hinzugefügt: ServerName, die die Basisdomäne festlegt, die mit dieser Definition des virtuellen Hosts übereinstimmen soll, und ServerAlias, die weitere Namen definiert, die übereinstimmen sollten, als wären sie der Basisname.

Speichern und schließen Sie die Datei, wenn Sie fertig sind.,

Lassen Sie uns die Datei mit dem Werkzeug a2ensite aktivieren:

  • sudo a2ensite your_domain.conf

Deaktivieren Sie die in 000-default.confdefinierte Standard-Site:

  • sudo a2dissite 000-default.conf

Als nächstes testen wir auf Konfigurationsfehler:

  • sudo apache2ctl configtest

Sie sollten die folgende Ausgabe erhalten:

Output
Syntax OK

Starten Sie Apache neu, um Ihre Änderungen zu implementieren:

  • sudo systemctl restart apache2

Apache sollte jetzt Ihren Domainnamen bereitstellen., Sie können dies testen, indem Sie zu navigieren, wo Sie Folgendes sehen sollten:

Schritt 6 – Sich mit wichtigen Apache-Dateien und-Verzeichnissen vertraut machen

Nachdem Sie nun wissen, wie Sie den Apache-Dienst selbst verwalten, sollten Sie sich einige Minuten Zeit nehmen, um sich mit einigen wichtigen Verzeichnissen und Dateien vertraut zu machen.,

Inhalt

  • /var/www/html: Der tatsächliche Webinhalt, der standardmäßig nur aus der Standard-Apache-Seite besteht, die Sie zuvor gesehen haben, wird aus dem Verzeichnis /var/www/html bereitgestellt. Dies kann durch Ändern der Apache-Konfigurationsdateien geändert werden.

Serverkonfiguration

  • /etc/apache2: Das Apache-Konfigurationsverzeichnis. Alle Apache-Konfigurationsdateien befinden sich hier.
  • /etc/apache2/apache2.conf: Die Apache-Hauptkonfigurationsdatei. Dies kann geändert werden, um Änderungen an der globalen Apache-Konfiguration vorzunehmen., Diese Datei ist für das Laden vieler anderer Dateien im Konfigurationsverzeichnis verantwortlich.
  • /etc/apache2/ports.conf: Diese Datei gibt die Ports an, die Apache abhören wird. Standardmäßig hört Apache auf Port 80 und zusätzlich auf Port 443, wenn ein Modul mit SSL-Funktionen aktiviert ist.
  • /etc/apache2/sites-available/: Das Verzeichnis, in dem virtuelle Hosts pro Site gespeichert werden können. Apache verwendet die in diesem Verzeichnis gefundenen Konfigurationsdateien nur, wenn sie mit dem Verzeichnis sites-enabled verknüpft sind., In der Regel werden alle Serverblockkonfigurationen in diesem Verzeichnis durchgeführt und dann durch Verknüpfung mit dem anderen Verzeichnis mit dem Befehl a2ensite aktiviert.
  • /etc/apache2/sites-enabled/: Das Verzeichnis, in dem aktivierte virtuelle Hosts pro Site gespeichert sind. In der Regel werden diese durch Verknüpfen mit Konfigurationsdateien im Verzeichnis sites-available mit der a2ensiteerstellt. Apache liest die Konfigurationsdateien und Links, die sich in diesem Verzeichnis befinden, wenn es gestartet oder neu geladen wird, um eine vollständige Konfiguration zu kompilieren.,
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: Diese Verzeichnisse haben die gleiche Beziehung wie die Verzeichnisse sites-available und sites-enabled, werden jedoch zum Speichern von Konfigurationsfragmenten verwendet, die nicht zu einem virtuellen Host gehören. Dateien im Verzeichnis conf-available können mit dem Befehl a2enconf aktiviert und mit dem Befehl a2disconf deaktiviert werden.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: Diese Verzeichnisse enthalten die verfügbaren und aktivierten Module, respectively., Dateien mit der Endung .load enthalten Fragmente zum Laden bestimmter Module, während Dateien mit der Endung .conf die Konfiguration für diese Module enthalten. Module können mit dem Befehl und a2dismod aktiviert und deaktiviert werden.

Serverprotokolle

  • /var/log/apache2/access.log: Standardmäßig wird jede Anforderung an Ihren Webserver in dieser Protokolldatei aufgezeichnet, sofern Apache nicht anders konfiguriert ist.
  • /var/log/apache2/error.log: Standardmäßig werden alle Fehler in dieser Datei aufgezeichnet., DieLogLevel – Direktive in der Apache-Konfiguration gibt an, wie viele Details die Fehlerprotokolle enthalten.

Schlussfolgerung

Nachdem Sie Ihren Webserver installiert haben, haben Sie viele Optionen für die Art des Inhalts, den Sie bereitstellen können, und die Technologien, mit denen Sie eine reichhaltigere Erfahrung erstellen können.

Wenn Sie einen vollständigeren Anwendungsstapel erstellen möchten, können Sie diesen Artikel zum Konfigurieren eines LAMP-Stacks unter Ubuntu 20.04 lesen

Schreibe einen Kommentar

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