Ubuntu: Changes in Apache Config between 12.04.2 and 12.04.3 LTS



Question:

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?


Solution:1

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.


Solution:2

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.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »