I use XAMPP to develop PHP applications on my desktop. As part of the requirement of my new project, I needed to upgrade XAMPP 1.7.X to the latest version, as of this writing it is 1.8.1. Before the update, I back up my configuration files. Likewise, I know that all functions, virtual hosts and aliases are working properly.
Without wasting too much time, I upgraded my XAMPP, restored my configurations files, started XAMPP and happily open my development virtual host. What greeted me is an "Access forbidden" error.
I tried looking at the error log file. The error is
client denied by server configuration
I have searched he net on possible solutions but no concrete answer was given so I needed to research on the issue. I started what changed on XAMPP 1.7.7 to 1.8.1.
The most significant changes are
XAMPP version 1.7.7 + Apache 2.2.21 + MySQL 5.5.16 (Community Server) + PHP 5.3.8 (VC9 X86 32bit thread safe) + PEAR XAMPP 1.8.1 + Apache 2.4.3 + MySQL 5.5.27 (Community Server) + PHP 5.4.7 (VC9 X86 32bit thread safe) + PEAR
From above, I am currently using Apache 2.4.3 from the old 2.2.21. I needed to know what actually changed in the Apache configuration file. Apache provided the answers I was looking to solve the error.
Apache 2.2 configuration:
Allow from all
Apache 2.4 configuration:
Require all granted
Following the above configuration, I changed my configuration files and presto, the error is gone.