Vyhledávání na webu

Jak změnit Apache HTTP Port v Linuxu


Server Apache HTTP je dnes jedním z nejpoužívanějších webových serverů na internetu, a to díky své flexibilitě, stabilitě a plejádě funkcí, z nichž některé nejsou v současnosti na jiných webových serverech, jako např. konkurenční Nginx.

Některé z nejdůležitějších funkcí Apache zahrnují schopnost načítat a spouštět různé typy modulů a speciálních konfigurací za běhu, aniž by se skutečně zastavil server, nebo v horším případě kompilace softwaru pokaždé, když je nejvíce přidán nový modul a hraje se zvláštní role. pomocí souborů .htaccess, které mohou měnit konfigurace webového serveru specifické pro adresáře webroot.

Ve výchozím nastavení je webový server Apache instruován, aby naslouchal příchozímu připojení a vázal se na portu 80. Pokud se rozhodnete pro konfiguraci TLS, server bude naslouchat zabezpečeným připojením na portu 443.

Chcete-li dát webovému serveru Apache pokyn, aby svázal a naslouchal webovému provozu na jiných portech, než jsou standardní webové porty, musíte přidat nový příkaz obsahující nový port pro budoucí vazby.

V systému založeném na Debian/Ubuntu je konfigurační soubor, který je třeba upravit, soubor /etc/apache2/ports.conf a založený na RHEL/CentOS distribuce upravit soubor /etc/httpd/conf/httpd.conf.

Otevřete soubor specifický pro vaši vlastní distribuci pomocí textového editoru konzoly a přidejte nový příkaz portu, jak je znázorněno na níže uvedeném úryvku.

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

V tomto příkladu nakonfigurujeme Apache HTTP server tak, aby naslouchal připojením na portu 8081. Ujistěte se, že jste do tohoto souboru přidali níže uvedený příkaz za direktivu, která dává webovému serveru pokyn, aby naslouchal na portu 80, jak je znázorněno na obrázku níže.

Listen 8081

Po přidání výše uvedeného řádku musíte vytvořit nebo upravit virtuálního hostitele Apache v distribuci založené na Debian/Ubuntu, abyste mohli zahájit proces vazby, specifický pro vaše vlastní požadavky vhost.

V distribucích CentOS/RHEL se změna aplikuje přímo na výchozí virtuální hostitele. V níže uvedené ukázce upravíme výchozího virtuálního hostitele webového serveru a nařídíme Apache, aby naslouchal webovému provozu z portu 80 do portu 8081.

Otevřete a upravte soubor 000-default.conf a změňte port na 8081, jak je znázorněno na obrázku níže.

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

Nakonec, chcete-li použít změny a vytvořit vazbu Apache na nový port, restartujte démona a zkontrolujte tabulku soketů místní sítě pomocí příkazu netstat nebo ss. Port 8081 v naslouchání by měl být zobrazen v tabulce sítě vašeho serveru.

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

Můžete také otevřít prohlížeč a přejít na adresu IP serveru nebo název domény na portu 8081. V prohlížeči by se měla zobrazit výchozí stránka Apache. Pokud však webovou stránku nemůžete procházet, vraťte se do konzoly serveru a ujistěte se, že jsou nastavena správná pravidla brány firewall, aby byl provoz portů povolen.

http://server.ip:8081 

V distribuci Linuxu založené na CentOS/RHEL nainstalujte balíček policycoreutils, abyste přidali požadovaná pravidla SELinux pro Apache, aby se navázal na nový port, a restartujte server Apache HTTP, aby se změny uplatnily.

yum install policycoreutils

Přidejte pravidla Selinux pro port 8081.

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

Restartujte webový server Apache

systemctl restart httpd.service 

Provedením příkazu netstat nebo ss zkontrolujte, zda se nový port úspěšně váže a poslouchejte příchozí provoz.

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

Otevřete prohlížeč a přejděte na adresu IP serveru nebo název domény na portu 8081 a zkontrolujte, zda je ve vaší síti dostupný nový webový port. V prohlížeči by se měla zobrazit výchozí stránka Apache

http://server.ip:8081 

Pokud nemůžete přejít na výše uvedenou adresu, ujistěte se, že jste do tabulky brány firewall serveru přidali správná pravidla brány firewall.