Apache - Vous n'avez pas la permission d'accéder à / sur ce serveur

À clg.localhost/ j'obtiens une erreur:

Vous n'avez pas la permission d'accéder à /sur ce serveur.

Mais, à la suite de cette, j'ai mis en place mon Apache httpd.conf et sites.conf pour permettre l'accès à AllowOverride all et Require all granted. De quoi d'autre ai-je raté?

Versions:

$ /usr/sbin/httpd -v
Server version: Apache/2.4.23 (Unix)
Server built:   Aug  8 2016 18:10:45

Apache httpd.conf:

DocumentRoot "/Users/danniu/Sites"
<Directory "/Users/danniu/Sites">
    #
    # 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
</Directory>

...

#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other 
# <Directory> blocks below.
#
<Directory />
    AllowOverride all
    Require all granted     
</Directory>

Apache sites.conf:

# Workaround for missing Authorization header under CGI/FastCGI Apache:
<IfModule setenvif_module>
  SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
</IfModule>

# Serve ~/Sites at http://localhost
ServerName localhost

<VirtualHost *:80>
   ServerName clg.localhost
   DocumentRoot /Users/danniu/Sites/CLG/CLG-dev
</VirtualHost>

J'ai pensé que peut-être httpd.conf n'était pas bien d'être pris, donc j'ai spécifié la racine directement dans l'Hôte Virtuel, avec le même problème.

<VirtualHost *:80>
   ServerName clg.localhost
   DocumentRoot /Users/danniu/Sites/CLG/CLG-dev
   # Set access permission
   <Directory "/Users/danniu/Sites/CLG/CLG-dev">
     Require all granted
  </Directory>
</VirtualHost>
Vérifiez si il y a un fichier qui correspond à la valeur par défaut du type de document dans la racine de /Users/danniu/Sites/CLG/CLG-dev comme, index.html, default.htm et de vérifier que vous n'avez pas supprimer ce paramètre de configuration d'apache.
c'est index.php. Il doit toujours chercher index bien, non? Si non, comment puis-je spécifier que c'est un fichier php? Et quel paramètre dans la config d'apache parlez-vous?
Le paramètre dans la config d'apache est DirectoryIndex . Par exemple : DirectoryIndex index.php default.php index.htm default.htm index.html default.html index.phps . Comme pour l'exécution d'un fichier php -- vérifier qu'il peut afficher de simples fichiers html avant de la main. Je suppose que vous avez php installé et le module lié / chargé correctement.
Vérifiez les autorisations de système de fichiers, n'utilisateur qui exécute le processus httpd a les autorisations de lecture pour /Users/danniu/Sites/CLG/CLG-dev?

OriginalL'auteur Growler | 2016-12-30