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:
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.
Option #2: Another Process is Already Using Port 80
Evaluate which process(es) may be using port 80 with the following:
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).