So konfigurieren Sie den Apache-Webserver auf einem Ubuntu- oder Debian-VPS

Einführung

Apache ist ein weitverbreiteter, kostenfreier und Open-Source-Webserver, der eine Vielzahl von Webseiten und Anwendungen im Internet betreibt. Er zeichnet sich durch seine hohe Leistungsfähigkeit, Zuverlässigkeit und Anpassungsfähigkeit aus, was ihn zu einer beliebten Wahl für die Bereitstellung von Webinhalten macht. Diese ausführliche Anleitung führt Sie durch die Einrichtung des Apache-Webservers auf einem virtuellen privaten Server (VPS) unter Ubuntu oder Debian. Wir behandeln die Installation, Konfiguration, Verwaltung von virtuellen Hosts und Sicherheitsvorkehrungen, um die optimale Performance Ihres Apache-Servers zu garantieren.

Vorbedingungen

  • Ein Ubuntu- oder Debian-VPS mit Root-Zugriff
  • Ein Texteditor wie nano oder vim
  • Grundlegendes Wissen über die Linux-Befehlszeile

Installation

Ubuntu:


sudo apt update
sudo apt install apache2

Debian:


sudo apt-get update
sudo apt-get install apache2

Konfiguration

1. Apache-Konfigurationsdatei bearbeiten

Die zentrale Konfigurationsdatei von Apache befindet sich unter /etc/apache2/apache2.conf. Nutzen Sie Ihren bevorzugten Texteditor, um diese zu bearbeiten:


sudo nano /etc/apache2/apache2.conf

2. Port definieren

Standardmäßig lauscht Apache auf Port 80. Um einen anderen Port zu verwenden, suchen Sie die Zeile:


Listen 80

und ändern Sie diese zu:


Listen <neuer_port>

3. ServerName setzen

Der ServerName spezifiziert den vollständig qualifizierten Domainnamen Ihres Servers. Finden Sie die Zeile:


ServerName localhost

und tauschen Sie “localhost” mit dem tatsächlichen Domainnamen Ihres Servers aus.

4. ServerRoot festlegen

ServerRoot definiert das Hauptverzeichnis des Apache-Webservers. Um es zu verändern, suchen Sie die Zeile:


ServerRoot "/etc/apache2"

und passen Sie diese wie folgt an:


ServerRoot "<neues_stammverzeichnis>"

5. Dokumentenwurzelverzeichnis festlegen

Das Dokumentenwurzelverzeichnis bezeichnet den Speicherort der Webinhalte, die von Apache bereitgestellt werden. Suchen Sie die Zeile:


DocumentRoot /var/www/html

und ersetzen Sie diese durch:


DocumentRoot "<neues_dokumentenstammverzeichnis>"

Verwaltung von Virtual Hosts

Virtual Hosts ermöglichen Ihnen das Hosting mehrerer Webseiten auf ein und demselben Apache-Server.

1. Virtual Host-Datei erstellen

Erstellen Sie eine neue Datei im Ordner “/etc/apache2/sites-available“:


sudo nano /etc/apache2/sites-available/<domain_name>.conf

2. Konfiguration des Virtual Hosts

Fügen Sie die folgende Konfiguration in die Datei ein und passen Sie diese an Ihren Domainnamen an:


<VirtualHost *:80>
ServerName <domain_name>
DocumentRoot /var/www/<domain_name>/public_html
</VirtualHost>

3. Virtual Host aktivieren

Aktivieren Sie den Virtual Host durch Erstellung eines symbolischen Links im Ordner “/etc/apache2/sites-enabled“:


sudo ln -s /etc/apache2/sites-available/<domain_name>.conf /etc/apache2/sites-enabled/<domain_name>.conf

Sicherheitsmaßnahmen

1. Mod_Security aktivieren

Mod_Security ist eine Open-Source-Web Application Firewall, die vor typischen Webangriffen schützt. Aktivieren Sie diese, indem Sie die folgende Zeile in “/etc/apache2/apache2.conf“ finden und die Kommentarzeichen entfernen:


#Include /etc/modsecurity/modsecurity.conf

2. SSL-Verschlüsselung einrichten

SSL-Verschlüsselung schützt die Daten, die zwischen Ihrem Webserver und den Clients ausgetauscht werden. Erstellen Sie ein selbstsigniertes Zertifikat oder besorgen Sie sich ein SSL-Zertifikat von einer Zertifizierungsstelle. Konfigurieren Sie anschließend Apache für HTTPS:


