Website-Suche

So ändern Sie den Apache HTTP-Port unter Linux


Der Apache HTTP-Server ist heutzutage einer der am häufigsten verwendeten Webserver im Internet, was auf seine Flexibilität, Stabilität und eine Vielzahl von Funktionen zurückzuführen ist, von denen einige derzeit in anderen Webservern nicht vorhanden sind, wie z Rivale Nginx.

Zu den wichtigsten Funktionen von Apache gehört die Möglichkeit, verschiedene Modultypen und spezielle Konfigurationen zur Laufzeit zu laden und auszuführen, ohne den Server tatsächlich anzuhalten oder, schlimmer noch, die Software jedes Mal zu kompilieren, wenn ein neues Modul hinzugefügt wird und die besondere Rolle spielt durch .htaccess-Dateien, die Webserverkonfigurationen speziell für Webroot-Verzeichnisse ändern können.

Standardmäßig wird der Apache-Webserver angewiesen, auf eingehende Verbindungen zu warten und sich an Port 80 zu binden. Wenn Sie sich für die TLS-Konfiguration entscheiden, wartet der Server auf sichere Verbindungen auf Port 443.

Um den Apache-Webserver anzuweisen, Webdatenverkehr auf anderen Ports als den Standard-Webports zu binden und abzuhören, müssen Sie eine neue Anweisung hinzufügen, die den neuen Port für zukünftige Bindungen enthält.

In Debian/Ubuntu-basierten Systemen ist die Konfigurationsdatei, die geändert werden muss, die Datei /etc/apache2/ports.conf und auf RHEL/CentOS-basierten Systemen Distributionen bearbeiten die Datei /etc/httpd/conf/httpd.conf.

Öffnen Sie die für Ihre eigene Distribution spezifische Datei mit einem Konsolentexteditor und fügen Sie die neue Portanweisung hinzu, wie im folgenden Auszug gezeigt.

nano /etc/apache2/ports.conf     [On Debian/Ubuntu]
nano /etc/httpd/conf/httpd.conf  [On RHEL/CentOS]

In diesem Beispiel konfigurieren wir den Apache HTTP-Server so, dass er Verbindungen auf Port 8081 überwacht. Stellen Sie sicher, dass Sie die folgende Anweisung in dieser Datei nach der Anweisung hinzufügen, die den Webserver anweist, auf Port 80 zu lauschen, wie in der Abbildung unten dargestellt.

Listen 8081

Nachdem Sie die obige Zeile hinzugefügt haben, müssen Sie einen virtuellen Apache-Host in einer Debian/Ubuntu-basierten Distribution erstellen oder ändern, um den Bindungsprozess zu starten, der speziell auf Ihre eigenen Vhost-Anforderungen zugeschnitten ist.

In CentOS/RHEL-Distributionen wird die Änderung direkt auf den standardmäßigen virtuellen Host angewendet. Im folgenden Beispiel ändern wir den standardmäßigen virtuellen Host des Webservers und weisen Apache an, auf Webverkehr vom Port 80 zum Port 8081 zu lauschen.

Öffnen und bearbeiten Sie die Datei 000-default.conf und ändern Sie den Port in 8081, wie im Bild unten gezeigt.

nano /etc/apache2/sites-enabled/000-default.conf 

Um schließlich die Änderungen zu übernehmen und Apache an den neuen Port zu binden, starten Sie den Daemon neu und überprüfen Sie die Tabelle der lokalen Netzwerk-Sockets mit netstat oder dem ss-Befehl. Der überwachte Port 8081 sollte in der Netzwerktabelle Ihres Servers angezeigt werden.

systemctl restart apache2
netstat -tlpn| grep apache
ss -tlpn| grep apache

Sie können auch einen Browser öffnen und zu Ihrer Server-IP-Adresse oder Ihrem Domänennamen auf Port 8081 navigieren. Die Apache-Standardseite sollte im Browser angezeigt werden. Wenn Sie die Webseite jedoch nicht durchsuchen können, kehren Sie zur Serverkonsole zurück und stellen Sie sicher, dass die richtigen Firewall-Regeln eingerichtet sind, um den Portverkehr zuzulassen.

http://server.ip:8081 

Installieren Sie auf einer CentOS/RHEL-basierten Linux-Distribution das Paket policycoreutils, um die erforderlichen SELinux-Regeln für die Bindung von Apache an den neuen Port hinzuzufügen, und starten Sie den Apache HTTP-Server neu, um die Änderungen zu übernehmen.

yum install policycoreutils

Fügen Sie Selinux-Regeln für Port 8081 hinzu.

semanage port -a -t http_port_t -p tcp 8081
semanage port -m -t http_port_t -p tcp 8081

Starten Sie den Apache-Webserver neu

systemctl restart httpd.service 

Führen Sie den Netstat- oder ss-Befehl aus, um zu überprüfen, ob die Bindung des neuen Ports erfolgreich ist, und um auf eingehenden Datenverkehr zu warten.

netstat -tlpn| grep httpd
ss -tlpn| grep httpd

Öffnen Sie einen Browser und navigieren Sie zur IP-Adresse oder dem Domänennamen Ihres Servers auf Port 8081, um zu überprüfen, ob der neue Web-Port in Ihrem Netzwerk erreichbar ist. Die Apache-Standardseite sollte im Browser angezeigt werden

http://server.ip:8081 

Wenn Sie nicht zur oben genannten Adresse navigieren können, stellen Sie sicher, dass Sie die richtigen Firewall-Regeln in Ihrer Server-Firewall-Tabelle hinzufügen.