先日は macOS Sierra へのバージョンアップで一日潰れた。その後,Web アプリのデバッグのために,macOS 上の開発コンテンツにアクセスしたところ,Web サーバが動いていない。そうだ,そうだ,macOS では Apache を動かすのに,システム環境設定で「Web 共有」をオンにするんだったと思い出して,システム環境設定メニューをみると「Web 共有」がない。え? Apache Web サーバを自分でインストールしなくちゃいけなくなったのか?
そうではなかった。which apachectl とやるとパスが表示されるので,Apache は標準で macOS に入っていることがわかる。そこで sudo apachectl start とやってみると,Apache が立ち上がった…ようにみえた。ところがブラウザからアクセスしてもやっぱりだめ。シスログ /private/
Sep 7 00:16:42 margarita com.apple.xpc.launchd[1] (org.apache.httpd[1135]): Service exited with abnormal code: 1
のような感じで,Apache が異常終了している。よくわからん。
sudo apachectl と引数なしで起動すると以下のようなメッセージが出た。
$ sudo apachectl httpd: Syntax error on line 135 of /private/etc/apache2/httpd.conf: Cannot load libexec/apache2/mod_proxy_ajp.so into server: dlopen(/usr/libexec/apache2/mod_ proxy_ajp.so, 10): Symbol not found: _proxy_module\n Referenced from: /usr/ libexec/apache2/mod_proxy_ajp.so\n Expected in: flat namespace\n in /usr/ libexec/apache2/mod_proxy_ajp.so
旧 macOS Mavericks 環境の追加コンフィグレーションが残っていて,Apache はそれを読み込んで mod_
こうして問題は一応解決した。ネットで調べたところ,macOS ではいつからか「Web 共有」をシステム環境設定メニューから隠蔽する仕様に変わったらしい。ま,普通のユーザがローカルに Web サーバを起動して使う必要はほぼないので,余計な設定を見せないようにしたということか。セキュリティ上の理由が第一だろう。こっそり見ていた恥ずかしい画像やら動画やらが知らないうちに Web サーバ経由でネット公開されてしまっているのに気づいて青くなったやつが大勢いたのかも。
それにしても,見せていたものを見せなくするのは勇気のいることで,Apple はこのあたりバッサバッサって感じで恐れ入る。サポートだって,OS がちょっと旧くなるとすぐ止めてしまう。
白露初侯の満月の夜,かくしてまたもや計算機に煩わせられた。