2

So, today i updated a bunch of web servers from 12.04.2 to 12.04.3 and guess what, not a single vhost was working after the update.

the main reasons were:

in apache2.conf the line IncludeOptional sites-enabled/* was replaced by IncludeOptional sites-enabled/*.conf

OK, no big deal. All the symlinks in our sites-enabled dirs were missing a .conf extension so those files wouldn't get included in the config.

However, something the way Apache handles access control changed between the versions as well. According to http://httpd.apache.org/docs/2.4/upgrading.html#access I had to change

Order allow,deny
Allow from all

in the vhost config to

Require all granted

or include the mod_access_compat module.

Now, my question is ... I always felt that LTS releases should be update-able without breaking anything. With that I mean the ability to run sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade without breaking anything. Was that assumption wrong? If so, where and how can I find out in advance what will happen the next time? What I mean is, how do I find out that I will have to modify my apache / php / whatever config after updating?

2

Are you sure that Apache 2.4 was installed from one of Ubuntu's canonical repositories? Are you using any PPAs?

Apache 2.2 to 2.4 was upgraded on me by a 3rd party PPA for PHP 5.4. It was changed to PHP 5.5 and Apache 2.4 was added to the PPA at one point. A new Vagrant up after a destroy broke when I ran into the same problem you did and the vhost config was incompatible with Apache 2.4.

What does the output from "apt-cache policy apache2" look like? I've just created a new blank Vagrant instance and performed a sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade. This is my output:

t# apt-cache policy apache2
apache2:
  Installed: (none)
  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
     2.2.22-1ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

I suspect that you'll see Apache 2.4 came from a 3rd party repo and not the canonical repositories for 12.04.

1

I can confirm this issue as well. On 11/27, I did all Ubuntu updates using Webmin. The vhosts broke but have now been easily fixed by adding .conf extension. Adding

<Directory />
  Options All
  AllowOverride All
  Require all granted
</Directory>

to my vhost files did the trick.

Also in my case, the uploadprogess PHP extension was also broken as per my Drupal status reports. The solution that finally worked was to simply uninstall with PECL and reinstall. The Apache update apparently moved the .so file into another dir and reinstalling put it back in the proper location.

As for a third party repository being the source of 2.4, the only ones that have been added were 2 for Webmin. I've never worried about system updates before but I guess now I have to :( I think Ubuntu messed up.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.