- 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 FilesIn 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 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.confwhich 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
Option #2: Another Process is Already Using Port 80Evaluate which process(es) may be using port 80 with the following: Use:
fuser -n tcp 80in 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 :80Then, kill of the offending process(es).