Question: I have followed this guide to set-up Apache on High Sierra: <https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/>

I used it to set it up on Sierra.

But when I go to `http://localhost/~scott/` I get "Forbidden. You don't have permission to access /~scott/ on this server."

A suggestion on this similar question: [localhost / userdir on macOS High Sierra](https://apple.stackexchange.com/questions/299928/localhost-userdir-on-macos-high-sierra) is to load vhosts. Which I've tried, but still get "Forbidden".

Has anything changed between Sierra and High Sierra which would be preventing Apache from working with user Sites folders?

Answer: 
To allow access to the Sites directory, you have to add the following to `/etc/apache2/httpd.conf`:

```
<DirectoryMatch "/Users/.*/Sites">
  Require all granted
</DirectoryMatch>

```

The default Apache configuration is set to *denied* on /, so you have to explicitly allow access to everything.
It happens that the update moved all your previous configuration to the files .conf~previous.
If you move /etc/apache2/extra/httpd-userdir.conf~previous to /etc/apache2/extra/httpd-userdir.conf, and /etc/apache2/extra/httpd.conf~previous to /etc/apache2/extra/httpd.conf, it should work like before.

```
mv /etc/apache2/extra/httpd-userdir.conf /etc/apache2/extra/httpd-userdir.conf~high-sierra
mv /etc/apache2/httpd.conf /etc/apache2/httpd.conf~high-sierra
mv /etc/apache2/extra/httpd-userdir.conf~previous /etc/apache2/extra/httpd-userdir.conf
mv /etc/apache2/httpd.conf~previous /etc/apache2/httpd.conf
apachectl restart

```