web-dev-qa-db-fra.com

Changer le répertoire localhost pour Yosemite Apache 2.4

J'ai installé Mac OSX Yosemite, mais je ne peux pas configurer Apache 2.4 comme je l'ai toujours fait sur les anciennes versions OSX.

Voici ce que je veux faire: définir le répertoire "localhost" sur "/ Users/username/Public /". Mais, tout ce que j'ai essayé ne fonctionnera pas, j'obtiens toujours un "Forbiden, impossible d'accéder à /" ou j'obtiens la valeur par défaut "Ça marche!" page...

Comment simplement redémarrer mon hôte local?

THX

EDIT (merci à Krister Andersson pour la réponse)

Pour Mac OSX 10.10 Yosemite

Je poste également les modifications que j'ai dû faire pour que les choses fonctionnent.

Dans "/ etc/Apache2/users /", j'ai créé un fichier nommé par mon nom d'utilisateur comme ceci "myUsername.conf".

Vous pouvez obtenir votre nom d'utilisateur en tapant "id" dans le terminal. Vous devriez trouver votre nom d'utilisateur au début dans "uid = 501 (myUsername)".

Dans ce nouveau fichier "myUsername.conf", copiez juste après ceci:

<Directory "/Users/myUsername/Sites/">
    AllowOverride All
    Options Indexes MultiViews
    Options +FollowSymLinks
    Require all granted
</Directory>

Ne pardonnez pas de changer la valeur myUsername.

Ensuite, dans le fichier "/etc/Apache2/httpd.conf", décommentez toutes ces deux lignes:

167 #LoadModule userdir_module libexec/Apache2/mod_userdir.so
169 #LoadModule php5_module libexec/Apache2/libphp5.so

Ligne 236, changez le répertoire de "DocumentRoot" en ce que vous voulez. Ligne 250, définissez "Options" sur "Options" Options Indexes FollowSymLinks Multiviews ". Ligne 258, définissez" AllowOverride None "sur" AllowOverride All ".

Dans Terminal, redémarrez Apache en tapant "Sudo apachectl restart".

Cela fonctionne pour moi sur Mac OS X 10.10 Yosemite clean install.

31
Jordan

Je viens d'installer Yosemite et j'ai réussi à changer le DocumentRoot sans aucun problème. J'ai d'abord modifié les lignes suivantes dans /private/etc/Apache2/httpd.conf:

DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
Options FollowSymLinks Multiviews

AllowOverride None
</Directory>

à:

DocumentRoot "<CUSTOM_PATH>"
<Directory "<CUSTOM_PATH>">
Options Indexes FollowSymLinks Multiviews

AllowOverride All
</Directory>

Ce qui précède définira un DocumentRoot personnalisé, activera la liste des répertoires et permettra aux configurations d'être remplacées par .htaccess des dossiers.

J'ai ensuite redémarré Apache en exécutant Sudo apachectl restart.

Une autre approche serait de mettre en place un hôte virtuel. Assurez-vous d'abord que la ligne suivante n'est pas commentée dans votre /private/etc/Apache2/httpd.conf fichier:

# Virtual hosts
#Include /private/etc/Apache2/extra/httpd-vhosts.conf

Ensuite, vous pouvez ajouter ce qui suit dans le httpd-vhosts.conf fichier:

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot "/Library/WebServer/Documents"
   ServerName example.local
   ErrorLog "/private/var/log/Apache2/example.local-error_log"
   CustomLog "/private/var/log/Apache2/example.local-access_log" common

   <Directory "/Library/WebServer/Documents">
     Options Indexes FollowSymLinks Multiviews
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>
</VirtualHost>

Ce qui précède configurera une racine de document pour un nouvel hôte virtuel nommé example.local et activer la liste des répertoires et autoriser la substitution des configurations par .htaccess des dossiers. Bien sûr, vous devrez également redémarrer Apache pour que les modifications prennent effet:

Sudo apachectl restart
42
Cyclonecode

Sur El Capitan, vous devez redémarrer Apache avec le drapeau "-k": Sudo apachectl -k restart

10
Dima Murdock