title: Apache - You don't have permission to access / on this server
body: <p>At <code>clg.localhost/</code> I'm getting error:</p>
  
  <blockquote>
    <p>You don't have permission to access / on this server.</p>
  </blockquote>
  
  <p>But, following <a href="https://stackoverflow.com/questions/10873295/error-message-forbidden-you-dont-have-permission-to-access-on-this-server">this</a>, I've set up my Apache <code>httpd.conf</code> and <code>sites.conf</code> to allow access with <code>AllowOverride all</code> and <code>Require all granted</code>. What else am I missing?</p>
  
  <p>Versions:</p>
  
  <pre><code>$ /usr/sbin/httpd -v
  Server version: Apache/2.4.23 (Unix)
  Server built:   Aug  8 2016 18:10:45
  </code></pre>
  
  <p>Apache httpd.conf:</p>
  
  <pre><code>DocumentRoot "/Users/danniu/Sites"
  &lt;Directory "/Users/danniu/Sites"&gt;
      #
      # Possible values for the Options directive are "None", "All",
      # or any combination of:
      #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
      #
      # Note that "MultiViews" must be named *explicitly* --- "Options All"
      # doesn't give it to you.
      #
      # The Options directive is both complicated and important.  Please see
      # http://httpd.apache.org/docs/2.4/mod/core.html#options
      # for more information.
      #
      Options FollowSymLinks Multiviews
      MultiviewsMatch Any
  
      #
      # AllowOverride controls what directives may be placed in .htaccess files.
      # It can be "All", "None", or any combination of the keywords:
      #   AllowOverride FileInfo AuthConfig Limit
      #
      AllowOverride all
  
      #
      # Controls who can get stuff from this server.
      #
      Require all granted
  &lt;/Directory&gt;
  
  ...
  
  #
  # Deny access to the entirety of your server's filesystem. You must
  # explicitly permit access to web content directories in other 
  # &lt;Directory&gt; blocks below.
  #
  &lt;Directory /&gt;
      AllowOverride all
      Require all granted     
  &lt;/Directory&gt;
  </code></pre>
  
  <p>Apache sites.conf:</p>
  
  <pre><code># Workaround for missing Authorization header under CGI/FastCGI Apache:
  &lt;IfModule setenvif_module&gt;
    SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
  &lt;/IfModule&gt;
  
  # Serve ~/Sites at http://localhost
  ServerName localhost
  
  &lt;VirtualHost *:80&gt;
     ServerName clg.localhost
     DocumentRoot /Users/danniu/Sites/CLG/CLG-dev
  &lt;/VirtualHost&gt;
  </code></pre>
  
  <p>I thought perhaps <code>httpd.conf</code> wasn't properly being picked up, so I specified the root directly in the Virtual Host, with the same issue. </p>
  
  <pre><code>&lt;VirtualHost *:80&gt;
     ServerName clg.localhost
     DocumentRoot /Users/danniu/Sites/CLG/CLG-dev
     # Set access permission
     &lt;Directory "/Users/danniu/Sites/CLG/CLG-dev"&gt;
       Require all granted
    &lt;/Directory&gt;
  &lt;/VirtualHost&gt;
  </code></pre>