≡ Menu

Debian / Ubuntu: Apache2 Change Default Port / IP Binding

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
OR
$ sudo vi /etc/apache2/ports.conf
To make the server accept connections on both port 8010, enter:
Listen 8010
To make the server accept connections on both port 80 and port 8010, use:
Listen 80
Listen 8010

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 202.54.1.2 and port 80, enter:
Listen 202.54.1.2:80
To make the server accept connections on two specified interfaces and port numbers, enter:
Listen 202.54.2.1:80
Listen 202.54.2.5:8010

Save and close the file. Restart Apache 2 webserver:
# /etc/init.d/apache2 restart
OR
$ 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 202.54.1.2:80

Sample output:

tcp        0      0 202.54.1.2:80            0.0.0.0:*               LISTEN     19306/apache2
Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:



{ 12 comments… add one }
  • Felipe Ferreira November 25, 2008, 6:16 pm

    Great Post.
    Simple and easy to understand.
    But I was wondering how I could server multiple IPs,Ports.
    How would the Virtual Hosts file look like?
    Is it enough to change the
    NameVirtualHost ?

    cheers,
    http://www.felipeferreira.net

  • Goncorpius October 23, 2010, 11:46 am

    Plz , i change port apache ia 81 but in address on browser my type is

    localhst:81 or 127.0.0.1:81 not search foulder content php www

    i edit port is 80 is ok

    why ?? plz

    • Cesar December 2, 2010, 3:38 pm

      I’m with the same problem…

      • Khan Bhai March 16, 2012, 3:39 pm

        my Apache server was not running but when i close all my start up programs like skype and utorrent then it work and apache server running.
        start up programs sometimes use the port of apache!

  • Melroy van den Ber December 13, 2010, 11:26 pm

    They apparently forgot to say to change the following also:

    sudo nano /etc/apache2/ports.conf

    In file ports.conf, line 8.
    Find:
    NameVirtualHost *:80

    Change to:
    NameVirtualHost *:8080

    And!
    sudo nano /etc/apache2/sites-available/default

    In file default, line 1.
    Find:

    Change to:

    Eventually restart your apache2 server ;)

    sudo /etc/init.d/apache2 restart

    Good luck!

    Kind regards,
    Melroy van den Berg

    • ulysses January 2, 2012, 10:53 pm

      oh thanks that helped alot

      • slavka April 18, 2013, 9:51 pm

        Using specific ip and port but getting:
        ===============
        no listening sockets available, shutting down
        Unable to open logs
        Action ‘start’ failed.
        The Apache error log may have more information.
        failed!
        ==============

  • praveen July 4, 2011, 9:38 am

    what is the difference between the port 80 and 8080?

  • gauchoproluanco February 22, 2012, 4:15 pm

    Hi guys,

    Like always, brilliant, simple and easy!!!

    Thanks,

    Luis

  • LG June 11, 2012, 4:16 pm

    Something important!!!!

    If you just change the port or add more ports here, you will likely also
    have to change the VirtualHost statement in
    /etc/apache2/sites-enabled/000-default

    Regards

  • Peyman August 13, 2012, 7:31 am

    Hi.
    I get the following error:
    (99)Cannot assign requested address: make_sock: could not bind to address **.***.**.***:80
    what can I do?

  • Nisarg Pandya May 6, 2013, 8:53 pm

    Hi Guys,

    Thank you very much for all the information and the comments.

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">


   Tagged with: , , , , , , , , , , , , , , ,