Error: (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 on Ubuntu [SOLVED]

Pre-Flight Check
  • These instructions are intended specifically for solving the error: (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
  • I’ll be working from both Liquid Web Core Managed Ubuntu 12.04 LTS and 14.04 LTS servers, and I’ll be logged in as root.

Option #1: Multiple ‘Listen’ Directive Entries in Configuration Files

In some cases the (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 error could be caused by multiple Listen directives attempting to bond to the same port (port 80 in this case). We’ll take a look at the configuration files to verify whether or not this may be the case.

For both Ubuntu 12.04 LTS and Ubuntu 14.04 LTS search the following configuration file:

grep Listen /etc/apache2/ports.conf

which for my search resulted in:

Listen 80
Listen 81
Listen 80
Listen 443
Listen 443

It looks like there are two Listen directives for port 80 and port 443, but we’re only concerned about port 80, per the error we received (0.0.0.0:80). Edit the file, and correct the duplicate Listen directive.

For a refresher on editing files with vim see: New User Tutorial: Overview of the Vim Text Editor

vim /etc/apache2/ports.conf

Option #2: Another Process is Already Using Port 80

Evaluate which process(es) may be using port 80 with the following:

Use:

fuser -n tcp 80

in combination with:

ps aux | grep PID

(with PID equal to the ports listed with the fuser command) to evaluate which process is associated with the PIDs using port 80.

Or, use the following one-liner:

ss -plnt sport eq :80

Then, kill of the offending process(es).

Be Sociable, Share!
Here's $75, Launch a New VPS Today. Find out why 30,000 customers have chosen our Best-in-Class Performance & 24x7 Heroic Support.