[Bug 1207384] [NEW] apache2 failure to start on boot when binding to IPv6 address
Nicholas Meyer
nickmeyer07 at gmail.com
Thu Aug 1 14:34:01 UTC 2013
Public bug reported:
Pertinent info:
Description: Ubuntu 12.04.2 LTS
Release: 12.04
apache2:
Installed: 2.2.22-1ubuntu1.4
Candidate: 2.2.22-1ubuntu1.4
Version table:
*** 2.2.22-1ubuntu1.4 0
500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
100 /var/lib/dpkg/status
2.2.22-1ubuntu1 0
500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
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
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 of /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.
** Affects: apache2 (Ubuntu)
Importance: Undecided
Status: New
** Description changed:
Pertinent info:
Description: Ubuntu 12.04.2 LTS
Release: 12.04
apache2:
- Installed: 2.2.22-1ubuntu1.4
- Candidate: 2.2.22-1ubuntu1.4
- Version table:
- *** 2.2.22-1ubuntu1.4 0
- 500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
- 500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
- 100 /var/lib/dpkg/status
- 2.2.22-1ubuntu1 0
- 500 http://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://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
+ 500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
+ 100 /var/lib/dpkg/status
+ 2.2.22-1ubuntu1 0
+ 500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
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 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
+ 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
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
+ did not help; however, adding it to the beginning of /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.
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to apache2 in Ubuntu.
https://bugs.launchpad.net/bugs/1207384
Title:
apache2 failure to start on boot when binding to IPv6 address
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1207384/+subscriptions
More information about the Ubuntu-server-bugs
mailing list