まとめ
- Apache で実行ユーザー・グループを root にしてはいけない。
- どうしても root ユーザー・グループで実行したければ次のようにすること。 ->
If you still desire to serve pages as root then add -DBIG_SECURITY_HOLE to the CFLAGS env variable and then rebuild the server.
環境
root@34465a8993f2:/var/www/html# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@34465a8993f2:/var/www/html#
root@34465a8993f2:/var/www/html# apachectl -v
Server version: Apache/2.4.25 (Debian)
Server built: 2018-11-03T18:46:19
root@34465a8993f2:/var/www/html#
エラーメッセージ
wordpress_1 | Error:\tApache has not been designed to serve pages while\n\trunning as root. There are known race conditions that\n\twill allow any local user to read any file on the system.\n\tIf you still desire to serve pages as root then\n\tadd -DBIG_SECURITY_HOLE to the CFLAGS env variable\n\tand then rebuild the server.\n\tIt is strongly suggested that you instead modify the User\n\tdirective in your httpd.conf file to list a non-root\n\tuser.\n
読みやすくしたのがこちら。
wordpress_1 | Error:\tApache has not been designed to serve pages while
running as root. There are known race conditions that
will allow any local user to read any file on the system.
If you still desire to serve pages as root then
add -DBIG_SECURITY_HOLE to the CFLAGS env variable
and then rebuild the server.
It is strongly suggested that you instead modify the User
directive in your httpd.conf file to list a non-root
user.
どうしても root ユーザー・グループで動かしたい場合は、ビルドし直さなければならないようです。
おわりに
Wordpess の子テーマを作るために Docker で簡単に環境を作ろうとしています。
作成したいテーマディレクトリを共有しようとすると、所有者は root となります。
WordPress のその他のファイル・ディレクトリの所有者は www-data です。
不一致なため、Wordpress のアップデートが動きません><。
これをなんとかしようと、とりあえず Apache のユーザー・グループを root に変更してしまおう、開発環境だからいいよね♪とやってみました。
ダメでした><。
さらに模索して再ビルド等するかもしれませんが、今まで別のディストロビューションでは発生しなかった (確か、あやふや) ですので、ノートいたしました。
以上です。