Question: How do I change Apache 2 default port under Debian / Ubuntu Linux? I've couple of public IPv4 address assigned by my ISP, how do I force Apache2 to listen to a specific IP address? How do I change Apache2 IP address binding?
Answer: You can easily change the port and other settings using following directives:
Apache Listen Directive
The Listen directive instructs Apache to listen to more than one IP address or port; by default it responds to requests on all IP interfaces, but only on the port given by the Port directive. You can use this directive multiple times.
Task: Change Apache port
Open /etc/apache2/ports.conf file, enter:
# vi /etc/apache2/ports.conf
$ sudo vi /etc/apache2/ports.conf
To make the server accept connections on both port 8010, enter:
To make the server accept connections on both port 80 and port 8010, use:
Task: Accept connections on specific IP / interface port
You need to use network interfaces IP address. For example, to make the server accept connections on IP 18.104.22.168 and port 80, enter:
To make the server accept connections on two specified interfaces and port numbers, enter:
Save and close the file. Restart Apache 2 webserver:
# /etc/init.d/apache2 restart
$ sudo /etc/init.d/apache2 restart
How do I verify port and IP binding working ?
Use netstat command to find out if Apache is listening on a specific port or not, use:
# netstat -tulpn
# netstat -tulpn | grep :80
# netstat -tulpn | grep :8010
# netstat -tulpn| grep 22.214.171.124:80
tcp 0 0 126.96.36.199:80 0.0.0.0:* LISTEN 19306/apache2