Comment changer la racine du document pour Apache2 sous Mac OS X

13

L'emplacement par défaut de la racine du document selon httpd.conf est /Library/WebServer/Documents. Je veux que cet endroit soit /webcontent. Pour ce faire, j'ai créé un dossier webcontent à la racine (/). Puis dans le httpd.conf:

  • Modification de la ligne racine du document en DocumentRoot /webcontent
  • Changé la balise Directory en <Directory "/webcontent">;

Après avoir redémarré Apache, j'obtiens la page suivante:

Interdit

Vous n'êtes pas autorisé à accéder à / sur ce serveur.

Quelqu'un pourrait-il me dire si je dois modifier des autorisations ailleurs pour modifier la racine du document?

tintin
la source
Avez-vous un index.htmlstocké dans /webcontent/?
Earl
Non, mais j'ai un test.html placé dans le dossier webcontent. Lorsque j'y accède, je reçois cette erreur interdite. Est-il obligatoire d'ajouter index.html?
tintin du

Réponses:

10

Le httpd.conffichier fourni avec OS X a un refus par défaut qui verrouille chaque répertoire de chaque client. Il permet ensuite d'accéder au DocumentRootrépertoire - ce serait la valeur par défaut de /Library/WebServer/Documents. Faites défiler la page dans ce fichier et vous verrez:

<Directory "/Library/WebServer/Documents">
    # [...]
    Options Indexes FollowSymLinks MultiViews

    # [...]
    AllowOverride None

    # [...]
    Order allow,deny
    Allow from all

</Directory>

Changez le "/Library/WebServer/Documents"bit en "/webcontent"et vous êtes bon.

Brad Ackerman
la source
0

Pour suivre la réponse de @Bred Ackerman, si vous utilisez Apache Vhost, vous devrez ajouter: private / etc / apache2 / extra / httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "/Users/fred/Sites"
    ServerName 127.0.0.1
    ServerAlias localhost
    ErrorLog "/private/var/log/apache2/localhost-error_log"
    CustomLog "/private/var/log/apache2/localhost-access_log" common
</VirtualHost>
John Magnolia
la source