Unable to start Apache on Ubuntu 12.10: no listening sockets available
I'm unable to start apache2 installed using apt-get. I'm getting the very same error on 2 separate Ubuntu 12.10 installations, one on my desktop PC, the other one running in VirtualBox:
michal@michaltest:~$ sudo service apache2 start
* Starting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
lsof says:
michal@michaltest:/var/log/apache2$ sudo lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ubuntu-ge 2074 michal 11u IPv4 23978 0t0 TCP michaltest.local:47578->mulberry.canonical.com:http (CLOSE_WAIT)
firefox 25194 michal 71u IPv4 42477 0t0 TCP michaltest.local:59793->69.59.197.29:http (ESTABLISHED)
firefox 25194 michal 76u IPv4 41834 0t0 TCP michaltest.local:59698->69.59.197.29:http (ESTABLISHED)
gvfsd-htt 25320 michal 12u IPv4 42568 0t0 TCP michaltest.local:56203->lb260.amst.cotendo.net:http (CLOSE_WAIT)
netstat says:
michal@michaltest:/var/log/apache2$ sudo netstat -lnp | grep '80'
unix 2 [ ACC ] STREAM LISTENING 8030 876/acpid /var/run/acpid.socket
/var/log/apache2/error.log:
[Thu Nov 08 11:13:30 2012] [notice] Apache/2.2.22 (Ubuntu) configured -- resuming normal operations
[Thu Nov 08 11:17:32 2012] [notice] caught SIGTERM, shutting down
/etc/apache2/ports.conf:
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Thanks for your help.
EDIT #1:
michal@michaltest:~$ sudo netstat -ano | grep '443'
tcp 54 0 10.0.2.15:58504 91.189.92.70:443 CLOSE_WAIT off (0.00/0/0)
you just need to remove nginx (3 packages) then that's it.....
Your primary issue is no listening sockets available.You are facing this issue because another application/service acquired port 80 on your Ubuntu Server.
Now you need to Kill the process which acquired port 80. You can find that easily with following command :-
sudo netstat -ltnp | grep ':80'
This will return something like :-
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 1588/aolserver4-nsd
for above case Process number 1588 acquired port 80 , you need to kill that process 1588.
sudo kill -9 1588
Now you can start your apache server by following command
sudo /etc/init.d/apache2 start
To resolve "apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName" error, kindly specify following in your apache2.conf file
ServerName HOSTNAME_OF_THE_SERVER
Save conf file and restart apache server.
Kindly post the output of sudo netstat -ano | grep '443'
Also ensure that if you are configuring apache to listen on 443 / ssl port you should have configured ssl certificate on apache webserver.