GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Konfigurieren und hosten Sie eine Anwendung auf dem Apache-Webserver unter Linux

In unserem vorherigen Artikel „Installieren des Apache-Webservers unter Linux“ haben wir erklärt, wie Apache auf einem Linux-Rechner installiert wird. In diesem Artikel werden wir uns nun mit der grundlegenden Konfiguration von Apache befassen, die

enthalten wird
  • Apache-Datenverkehr durch die Firewall zulassen
  • Apache-Dienste verwalten
  • Virtuelle Hosts in Apache einrichten
  • Konfigurieren Sie Apache so, dass er auf einem anderen Port lauscht
  • Zugriff von bestimmten IP-Adressen zulassen/verweigern

Voraussetzungen

  • Ubuntu 20.04-System
  • Benutzer mit sudo-Berechtigungen
  • Ein installierter Apache-Webserver

Hinweis: Die in diesem Artikel besprochenen Befehle wurden auf Ubuntu 20.04 LTS getestet (Fokusfossa). Dieselben Befehle gelten auch für die Debian-Distribution.

Apache-Datenverkehr durch die Firewall zulassen

Wenn auf Ihrem Betriebssystem eine Firewall aktiviert ist, müssen Sie Apache-Datenverkehr durchlassen. Der Apache-Server lauscht standardmäßig auf Port 80 für HTTP und 443 für https. Um HTTP-Datenverkehr (Port 80) durch die Firewall zuzulassen, führen Sie den folgenden Befehl im Terminal aus:

$ sudo ufw erlaubt 'Apache'

Um HTTPS-Datenverkehr (Port 443) durch die Firewall zuzulassen, führen Sie den folgenden Befehl im Terminal aus:

$ sudo ufw erlaubt 'Apache Secure'

Um sowohl HTTP- (Port 80) als auch HTTPS- (Port 443) Datenverkehr durch die Firewall zuzulassen, führen Sie die folgenden Befehle im Terminal aus:

$ sudo ufw erlaubt 'Apache Full'

Apache-Dienste verwalten

Nach der Installation startet der Apache-Dienst automatisch im Hintergrund. Geben Sie den folgenden Befehl im Terminal ein, um den Status des Apache-Dienstes anzuzeigen:

$ systemctl status apache2

In der folgenden Ausgabe active (running) Status zeigt, dass der Apache-Dienst aktiv ist und ohne Probleme ausgeführt wird.

Verwenden Sie zum manuellen Starten des Apache-Dienstes den folgenden Befehl:

$ sudo systemctl start apache2

Verwenden Sie den folgenden Befehl, um den Apache-Dienst so zu aktivieren, dass er beim Start/Boot automatisch gestartet wird:

$ sudo systemctl enable apache2

Verwenden Sie zum Neustarten des Apache-Dienstes den folgenden Befehl:

$ sudo systemctl reset apache2

Verwenden Sie zum Stoppen des Apache-Dienstes den folgenden Befehl:

$ sudo systemctl stop apache2

Virtuelle Hosts in Apache einrichten

Mit dem virtuellen Host in Apache können Sie eine Reihe von Websites von einem einzigen Apache-Webserver aus ausführen. Im folgenden Abschnitt konfigurieren wir einen virtuellen Host für unsere Domain „test.org“. Führen Sie bei mehreren Domains die gleichen Schritte für jede Domain aus.

Schritt 1:Erstellen Sie ein Verzeichnis für Ihre Domain

Der erste Schritt besteht darin, ein Verzeichnis für Ihre Domain zu erstellen. Wenn Sie mehrere Domänen hosten müssen, erstellen Sie für jede Domäne separate Verzeichnisse. Für unsere Domain test.org , erstellen wir das Verzeichnis mit dem folgenden Befehl:

$ sudo mkdir /var/www/test.org

Stellen Sie sicher, dass Sie test.org ersetzen mit Ihrem Domainnamen.

Schritt 2:Eigentumsrechte und Berechtigungen festlegen

Das Verzeichnis für unsere Domain gehört derzeit dem Root-Benutzer. Damit andere Benutzer die Dateien ändern können, müssen wir den Eigentümer des Verzeichnisses ändern. Verwenden Sie dazu den folgenden Befehl im Terminal:

$ sudo chown -R $USER:$USER /var/www/ test.org

Legen Sie außerdem die erforderlichen Berechtigungen für das Domänenverzeichnis fest. Der 755 im folgenden Befehl weist allen Lese- und Ausführungsberechtigungen zu, während die Lese-, Schreib- und Ausführungsberechtigungen dem Eigentümer der Datei zugeteilt werden.

$ sudo chmod -R 755 /var/www/test.org

Schritt 3:Beispielseite index.html für Ihre Domain erstellen

Erstellen Sie nun eine Beispiel-index.html Seite für Ihre Domain, um Inhalte bereitzustellen. Erstellen Sie eine Datei index.html in /var/www/test.org Verzeichnis.

Dazu verwenden wir den Nano-Editor:

$ sudo nano /var/www/test.org/index.html

Fügen Sie der Datei den folgenden Inhalt hinzu.

Ihr test.org-Serverblock ist aktiviert!

