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.
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
Sur El Capitan, vous devez redémarrer Apache avec le drapeau "-k": Sudo apachectl -k restart