Apache HTTP Server, bekannt als Apache, ist ein freier und offener Webserver, der von der Apache Software Foundation entwickelt wurde. Seit seiner Einführung in den frühen 1990er Jahren war Apache lange Zeit der dominierende Webserver im Internet aufgrund seiner Modularität, Flexibilität und Zuverlässigkeit. Er unterstützt eine breite Palette von Funktionen, einschließlich virtueller Hosts, SSL/TLS und eines flexiblen Konfigurationssystems. Apache ist für verschiedene Betriebssysteme verfügbar, einschließlich UNIX, Linux und Windows. In diesem Artikel werden wir die Installation von Apache auf Debian 11 untersuchen. Die Anleitung gilt auch für frühere Versionen wie Debian 10 und spätere Versionen wie Debian 12.
Wenn Sie unserem Kurs zur Installation von WordPress auf einem Debian 11 Server ohne Kontrollpanel folgen und bereits nginx installiert haben, sollten Sie zuerst nginx stoppen:
sudo systemctl stop nginx
Nun können Sie mit der Installation von Apache beginnen.
Hier ist die schrittweise Anleitung zur Installation von Apache auf Debian 11:
Schritt 1. Systemupdate
Aktualisieren Sie zuerst die Liste der verfügbaren Pakete:
sudo apt update
Schritt 2: Installation von Apache
sudo apt install apache2
Schritt 3. Apache auf Debian 11 starten
sudo systemctl start apache2
Schritt 4. Überprüfen des Apache-Status
sudo systemctl status apache2
Wenn alles erfolgreich war, sehen Sie die Meldung „active (running)“.
Schritt 5: Konfiguration der Firewall
Erlauben Sie den Apache-Verkehr mit UFW. Führen Sie dazu den Befehl aus:
sudo ufw allow 'WWW Full'
Schritt 6: Überprüfung der Apache-Funktionalität
Öffnen Sie in Ihrem Browser die IP Ihres Servers oder Ihre Domain. Für unseren Kurs verwenden wir die Subdomain http://test.friendhosting.net
Wenn alles in Ordnung ist, sollten Sie die Standardseite „Apache2 Debian Default Page“ sehen.
Schritt 7: Erstellen eines Verzeichnisses für Ihre Website
Um das Wurzelverzeichnis für den virtuellen Host test.friendhosting.net zu erstellen, führen Sie den Befehl im Terminal aus:
sudo mkdir -p /var/www/test.friendhosting.net
Nach Ausführung dieses Befehls wird das Verzeichnis test.friendhosting.net im Verzeichnis /var/www/ erstellt, sowie alle notwendigen übergeordneten Verzeichnisse auf dem Weg, falls sie noch nicht erstellt wurden.
Um die richtigen Berechtigungen zu setzen, führen Sie den Befehl aus:
sudo chown -R www-data:www-data /var/www/test.friendhosting.net
Die Ausführung dieses Befehls ändert den Besitzer und die Gruppe für das Verzeichnis /var/www/test.friendhosting.net und alle seine Unterverzeichnisse und Dateien auf www-data. Dies geschieht, damit der Webserver ordnungsgemäß mit dem Inhalt dieses Verzeichnisses arbeiten kann, mit den Rechten zum Lesen, Schreiben oder Ausführen von Operationen, je nach Konfiguration.
Schritt 8: Konfiguration des Virtual Hosts Apache in Debian 11
Virtuelle Hosts ermöglichen es Ihrem Apache-Webserver, Anfragen zu empfangen und verschiedene Domänen zu bedienen, als ob Sie mehrere Webserver auf einem einzigen physischen Server hätten.
Apache hat ein Verzeichnis sites-available, in dem die verfügbaren Konfigurationen für virtuelle Hosts gespeichert sind. Für jede Website ist eine separate Datei erforderlich. Erstellen Sie eine Konfigurationsdatei für Ihre Website. Als Beispiel verwenden wir test.friendhosting.net
sudo nano /etc/apache2/sites-available/test.friendhosting.net.conf
Fügen Sie die folgende Konfiguration hinzu:
<VirtualHost *:80> ServerAdmin [email protected] ServerName test.friendhosting.net ServerAlias www.test.friendhosting.net DocumentRoot /var/www/test.friendhosting.net/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Jede Direktive in der Konfiguration eines virtuellen Hosts von Apache hat ihre eigene Rolle und ist wichtig für die richtige Einstellung des Hostings für eine Webseite. Hier ist eine detaillierte Beschreibung jeder von ihnen:
ServerAdmin gibt die E-Mail-Adresse des Website-Administrators an. Diese Adresse wird oft auf Fehlerseiten des Servers angezeigt, damit Besucher technische Probleme melden können. Im Beispiel [email protected] ist dies die Adresse, an die Informationen über Probleme gesendet werden.
ServerName legt die Hauptdomain fest, die vom virtuellen Host bedient wird. Wenn Apache eine Anfrage erhält, verwendet es den Wert von ServerName, um zu bestimmen, welcher virtuelle Host verwendet werden soll. Der Wert test.friendhosting.net zeigt an, dass dieser virtuelle Host auf Anfragen für diese Domain reagieren wird.
ServerAlias definiert zusätzliche Domains, die von diesem virtuellen Host verarbeitet werden. Dies ermöglicht es einem einzigen virtuellen Host, auf Anfragen für verschiedene Domainnamen zu reagieren. In diesem Fall ist www.test.friendhosting.net ein Alias, und der virtuelle Host wird auch Anfragen an die www-Version der Domain verarbeiten.
DocumentRoot legt das Verzeichnis fest, in dem die Website-Dateien gespeichert sind. Dies ist das Stammverzeichnis, von dem aus Apache den Inhalt für den virtuellen Host bereitstellen wird. Im Beispiel ist /var/www/test.friendhosting.net/ der Ordner, in dem alle Website-Dateien wie HTML, CSS, JavaScript und Bilder liegen werden.
ErrorLog legt den Pfad zur Datei fest, in der Fehlermeldungen des Servers geschrieben werden. Dieses Log enthält detaillierte Informationen über alle Fehler, die auf dem Server aufgetreten sind, und wird oft zur Diagnose von Problemen verwendet. In diesem Beispiel verwendet ${APACHE_LOG_DIR}/error.log die Umgebungsvariable APACHE_LOG_DIR, die üblicherweise als /var/log/apache2 definiert wird.
CustomLog gibt den Pfad zur Zugriffslogdatei an, in der Informationen über jede Anfrage an den Server geschrieben werden. Dies beinhaltet Details wie die IP-Adresse des Besuchers, die angeforderte URL, die Zeit der Anfrage und den Statuscode der Serverantwort. Die Direktive ‚combined‘ am Ende bedeutet, dass das kombinierte Logformat verwendet wird, welches ein weit akzeptierter Standard ist und nützliche Informationen enthält, wie den Referrer (woher der Benutzer kam) und Informationen über den User-Agent (welcher Browser verwendet wurde).
Es ist nun an der Zeit, Ihren virtuellen Host zu aktivieren. Führen Sie dazu den folgenden Befehl aus:
sudo a2ensite test.friendhosting.net
Deaktivieren Sie jetzt den Standard-Virtualhost. Führen Sie dazu den folgenden Befehl aus:
sudo a2dissite 000-default.conf
Starten Sie Apache neu:
sudo systemctl restart apache2
Erstellen wir index.html im Wurzelverzeichnis unserer Website. Führen Sie den Befehl aus:
sudo nano /var/www/test.friendhosting.net/index.html
und kopieren Sie den folgenden Text hinein:
Virtual host test.friendhosting.net is working.
Jetzt, wenn Sie in Ihrem Browser unsere Domain http://test.friendhosting.net öffnen, sollten Sie die Standardseite sehen:
Das ist die grundlegende Anleitung zur Installation und Konfiguration von Apache auf Debian 11. Es gibt viele zusätzliche Einstellungen und Optimierungen, die Sie durchführen können, um den Server optimal an Ihre Bedürfnisse anzupassen.