Hvordan endre Apache HTTP-port i Linux
Apache HTTP-serveren er en av de mest brukte nettserverne på internett i dag, og dens fleksibilitet, stabilitet og en rekke funksjoner, hvorav noen for øyeblikket ikke er tilstede i andre webservere, f.eks. rival Nginx.
Noen av de viktigste funksjonene til Apache inkluderer muligheten til å laste og kjøre forskjellige typer moduler og spesielle konfigurasjoner under kjøring, uten å faktisk stoppe serveren eller, enda verre, kompilere programvaren hver gang en ny modul mest legges til og den spesielle rollen spilles av .htaccess-filer, som kan endre webserverkonfigurasjoner som er spesifikke for webroot-kataloger.
Som standard blir Apache-nettserveren bedt om å lytte etter innkommende tilkobling og binde på port 80. Hvis du velger TLS-konfigurasjonen, vil serveren lytte etter sikre tilkoblinger på port 443.
For å instruere Apache-nettserveren til å binde og lytte etter nettrafikk på andre porter enn standard nettporter, må du legge til en ny setning som inneholder den nye porten for fremtidige bindinger.
I Debian/Ubuntu-basert system er konfigurasjonsfilen som må endres /etc/apache2/ports.conf-filen og på RHEL/CentOS-basert distribusjoner redigere /etc/httpd/conf/httpd.conf fil.
Åpne filen som er spesifikk for din egen distribusjon med en konsolltekstredigerer og legg til den nye portsetningen som vist i utdraget nedenfor.
nano /etc/apache2/ports.conf [On Debian/Ubuntu]
nano /etc/httpd/conf/httpd.conf [On RHEL/CentOS]
I dette eksemplet konfigurerer vi Apache HTTP-serveren til å lytte på tilkoblinger på port 8081. Sørg for at du legger til setningen nedenfor i denne filen, etter direktivet som instruerer webserveren til å lytte på port 80, som illustrert i bildet nedenfor.
Listen 8081
Etter at du har lagt til linjen ovenfor, må du opprette eller endre en virtuell Apache-vert i Debian/Ubuntu-basert distribusjon for å starte bindingsprosessen, spesifikt for dine egne vhost-krav.
I CentOS/RHEL-distribusjoner brukes endringen direkte til standard virtuell vert. I eksemplet nedenfor vil vi modifisere standard virtuell verten for nettserveren og instruere Apache om å lytte etter nettrafikk fra 80 port til 8081 port.
Åpne og rediger filen 000-default.conf og endre porten til 8081 som vist i bildet nedenfor.
nano /etc/apache2/sites-enabled/000-default.conf
Til slutt, for å bruke endringer og få Apache til å binde på den nye porten, start daemonen på nytt og sjekk tabellen for lokale nettverkskontakter ved å bruke netstat eller ss-kommando. Port 8081 i lytting skal vises i servernettverkstabellen.
systemctl restart apache2
netstat -tlpn| grep apache
ss -tlpn| grep apache
Du kan også åpne en nettleser og navigere til serverens IP-adresse eller domenenavn på port 8081. Apache-standardsiden skal vises i nettleseren. Men hvis du ikke kan bla gjennom nettsiden, gå tilbake til serverkonsollen og sørg for at de riktige brannmurreglene er konfigurert for å tillate porttrafikk.
http://server.ip:8081
Installer policycoreutils-pakken på CentOS/RHEL-basert Linux-distribusjon for å legge til de nødvendige SELinux-reglene for at Apache skal binde seg til den nye porten og starte Apache HTTP-serveren på nytt for å bruke endringer.
yum install policycoreutils
Legg til 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
Start Apache webserver på nytt
systemctl restart httpd.service
Utfør netstat- eller ss-kommando for å sjekke om den nye porten bindes og lytt etter innkommende trafikk.
netstat -tlpn| grep httpd
ss -tlpn| grep httpd
Åpne en nettleser og naviger til serverens IP-adresse eller domenenavn på port 8081 for å sjekke om den nye nettporten er tilgjengelig i nettverket ditt. Apache-standardsiden skal vises i nettleseren
http://server.ip:8081
Hvis du ikke kan navigere til adressen ovenfor, sørg for at du legger til de riktige brannmurreglene i serverbrannmurtabellen.