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 Bugs, which is subscribed to 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 -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs