Ricerca nel sito web

Come modificare la porta HTTP Apache in Linux


Il server Apache HTTP è uno dei server web più utilizzati oggi in Internet, grazie alla sua flessibilità, stabilità e ad una moltitudine di funzionalità, alcune delle quali non sono per il momento presenti in altri server web, come rivale Nginx.

Alcune delle caratteristiche più importanti di Apache includono la capacità di caricare ed eseguire diversi tipi di moduli e configurazioni speciali in fase di runtime, senza arrestare effettivamente il server o, peggio, compilare il software ogni volta che viene aggiunto un nuovo modulo e il ruolo speciale svolto dai file .htaccess, che possono alterare le configurazioni del server web specifiche delle directory webroot.

Per impostazione predefinita, al server Web Apache viene richiesto di ascoltare la connessione in entrata e di collegarsi alla porta 80. Se opti per la configurazione TLS, il server ascolterà connessioni sicure sulla porta 443.

Per indicare al server Web Apache di associare e ascoltare il traffico Web su porte diverse rispetto alle porte Web standard, è necessario aggiungere una nuova istruzione contenente la nuova porta per collegamenti futuri.

Nel sistema basato su Debian/Ubuntu, il file di configurazione che deve essere modificato è il file /etc/apache2/ports.conf e nel sistema basato su RHEL/CentOS le distribuzioni modificano il file /etc/httpd/conf/httpd.conf.

Apri il file specifico per la tua distribuzione con un editor di testo della console e aggiungi la nuova istruzione di porta come mostrato nell'estratto seguente.

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

In questo esempio configureremo il server Apache HTTP per ascoltare le connessioni sulla porta 8081. Assicurati di aggiungere la seguente istruzione in questo file, dopo la direttiva che indica al server web di ascoltare sulla porta 80, come illustrato nell'immagine seguente.

Listen 8081

Dopo aver aggiunto la riga precedente, devi creare o modificare un host virtuale Apache nella distribuzione basata su Debian/Ubuntu per avviare il processo di associazione, specifico per i tuoi requisiti vhost.

Nelle distribuzioni CentOS/RHEL, la modifica viene applicata direttamente all'host virtuale predefinito. Nell'esempio seguente, modificheremo l'host virtuale predefinito del server web e chiederemo ad Apache di ascoltare il traffico web dalla porta 80 alla porta 8081.

Apri e modifica il file 000-default.conf e modifica la porta in 8081 come mostrato nell'immagine seguente.

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

Infine, per applicare le modifiche e fare in modo che Apache si colleghi alla nuova porta, riavvia il demone e controlla la tabella dei socket di rete locale utilizzando netstat o il comando ss. La porta 8081 in ascolto dovrebbe essere visualizzata nella tabella di rete del tuo server.

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

Puoi anche aprire un browser e accedere all'indirizzo IP del tuo server o al nome di dominio sulla porta 8081. La pagina predefinita di Apache dovrebbe essere visualizzata nel browser. Tuttavia, se non riesci a navigare nella pagina web, torna alla console del server e assicurati che siano impostate le regole firewall corrette per consentire il traffico della porta.

http://server.ip:8081 

Sulla distribuzione Linux basata su CentOS/RHEL installa il pacchetto policycoreutils per aggiungere le regole SELinux richieste affinché Apache possa collegarsi alla nuova porta e riavviare il server HTTP Apache per applicare le modifiche.

yum install policycoreutils

Aggiunte regole Selinux per la porta 8081.

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

Riavviare il server Web Apache

systemctl restart httpd.service 

Esegui netstat o il comando ss per verificare se la nuova porta si collega correttamente e ascolta il traffico in entrata.

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

Apri un browser e accedi all'indirizzo IP del tuo server o al nome di dominio sulla porta 8081 per verificare se la nuova porta Web è raggiungibile nella tua rete. La pagina predefinita di Apache dovrebbe essere visualizzata nel browser

http://server.ip:8081 

Se non riesci a raggiungere l'indirizzo riportato sopra, assicurati di aggiungere le regole firewall corrette nella tabella Firewall del tuo server.