Ubuntu 14.04.1 upgrade leaves Apache giving 403s for every site.

Good day!

I attempted to upgrade my virtualmin server from 14.04 to 14.04.1 - and it mostly worked. :-/

I destroyed the files in my /etc/apache2 - so apache2 wasn’t even able to start.

Once I realized that this was the cause, I created a new instance of virtualmin on a separate machine, then copied the files /etc/apache2 from it - taking care not to overwrite sites-available and sites-enabled.

So this gets apache2 running but now every request gets a 403 Forbidden.

There are errors in the error_log for the individual site:

[Thu Sep 25 12:08:25.888572 2014] [authz_core:error] [pid 2872] [client] AH01630: client denied by server configuration: /home/swirly/public_html/
[Thu Sep 25 12:08:26.146392 2014] [authz_core:error] [pid 2872] [client] AH01630: client denied by server configuration: /home/swirly/public_html/favicon.ico
[… forever …]

BUT I’m using the same Apache configuration files that worked perfectly well this morning - I attached one for your consideration.

It must be reading that configuration file, because it wouldn’t have gotten as far as it did. But that file seems to indicate that these files ARE readable - in the <Directory /home/swirly/public_html> section.

I’m at a dead end, not even sure how to investigate further. Your suggestions are gratefully solicited…


Hmm, it seems to be missing the “Require all granted” lines.

In your Apache config, where ever it says “allow from all”, there should be another line that says “Require all granted” in there as well.

To help us figure out a way to prevent this sort of problem – did you by chance import any Virtualmin settings from a previous Virtualmin version? Or were these domains always running on Ubuntu 14.04?


Adding “require all granted” enabled a domain…!

I’m going to quickly add this to each line in each conf.

I haven’t upgraded virtualmin directly at all. Before this, I was running virtualmin on 14.04 - then I upgraded and was running them on 14.04.1. There was no restore or import phase.

Thanks, that hit the spot. :smiley:

It seems to me that the upgrade must have also moved to a new version of Apache which was less permissive of that missing statement…!

I’ll report back if you want me to make any more experiments.