<VirtualHost *:443>
ServerName <domain_name>
DocumentRoot /var/www/<domain_name>/public_html
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/<domain_name>.crt
SSLCertificateKeyFile /etc/apache2/ssl/<domain_name>.key
</VirtualHost>

Dienste verwalten

1. Apache neu starten

Nachdem Sie Änderungen vorgenommen haben, starten Sie Apache neu, damit die Änderungen wirksam werden:


sudo systemctl restart apache2

2. Apache aktivieren/deaktivieren

Aktivieren Sie Apache, damit er bei jedem Systemstart automatisch hochfährt:


sudo systemctl enable apache2

Deaktivieren Sie Apache, damit er nicht bei jedem Systemstart automatisch hochfährt:


sudo systemctl disable apache2

Fazit

In dieser Anleitung haben wir Ihnen schrittweise die Konfiguration des Apache-Webservers auf einem Ubuntu- oder Debian-VPS erklärt. Wir haben die Installation, Konfiguration, die Verwaltung von Virtual Hosts und Sicherheitsmaßnahmen behandelt. Befolgen Sie unsere Anweisungen gründlich, um einen optimalen und sicheren Apache-Server für die Bereitstellung Ihrer Webinhalte einzurichten. Denken Sie daran, Ihre Konfigurationen regelmäßig zu überprüfen und zu aktualisieren, um die Sicherheit und Leistung Ihres Servers zu gewährleisten.

Häufig gestellte Fragen (FAQ)

1. Wie setze ich die Apache-Konfigurationsdatei zurück?

Kopieren Sie die originale Datei von “/etc/apache2/apache2.conf.default” zurück nach “/etc/apache2/apache2.conf”:


sudo cp /etc/apache2/apache2.conf.default /etc/apache2/apache2.conf

2. Wie zeige ich Apache-Logs an?

Die Apache-Logs finden Sie im Ordner “/var/log/apache2”. Um die Zugriffsprotokolle anzuzeigen, nutzen Sie:


sudo tail -f /var/log/apache2/access.log

3. Wie überprüfe ich den aktuellen Status von Apache?

Verwenden Sie den folgenden Befehl, um den Apache-Status zu sehen:


sudo systemctl status apache2

4. Wie debugge ich den Apache-Dienst?

Aktivieren Sie das Debug-Logging, indem Sie die entsprechende Zeile in “/etc/apache2/apache2.conf“ finden und die Kommentarzeichen entfernen:


#LogLevel warn

Setzen Sie diese auf “debug”, um detailreichere Protokollinformationen zu erhalten.

5. Wie finde ich die Apache-Version heraus?

Verwenden Sie den folgenden Befehl, um die Apache-Version anzuzeigen:


sudo apache2 -v

6. Wie aktiviere ich Mod-Rewrite?

Mod-Rewrite ist ein Apache-Modul, das die URL-Umschreibung ermöglicht. Aktivieren Sie dieses, indem Sie die folgende Zeile in “/etc/apache2/apache2.conf“ finden und die Kommentarzeichen entfernen:


#LoadModule rewrite_module modules/mod_rewrite.so

7. Wie konfiguriere ich eine eigene Fehlerseite?

Erstellen Sie eine personalisierte Fehlerseite (z.B. “/var/www/html/error.html”) und fügen Sie den folgenden Code in die Apache-Konfigurationsdatei ein:


ErrorDocument 404 /error.html

8. Wie konfiguriere ich Apache für PHP?

Installieren Sie das PHP-Paket und aktivieren Sie das PHP-Modul in Apache:


sudo apt install php
sudo a2enmod php7.4

9. Wie konfiguriere ich Apache für TLS 1.3?

Aktivieren Sie TLS 1.3, indem Sie die entsprechende Zeile in “/etc/apache2/apache2.conf“ finden und die Kommentarzeichen entfernen:


#SSLProtocol all -SSLv2

Ersetzen Sie diese mit:


SSLProtocol all -SSLv2 -TLSv1 -TLSv1.1

10. Wie konfiguriere ich Apache für HTTP/2?

Aktivieren Sie HTTP/2, indem Sie die entsprechende Zeile in “/etc/apache2/apache2.conf“ finden und die Kommentarzeichen entfernen:


#Protocols h2 http/1.1

Ersetzen Sie diese mit:


Protocols h2 h2 http/1.1