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.