コロナのせいで延び延びになっていた、WWWサーバーのリプレースを行った。
正直な気持ちを言うと、こういう色々しんどい時期に (例年の何割増か忙しい)、 まとまった時間を捻出するのは大変だけれど、 セキュリティ関係は待ったなしで仕方がない…
幸い、Mac では Apple がサポートしているので (Apacheはインストール済みで、 随時更新される)、作業としては比較的簡単な方だ。
ターミナルで次のようにチェック |
$ which httpd /usr/sbin/httpd $ httpd -v Server version: Apache/2.4.41 (Unix) Server built: Jun 5 2020 23:42:06 |
sudo apachectl start sudo apachectl stop sudo apachectl restart |
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist |
/etc/apache2/httpd.conf で変更する部分 |
#LoadModule userdir_module libexec/apache2/mod_userdir.so LoadModule userdir_module libexec/apache2/mod_userdir.so #Include /private/etc/apache2/extra/httpd-userdir.conf Include /private/etc/apache2/extra/httpd-userdir.conf |
ユーザーごとの設定は、 /etc/apache2/users/loginname.conf というファイルを用意する (loginname はいわゆるユーザー名)。
sudo vi /etc/apache2/users/mk.conf |
/etc/apache2/users/mk.conf |
<Directory "/Users/mk/Sites/"> AllowOverride All Options Indexes MultiViews Options +FollowSymLinks Require all granted Order allow,deny Allow from all </Directory> |
さらに /etc/apache2/extra/httpd-userdir.conf に1行追加する (これも # を外すだけ)。
/etc/apache2/extra/httpd-userdir.conf |
#Include /private/etc/apache2/users/*.conf Include /private/etc/apache2/users/*.conf |
以下は真偽のほどは分からない (そのうち確認するつもり)。 ネットを見ると、 これまで問題なく動いていたけれど、 macOS を Catalina にアップグレードしたら動かなくなった、 という訴えがあって、次のような処方が示されていた。
[システム環境設定] [セキュリティとプライバシー] [プライバシー] フルディスクアクセスを /usr/sbin/httpd に与える。(上に書いたタイプミスのせいで色々試したときにやって、 タイプミスが分かってからも元に戻していない。 だからこの処方が本当に必要かは分かっていない。)
無事動くようになってほっとしたが、しばらくしてからアクセスしたら、 レスポンスがない。辛抱強く続けたら、無事に読めるようになったけれど、 一体なぜだろう?? … 実はサーバーがスリープしていたらしい。 そうか、サーバーでないマシンはスリープするのがデフォールトの設定だものね。 最近やっていなかったので、ちょっとボケている。
(2020/12/31) その後、順調・快適に動いている。 レスポンスがよくなったように感じられる (サーバーにしたマシンの性能差だろう)。 OS が新しくなったので、 しばらくはベンダー(Apple)のセキュリティ更新を信用して運用してみる。