Dies ist eine Testseite für die test.org-Website!

Wenn Sie mit der Bearbeitung fertig sind, speichern und schließen Sie die index.html Datei.

Nun das Beispiel index.html Seite wurde für unsere Website erstellt.

Schritt 4:Erstellen Sie eine neue virtuelle Hostdatei

In Apaches gibt es eine standardmäßige virtuelle Hostdatei, die Konfigurationen für den standardmäßigen Webserver enthält. Für unsere Domain test.org , erstellen wir eine separate virtuelle Hostdatei.

Führen Sie den folgenden Befehl im Terminal aus, um die virtuelle Hostdatei für Ihre Domäne zu erstellen:

$ sudo nano /etc/apache2/sites-available/test.org.conf

Fügen Sie den folgenden Inhalt in die Datei ein.

ServerAdmin [email protected]ServerName test.orgServerAlias ​​www.test.orgDocumentRoot /var/www/test.org/htmlErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log kombiniert 

Stellen Sie sicher, dass Sie test.org ersetzen mit Ihrem eigenen Domainnamen.

Wenn Sie mit der Bearbeitung fertig sind, speichern und schließen Sie die Datei.

Schritt 5:Virtuelle Hostdatei aktivieren

Jetzt aktivieren wir die virtuelle Hostdatei, die wir im vorherigen Schritt erstellt haben. Geben Sie dazu den folgenden Befehl im Terminal ein:

$ sudo a2ensite test.org.conf

Wir verwenden nicht die standardmäßige virtuelle Hostdatei, daher können wir sie deaktivieren. Verwenden Sie den folgenden Befehl, um es zu deaktivieren:

$ sudo a2dissite 000-default.conf

Laden Sie nun die Apache-Konfigurationen mit dem folgenden Befehl neu:

$ systemctl apache2 neu laden

Schritt 6:Hosts-Datei konfigurieren (optional)

Wenn Sie keinen tatsächlichen Domainnamen haben und das Verfahren nur mit einer beliebigen Testdomain testen möchten, müssen Sie einen Eintrag für Ihre Domain in /etc/hosts hinzufügen Datei.

Bearbeiten Sie /etc/hosts Datei mit dem folgenden Befehl im Terminal:

$ sudo nano /etc/hosts

Fügen Sie in dieser Datei den folgenden Eintrag hinzu, der die server_IP ersetzt und domain_name mit der IP-Adresse und dem Domänennamen Ihrer Umgebung.

server_IP Domänenname

In unserem Beispiel wäre der Eintrag:

192.168.72.157 test.org

Speichern und schließen Sie nun die Datei /etc/hosts.

Schritt 6:Auf Fehler testen

Testen Sie jetzt die Apache-Konfigurationen auf Fehler. Verwenden Sie dazu den folgenden Befehl:

$ sudo apache2ctl configtest

Wenn alles in Ordnung ist, erhalten Sie die Syntax OK Nachricht in der Ausgabe. Möglicherweise sehen Sie auch die folgende Warnmeldung im Testergebnis.

Um diese Meldung zu unterdrücken, fügen Sie ServerName hinzu Direktive in der /etc/apache2/apache2.conf Datei.

Bearbeiten Sie die /etc/apache2/apache2.conf Datei mit folgendem Befehl im Terminal:

$ sudo nano /etc/apache2/apache2.conf

Fügen Sie den folgenden Eintrag in der Datei hinzu, der test.org ersetzt mit Ihrem Domainnamen:

Servername test.org

Speichern und schließen Sie die Datei.

Testen Sie Apache erneut auf Konfigurationsfehler. Jetzt sehen Sie, dass die Warnung entfernt wurde.

Schritt 7:Testen Sie, ob Apache Ihren Domainnamen bedient

Testen Sie nun die Einrichtung, indem Sie in der Adressleiste Ihres Webbrowsers zu folgender Adresse navigieren.

http://domain_name

In unserem Beispiel wäre es:

http://test.org

Die folgende Seite zeigt an, dass der virtuelle Host erfolgreich konfiguriert wurde und Apache unseren Domainnamen bedient.

Apache so konfigurieren, dass er auf einem anderen Port lauscht

Standardmäßig überwacht Apache den Webverkehr auf Port 80. Es gibt einige Fälle, in denen Sie den Apache-Port möglicherweise ändern müssen, z. B. wenn ein anderer Dienst Port 80 bereits überwacht, der ISP Port 80 blockiert hat oder Sie Port 80 verhindern möchten Anschläge. Denken Sie jedoch daran, dass Sie nach dem Ändern des Standardports die Browser auf den neuen Port wie http://domain_name:port_nmuber.

verweisen müssen

1. Bearbeiten Sie die /etc/apache2/ports.conf Datei mit dem folgenden Befehl:

$ sudo nano /etc/apache2/ports.conf

Dies ist die Standardansicht der ports.conf Datei, in der Sie den als Standardport konfigurierten Port 80 sehen können.

Ändern Sie diese Portnummer in einen beliebigen anderen Wert, auf den der Apache-Server hören soll.

Speichern und schließen Sie die ports.conf-Datei, sobald Sie mit der Bearbeitung fertig sind.

