Zoeken op website

Hoe Apache HTTP-poort in Linux te wijzigen


Apache HTTP-server is tegenwoordig een van de meest gebruikte webservers op internet, dankzij de flexibiliteit, stabiliteit en een groot aantal functies, waarvan sommige momenteel niet aanwezig zijn op andere webservers, zoals rivaal Nginx.

Enkele van de belangrijkste kenmerken van Apache zijn onder meer de mogelijkheid om verschillende soorten modules en speciale configuraties tijdens runtime te laden en uit te voeren, zonder de server daadwerkelijk te stoppen of, erger nog, de software te compileren telkens wanneer een nieuwe module wordt toegevoegd en de speciale rol die daarin wordt gespeeld. door .htaccess-bestanden, die webserverconfiguraties kunnen wijzigen die specifiek zijn voor webroot-mappen.

Standaard wordt de Apache-webserver geïnstrueerd om te luisteren naar inkomende verbindingen en te binden op poort 80. Kiest u voor de TLS-configuratie, dan luistert de server naar beveiligde verbindingen op poort 443.

Om de Apache-webserver te instrueren om te binden en te luisteren naar webverkeer op andere poorten dan de standaard webpoorten, moet u een nieuwe instructie toevoegen met daarin de nieuwe poort voor toekomstige bindingen.

In op Debian/Ubuntu gebaseerde systemen is het configuratiebestand dat moet worden aangepast het bestand /etc/apache2/ports.conf en op RHEL/CentOS gebaseerd distributies bewerken het bestand /etc/httpd/conf/httpd.conf.

Open het bestand dat specifiek is voor uw eigen distributie met een consoleteksteditor en voeg de nieuwe port-instructie toe, zoals weergegeven in het onderstaande fragment.

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

In dit voorbeeld configureren we de Apache HTTP-server om te luisteren naar verbindingen op poort 8081. Zorg ervoor dat u de onderstaande verklaring in dit bestand toevoegt, na de richtlijn die de webserver instrueert om op poort 80 te luisteren, zoals geïllustreerd in de onderstaande afbeelding.

Listen 8081

Nadat u de bovenstaande regel heeft toegevoegd, moet u een virtuele Apache-host maken of wijzigen in een op Debian/Ubuntu gebaseerde distributie om het bindingsproces te starten, specifiek voor uw eigen vhost-vereisten.

In CentOS/RHEL-distributies wordt de wijziging rechtstreeks toegepast op de standaard virtuele host. In het onderstaande voorbeeld wijzigen we de standaard virtuele host van de webserver en instrueren we Apache om te luisteren naar webverkeer van poort 80 naar poort 8081.

Open en bewerk het bestand 000-default.conf en wijzig de poort naar 8081, zoals weergegeven in de onderstaande afbeelding.

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

Om ten slotte de wijzigingen toe te passen en Apache aan de nieuwe poort te laten binden, start u de daemon opnieuw op en controleert u de tabel met lokale netwerksockets met behulp van netstat of de ss-opdracht. Poort 8081 tijdens het luisteren zou in uw servernetwerktabel moeten worden weergegeven.

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

U kunt ook een browser openen en naar het IP-adres van uw server of domeinnaam op poort 8081 navigeren. De standaardpagina van Apache zou in de browser moeten worden weergegeven. Als u echter niet door de webpagina kunt bladeren, ga dan terug naar de serverconsole en zorg ervoor dat de juiste firewallregels zijn ingesteld om poortverkeer toe te staan.

http://server.ip:8081 

Op CentOS/RHEL gebaseerde Linux-distributie installeert u het policycoreutils pakket om de vereiste SELinux-regels toe te voegen zodat Apache kan binden op de nieuwe poort en de Apache HTTP-server opnieuw kunt opstarten om de wijzigingen toe te passen.

yum install policycoreutils

Voeg Selinux-regels toe voor poort 8081.

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

Start de Apache-webserver opnieuw

systemctl restart httpd.service 

Voer netstat of ss command uit om te controleren of de nieuwe poort succesvol kan binden en luister naar inkomend verkeer.

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

Open een browser en navigeer naar het IP-adres van uw server of domeinnaam op poort 8081 om te controleren of de nieuwe webpoort bereikbaar is in uw netwerk. De standaardpagina van Apache zou in de browser moeten worden weergegeven

http://server.ip:8081 

Als u niet naar het bovenstaande adres kunt navigeren, zorg er dan voor dat u de juiste firewallregels toevoegt aan de Firewall-tabel van uw server.