自身のMacBook ProのOSを10.14から10.15にアップデートしたらhttpd.confの設定が飛んでしまったので解決メモ。
正確には飛んでしまった、というよりもこれまで使っていたhttpd.confが「場所が変更された項目」に移動されてしまい、10.15に準拠したファイルが新たに作成されていました。
#「場所が変更された項目」とは
10.14から10.15へとアップデートが完了した際に、突如デスクトップに出現した「場所が変更された項目」へのエイリアス。大元は**/ユーザ/共有/**以下に作成されています。
そのフォルダに「場所が変更された項目とは?.lpdf」というファイルがあるので、その内容を抜粋。
(ん?.lpdfファイル?)
前回のmacOSアップグレードまたはファイル移行中に、一部のファイルを新 しい場所に移動できませんでした。このフォルダには、移動できなかった ファイルが含まれています。
新しい場所に移動する必要があるファイル
macOSのセキュリティ設定に適合しなくなった場所にあったファイルがありました。確認の ために、それらのファイルは“セキュリティ”フォルダに移動されました。
保持したいファイルは、アップグレードまたは移行の前の場所とは別の場所であれば、新しい 場所に移動できます。
構成ファイル
これらの構成ファイルはご自身、別のユーザ、またはアプリケーションによって変更またはカ スタマイズされました。それらの変更は最近のmacOSアップグレードと互換性がありませ
ん。変更されたファイルは“構成”フォルダ内にあり、元の場所の名前が付いたサブフォルダで 整理されています。
カスタム構成のいずれかを復元するには、macOSのアップグレード時に行われた構成変更と 比較して、可能であれば両者を統合してください。
ということです。httpd.confは「構成」フォルダ以下に置かれているので、構成ファイルの内容によれば、旧httpd.confと新httpd.confは互換性がないとのこと。マジですか。
#新しいhttpd.confを確認
とりあえず**/etc/apache2/httpd.conf**を開いて内容を確認。
一部これまでなかった記述があるものの、全体としては同じような内容。
一先ず旧httpd.confを参考に新しい方を更新。
自分のMacではPHPとPerlの設定がしてあったので、それを記載します。
186行目 #LoadModule php7_module libexec/apache2/libphp7.so →コメントアウトはずす
458行目 #AddOutputFilter INCLUDES .shtmlから459行目 </IfModule>の間に
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
の2行を追記
170行目 #LoadModule cgid_module libexec/apache2/mod_cgid.so
173行目 #LoadModule cgi_module libexec/apache2/mod_cgi.so
183行目 #LoadModule userdir_module libexec/apache2/mod_userdir.so
185行目 #LoadModule rewrite_module libexec/apache2/mod_rewrite.so
187行目 #LoadModule perl_module libexec/apache2/mod_perl.so
→コメントアウトはずす
268行目 Options FollowSymLinks Multiviews →末尾にExecCGI追記
446行目 #AddHandler cgi-script .cgi →コメントアウト外して、末尾に.pl追加
199行目 User _www →設定したいユーザ名に
200行目 Group _www →設定したいユーザ名に
221行目 ServerAdmin you@example.com →設定したいメールアドレスに
230行目 ServerName www.example.com:80 →設定したいURLに
変更が終わったら保存してapacheを再起動。
特に問題なく起動し、Webページも問題なく表示されました。
#まとめ
今回行った記述変更は旧OSと全く同じ。
ということは、移動された理由としては、新しいOSとの互換がないとのことだけど
自分で手を加えた内容がNG、ということではなさそう。
とはいえ、今回はローカル環境で気づいたけど、他の人も閲覧するサーバでアップデート後に
気づかないと各所問題が起きるので要注意。