Issue:
Apache fails to start on boot when attempting to bind to an IPv6 address. boot.log shows the following (IP changed for privacy purposes):
(99)Cannot assign requested address: make_sock: could not bind to address [2001:db8::1]:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
* Starting web server apache2 [fail]
Starting manually (apachectl start) after boot starts the daemon as expected.
Here is the inet6 section of my /etc/network/interfaces. Again, IPs removed for privacy. The post-up/pre-down route directives are required to access my provider's network:
iface eth0 inet6 static
address 2001:db8::1
netmask 64
up /sbin/ifconfig eth0 inet6 add 2001:db8::2/64
down /sbin/ifconfig eth0 inet6 del 2001:db8::2/64
post-up /sbin/ip -f inet6 route add 2001:db8::ff:ff:ff:ff dev eth0
post-up /sbin/ip -f inet6 route add default via 2001:db8::ff:ff:ff:ff
pre-down /sbin/ip -f inet6 route del default via 2001:db8::ff:ff:ff:ff
pre-down /sbin/ip -f inet6 route del 2001:db8::ff:ff:ff:ff dev eth0
Adding the while loop shown on at that URL to /etc/network/interfaces did not help; however, adding it to the beginning /etc/init.d/apache2 resolved the issue. Suggest implementing something similar as a fix; have /etc/init.d/apache2 check for IPs in the tentative state and sleep until resolved.
Pertinent info:
Description: Ubuntu 12.04.2 LTS
Release: 12.04
apache2: us.archive. ubuntu. com/ubuntu/ precise- updates/ main amd64 Packages security. ubuntu. com/ubuntu/ precise- security/ main amd64 Packages dpkg/status 2.22-1ubuntu1 0 us.archive. ubuntu. com/ubuntu/ precise/main amd64 Packages
Installed: 2.2.22-1ubuntu1.4
Candidate: 2.2.22-1ubuntu1.4
Version table:
*** 2.2.22-1ubuntu1.4 0
500 http://
500 http://
100 /var/lib/
2.
500 http://
Issue:
Apache fails to start on boot when attempting to bind to an IPv6 address. boot.log shows the following (IP changed for privacy purposes):
(99)Cannot assign requested address: make_sock: could not bind to address [2001:db8::1]:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
* Starting web server apache2 [fail]
Starting manually (apachectl start) after boot starts the daemon as expected.
Here is the inet6 section of my /etc/network/ interfaces. Again, IPs removed for privacy. The post-up/pre-down route directives are required to access my provider's network:
iface eth0 inet6 static :ff:ff: ff:ff dev eth0 :ff:ff: ff:ff :ff:ff: ff:ff :ff:ff: ff:ff dev eth0
address 2001:db8::1
netmask 64
up /sbin/ifconfig eth0 inet6 add 2001:db8::2/64
down /sbin/ifconfig eth0 inet6 del 2001:db8::2/64
post-up /sbin/ip -f inet6 route add 2001:db8:
post-up /sbin/ip -f inet6 route add default via 2001:db8:
pre-down /sbin/ip -f inet6 route del default via 2001:db8:
pre-down /sbin/ip -f inet6 route del 2001:db8:
Doing a little bit of research, it appears apache is trying to bind to an IP in the tentative state. (source: http:// pyro.eu. org/how- to/micro/ nginx-cannot- assign- requested- address- ipv6.txt).
Adding the while loop shown on at that URL to /etc/network/ interfaces did not help; however, adding it to the beginning /etc/init.d/apache2 resolved the issue. Suggest implementing something similar as a fix; have /etc/init.d/apache2 check for IPs in the tentative state and sleep until resolved.