Sådan ændres Apache HTTP-port i Linux


Apache HTTP-server er en af de mest anvendte webservere på internettet i dag, gør det for dets fleksibilitet, stabilitet og en række funktioner, hvoraf nogle ikke er i øjeblikket til stede i andre webservere, sådan en rival Nginx.

Nogle af de vigtigste funktioner i Apache inkluderer muligheden for at indlæse og køre forskellige typer moduler og specielle konfigurationer ved kørsel uden faktisk at stoppe serveren eller værre, kompilere softwaren hver gang der tilføjes et nyt modul mest og den specielle rolle spilles af .htaccess-filer, som kan ændre webserverkonfigurationer, der er specifikke for webroot-mapper.

Som standard instrueres Apache-webserveren om at lytte efter indgående forbindelse og binde til port 80. Hvis du vælger TLS-konfigurationen, lytter serveren efter sikre forbindelser på port 443.

For at instruere Apache-webserveren om at binde og lytte til webtrafik på andre porte end standardwebportene, skal du tilføje et nyt udsagn, der indeholder den nye port til fremtidige bindinger.

I Debian/Ubuntu-baseret system er konfigurationsfilen, der skal ændres, /etc/apache2/ports.conf-filen og på RHEL/CentOS-baserede distributioner redigere /etc/httpd/conf/httpd.conf-fil.

Åbn den fil, der er specifik for din egen distribution med en konsol-teksteditor, og tilføj den nye porterklæring som vist i nedenstående uddrag.

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

I dette eksempel konfigurerer vi Apache HTTP-server til at lytte til forbindelser på port 8081. Sørg for at tilføje nedenstående sætning i denne fil efter direktivet, der instruerer webserveren om at lytte på port 80, som illustreret i nedenstående billede.

Listen 8081

Når du har tilføjet ovenstående linje, skal du oprette eller ændre en Apache virtuel vært i Debian/Ubuntu-baseret distribution for at starte bindingsprocessen, specifikt for dine egne vhost-krav.

I CentOS/RHEL-distributioner anvendes ændringen direkte i standard virtuel vært. I nedenstående eksempel ændrer vi webserverens standard virtuelle vært og beder Apache om at lytte efter webtrafik fra 80 port til 8081 port.

Åbn og rediger 000-default.conf-filen, og skift porten til 8081 som vist på billedet nedenfor.

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

Endelig, for at anvende ændringer og få Apache til at binde til den nye port, genstart daemon og tjek lokale netværksstikstabel ved hjælp af netstat eller ss-kommando. Port 8081 i lytning skal vises i din server netværkstabel.

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

Du kan også åbne en browser og navigere til serverens IP-adresse eller domænenavn på port 8081. Apache-standardsiden skal vises i browseren. Men hvis du ikke kan gennemse websiden, skal du vende tilbage til serverkonsollen og sørge for, at de korrekte firewallregler er indstillet til at tillade porttrafik.

http://server.ip:8081 

På CentOS/RHEL-baseret Linux-distribution skal du installere policycoreutils-pakken for at tilføje de krævede SELinux-regler for Apache til at binde til den nye port og genstarte Apache HTTP-server for at anvende ændringer.

# yum install policycoreutils

Tilføj Selinux regler for port 8081.

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

Genstart Apache-webserveren

# systemctl restart httpd.service 

Udfør netstat eller ss kommando for at kontrollere, om den nye port med succes binder og lytter efter indgående trafik.

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

Åbn en browser og naviger til din server IP-adresse eller domænenavn på port 8081 for at kontrollere, om den nye webport kan nås i dit netværk. Apache-standardsiden skal vises i browseren

http://server.ip:8081 

Hvis du ikke kan navigere til ovenstående adresse, skal du sørge for at tilføje de korrekte firewallregler i din server Firewall-tabel.