Cum se schimbă portul HTTP Apache în Linux


Serverul Apache HTTP este unul dintre cele mai utilizate servere web de pe internet astăzi, datorită flexibilității, stabilității și o serie de caracteristici, dintre care unele nu sunt pentru moment prezente în alte servere web, cum ar fi rivalul Nginx.

Unele dintre cele mai importante caracteristici ale Apache includ capacitatea de a încărca și rula diferite tipuri de module și configurații speciale în timpul execuției, fără a opri efectiv serverul sau, mai rău, a compila software-ul de fiecare dată când se adaugă cel mai mult un nou modul și rolul special jucat. prin fișiere .htaccess, care pot modifica configurațiile serverului web specifice directoarelor webroot.

În mod implicit, serverul web Apache este instruit să asculte pentru conexiunea de intrare și să se conecteze la portul 80. Dacă optați pentru configurația TLS, serverul va asculta conexiuni securizate pe portul 443.

Pentru a instrui serverul web Apache să leagă și să asculte traficul web pe alte porturi decât porturile web standard, trebuie să adăugați o nouă declarație care să conțină noul port pentru legături viitoare.

În sistemul bazat pe Debian/Ubuntu, fișierul de configurare care trebuie modificat este fișierul /etc/apache2/ports.conf și pe RHEL/CentOS distribuțiile editează fișierul /etc/httpd/conf/httpd.conf.

Deschideți fișierul specific propriei distribuții cu un editor de text consolă și adăugați noua declarație de port așa cum se arată în fragmentul de mai jos.

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

În acest exemplu, vom configura serverul Apache HTTP pentru a asculta conexiunile de pe portul 8081. Asigurați-vă că adăugați declarația de mai jos în acest fișier, după directiva care indică serverului web să asculte pe portul 80, așa cum este ilustrat în imaginea de mai jos.

Listen 8081

După ce ați adăugat linia de mai sus, trebuie să creați sau să modificați o gazdă virtuală Apache în distribuția bazată pe Debian/Ubuntu pentru a începe procesul de legare, specific propriilor cerințe vhost.

În distribuțiile CentOS/RHEL, modificarea este aplicată direct în gazda virtuală implicită. În exemplul de mai jos, vom modifica gazda virtuală implicită a serverului web și vom instrui Apache să asculte traficul web de la portul 80 la portul 8081.

Deschideți și editați fișierul 000-default.conf și schimbați portul la 8081, așa cum se arată în imaginea de mai jos.

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

În cele din urmă, pentru a aplica modificări și pentru a face ca Apache să se conecteze la noul port, reporniți demonul și verificați tabelul de prize ale rețelei locale folosind netstat sau comanda ss. Portul 8081 în ascultare ar trebui să fie afișat în tabelul de rețea de server.

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

De asemenea, puteți să deschideți un browser și să navigați la adresa IP a serverului sau la numele domeniului de pe portul 8081. Pagina implicită Apache ar trebui să fie afișată în browser. Cu toate acestea, dacă nu puteți naviga pe pagina web, reveniți la consola serverului și asigurați-vă că sunt configurate regulile de firewall adecvate pentru a permite traficul de port.

http://server.ip:8081 

Pe distribuția Linux bazată pe CentOS/RHEL, instalați pachetul policycoreutils pentru a adăuga regulile SELinux necesare pentru ca Apache să se conecteze la noul port și reporniți serverul Apache HTTP pentru a aplica modificările.

# yum install policycoreutils

Adăugați reguli Selinux pentru portul 8081.

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

Reporniți serverul web Apache

# systemctl restart httpd.service 

Executați netstat sau comanda ss pentru a verifica dacă noul port se leagă cu succes și pentru a asculta traficul de intrare.

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

Deschideți un browser și navigați la adresa IP a serverului sau numele de domeniu pe portul 8081 pentru a verifica dacă noul port web este accesibil în rețeaua dvs. Pagina implicită Apache ar trebui să fie afișată în browser

http://server.ip:8081 

Dacă nu puteți naviga la adresa de mai sus, asigurați-vă că adăugați regulile de firewall adecvate în tabelul Firewall-ului serverului.