2. Jetzt müssen Sie Ihren virtuellen Host so konfigurieren, dass er auf dem neuen Port lauscht. Um die virtuelle Hostdatei zu bearbeiten, verwenden Sie den folgenden Befehl im Terminal:

$ sudo nano /etc/apache2/sites-avaialble/test.org.conf-Datei

Stellen Sie im obigen Befehl sicher, dass Sie die test.org.conf ersetzen mit dem Dateinamen Ihres virtuellen Hosts.

Suchen Sie den Eintrag und ändern Sie den Wert von 80 an eine beliebige Nummer, auf die der Apache hören soll. Zum Beispiel, um die Portnummer in 9090 zu ändern , würde der Eintrag in . geändert

Hinweis :Um eine Portnummer festzulegen, wählen Sie einen Wert im Bereich von 1024 bis 65535.

Wenn Sie fertig sind, speichern und schließen Sie die Datei.

Apache kann auch so konfiguriert werden, dass es auf mehreren Ports lauscht. Um beispielsweise Port 80 und 9090 als Überwachungsports festzulegen, fügen Sie die folgenden Einträge in /etc/apache2/ports.conf hinzu Datei:

Höre 80Höre 9090 

Auch in /etc/apache2/sites-avaialble/test.org.conf Datei, fügen Sie einen Eintrag wie folgt hinzu:

Wenn Sie fertig sind, starten Sie den Apache-Dienst mit dem folgenden Befehl im Terminal neu:

$ sudo systemctl reset apache2

Zugriff von bestimmten IP-Adressen zulassen/verweigern

Im folgenden Abschnitt erfahren Sie, wie Sie bestimmten IP-Adressen den Zugriff auf unsere Website erlauben/verweigern. Dazu verwenden wir die .htaccess-Datei.

Schritt 1:Apache .htaccess aktivieren

Zuerst müssen wir die .htaccess-Datei aktivieren. Geben Sie dazu im Terminal den folgenden Befehl ein:

$ sudo nano /etc/apache2/sites-available/test.org.conf

Fügen Sie nach dem VirtualHost-Block die folgenden Zeilen in die Datei ein:

Optionen Indizes FollowSymLinksAllowOverride AllRequire alle erteilt

Speichern Sie nun die Datei und starten Sie Apache mit dem folgenden Befehl neu:

$ sudo systemctl apache2 neu starten

Schritt 2:.htaccess-Datei erstellen

Jetzt müssen wir eine .htaccess-Datei erstellen. Navigieren Sie zum Stammverzeichnis des virtuellen Hosts.

$ cd /var/www/test.org

Erstellen Sie dann hier eine .htaccess-Datei mit dem folgenden Befehl:

$ sudo nano .htaccess

Schritt 3:IP-Adressen zulassen/ablehnen

leugnen bestimmte IP-Adressen den Zugriff auf Ihre Website verhindern, müssen Sie die Einträge in der .htaccess-Datei wie folgt hinzufügen:

order deny, allow# Verweigern der IP-Adresse 192.168.9.8allow from 192.168.9.8# Verweigern aller IP-Adressen von 192.168.9.0 bis 192.168.9.255allow from 192.168.9To allow Um IP-Adressen vom Zugriff auf Ihre Website zu erhalten, müssen Sie die Einträge in der .htaccess-Datei wie folgt hinzufügen:
order deny, allow# Um alle IP-Adressen abzulehnenDeny from all# Erlaubt die IP-Adresse 192.168.9.30allow von 192.168.9.30# Erlaubt alle IP-Adressen von 192.168.9.0 bis 192.168.9.255
ab 192.168.9 zulassen

Das ist alles, was dazu gehört! In diesem Artikel haben Sie die Grundlagen der Apache-Konfiguration unter Linux erlernt. Dazu gehören die Firewall-Konfiguration, das Verwalten von Apache-Diensten, das Einrichten virtueller Hosts, das Ändern von Standard-Listening-Ports und das Zulassen/Verweigern des Zugriffs auf die Sites durch bestimmte IPs. Weitere Informationen zu Apache-Konfigurationen finden Sie in der offiziellen Apache-Server-Dokumentation unter http://httpd.apache.org/docs/.


Ubuntu
  1. So konfigurieren Sie einen Apache-Webserver

  2. So installieren Sie den Apache-Webserver unter CentOS 7

  3. Installieren Sie den Apache-Webserver unter Linux Mint 13 / Linux Mint 14

  4. Installieren Sie Nginx und konfigurieren Sie den virtuellen Host in Ubuntu 20.04

  5. So installieren und konfigurieren Sie den Apache-Webserver unter Ubuntu 13.10

So installieren und konfigurieren Sie den Apache-Webserver unter Ubuntu

So hosten Sie eine Website auf einem Apache-Webserver

So installieren und konfigurieren Sie Apache SVN Server auf einem Linux-Desktop

So installieren und konfigurieren Sie Apache Webserver unter Oracle Linux 8

So installieren und konfigurieren Sie einen LAMP-Webserver unter Ubuntu 18.04

So installieren und konfigurieren Sie einen Linux Ubuntu NFS-Server