web-dev-qa-db-ja.com

OS X El Capitanをインストールした後、Apacheが機能しない

MacBook pro "El capitan"にインストールしたばかりで、vhostに設定したホストを入力できません。 Yosemiteでは、以前はすべてが完全に機能していました。仮想ホストの1つを入力すると、次の結果が得られます。

403 "このサーバーへのアクセス/アクセス許可がありません。"

私は何を試しましたか?

/etc/Apache2/httpd.confに移動して、次の行のコメントを外します。

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

LoadModule vhost_alias_module libexec/Apache2/mod_vhost_alias.so

/etc/Apache2/extra/httpd-vhosts.confは、Yosemiteで以前から動作していた同じファイルであるため、変更していません。

Yosemiteにすべてをインストールするために、homebrewを使用しました。

「El capitan」に関連する別の問題、http://localhost/~myuser/を入力する前に/Users/myuser/Sitesの任意のフォルダーにアクセスできるようになったので、次のメッセージが表示されます:404 not found

私はサーバーの専門家ではないので、助けて欲しいと思っています。設定するのは本当に難しく、OSの新しいアップグレードがあるたびに多くの時間を浪費するのは非常に面倒です。

12
davidrg11

アップグレードプロセスでは、古いhttpd.conf。古くなっていない限り、新しいファイルを古いファイルで上書きしてください。念のために新しいコピーを保管してください...

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

私も同じ問題を抱えていました。このコマンドラインを入力すると、Apacheからエラーが発生します。

apachectl configtest

このエラーがある場合:

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.

このリンクが役立ちます: https://Apple.stackexchange.com/questions/211015/el-capitan-Apache-error-message-ah00526

22
jerems

エルキャピタンにアップグレードした後、ラインを経験しました

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

/private/etc/Apache2/httpd.conf

再びコメントされました。コメントを解除してApacheを再起動すると、すべてが再び正常に機能しました。

11
janwo

2つのバージョンにマージしました(httpd.confおよびhttp.conf~previous)その後、v-Hostが機能しなくなっていることがわかりました。ルール19を無効にした後#NameVirtualHost *:80 in /private/etc/Apache2/extra/httpd-vhosts.confすべてが再び機能しました!

3
Jaap van Duijn

LockFileはApache≤2.2のディレクティブです。 El CapitanにはApacheバージョン2.4が付属しています。そのため、LockFileを無効にする必要があります

まず、Apacheが停止していることを確認するだけです。

Sudo apachectl stop

次に、httpd-mpm.conf:

この行にコメントする

#
# 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>

Apacheを起動Sudo apachectl startそしてそれがすべてです

2
PolloZen

一部の人が問題に言及したように、El Capitanへのアップグレードは以前のhttpd.confをバックアップし、httpd.conf〜previousに名前を変更し、新しいhttpd.confを提供したことです。問題を解決するためにこれらのファイルを使用して行う必要があるのは次のとおりです。

Nanoまたは他のエディターを使用してhttpd.conf〜previousを開き、次の2行を探します。

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

それらをコピーしてから、nanoを使用してhttpd.confを開き、次の2行を探します。

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

各行の前に「#」文字を入力してコメントアウトし、元のファイルからコピーした2行に貼り付けます。ファイルを保存して終了します。

その後、再起動する必要があります。これらの変更を行ってから再起動するまで、セットアップは機能しませんでした。ただし、DSGによるApacheの再起動の提案はおそらく十分でしょう。

Sudo apachectl restart
0
Alyoshak