web-dev-qa-db-fra.com

Après l'installation d'OS X El Capitan, Apache ne fonctionne plus

Je viens d'installer mon MacBook Pro "El Capitan" et je ne sais pas taper d'hôte configuré dans vhost. Tout fonctionnait parfaitement avant à Yosemite. Lorsque je tape l'un de mes virtualhost, je reçois:

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

Qu'est-ce que j'ai essayé?

allez au /etc/Apache2/httpd.conf.__ et désactivez les lignes suivantes:

Include /private/etc/Apache2/extra/httpd-vhosts.conf

LoadModule vhost_alias_module libexec/Apache2/mod_vhost_alias.so

/etc/Apache2/extra/httpd-vhosts.conf est le même fichier qui fonctionnait auparavant à Yosemite depuis longtemps, donc je n'ai pas modifié.

Pour tout installer dans Yosemite, j'ai utilisé homebrew.

Un autre problème lié à "El capitan", avant que je puisse taper http://localhost/~myuser/ et que je pouvais accéder à n’importe quel dossier dans /Users/myuser/Sites, je reçois maintenant le message suivant: 404 not found.

J'espère de l'aide, je ne suis pas un spécialiste des serveurs et il m'est vraiment difficile de l'installer, et il est très agaçant de perdre beaucoup de temps chaque fois qu'une nouvelle mise à jour est disponible dans le système d'exploitation.

12
davidrg11

Le processus de mise à niveau conserve une copie de votre ancien httpd.conf. À moins que vous ne soyez obsolète, écrasez simplement le nouveau fichier avec votre ancien. Conservez une copie du nouveau au cas où ...

Sudo cp /etc/Apache2/httpd.conf /etc/Apache2/httpd.conf.after-update
Sudo mv /etc/Apache2/httpd.conf.pre-update /etc/Apache2/httpd.conf
Sudo apachectl restart
25
DSG

J'ai eu le même problème . Tapez cette ligne de commande vous aurez l'erreur d'Apache:

apachectl configtest

Si vous avez cette erreur:

AH00526: Syntax error on line 20 of /private/etc/Apache2/extra/httpd-mpm.conf: Invalid command 'LockFile', perhaps misspelled or defined by a module not included in the server configuration.

donc ce lien peut aider: https://Apple.stackexchange.com/questions/211015/el-capitan-Apache-error-message-ah00526

22
jerems

J'ai vécu cela après la mise à niveau vers El Capitan, la ligne

Include /private/etc/Apache2/extra/httpd-userdir.conf

dans

/private/etc/Apache2/httpd.conf

a été commenté à nouveau. Après avoir supprimé le commentaire et redémarré Apache, tout a fonctionné à nouveau.

10
janwo

J'ai fusionné avec deux versions (httpd.conf et http.conf~previous) et j'ai ensuite découvert que le v-Host ne fonctionnait plus. Après avoir désactivé la règle 19 #NameVirtualHost *:80 dans /private/etc/Apache2/extra/httpd-vhosts.conf, tout fonctionna à nouveau!

3
Jaap van Duijn

LockFile est une directive d'Apache ≤ 2.2. El Capitan est livré avec Apache version 2.4. oui, vous devez désactiver LockFile

Tout d'abord, pour être sûr que Apache est arrêté:

Sudo apachectl stop

Puis éditez votre httpd-mpm.conf: 

Commentez ces lignes

#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
<IfModule !mpm_winnt_module>
<IfModule !mpm_netware_module>
  LockFile "/private/var/log/Apache2/accept.lock"
</IfModule>
</IfModule>

Démarrer Apache Sudo apachectl start et c'est tout

2
PolloZen

Comme certains l'ont mentionné, le problème est que la mise à niveau vers El Capitan a sauvegardé votre httpd.conf précédent et l'a renommé httpd.conf ~ previous et vous a donné un nouveau httpd.conf. Ce que vous devez faire avec ces fichiers pour résoudre votre problème est le suivant:

Utilisez nano ou un autre éditeur pour ouvrir httpd.conf ~ previous et cherchez ces 2 lignes:

DocumentRoot "/Users/my-machine-name/Prev-Localhost-Path
<Directory "/Users/my-machine-name/Prev-Localhost_path">

Copiez-les puis, à l'aide de nano, ouvrez httpd.conf et recherchez ces 2 lignes:

DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">

Commentez-les en entrant le caractère '#' devant chacun d'eux, puis collez-les sous les deux lignes que vous avez copiées à partir de votre fichier d'origine. Enregistrez le fichier et quittez.

Après cela, vous devrez redémarrer. Ma configuration ne fonctionnera pas tant que je n'aurai pas apporté ces modifications, puis redémarré. Mais peut-être que la suggestion de DSG de redémarrer Apache suffira:

Sudo apachectl restart
0
Alyoshak