ぐぐると対処法はすぐ出てくるんだけど、自分用にもう少し詳しくメモ
[ Windows 10 (64bit) / Ubuntu 18.04.4 LTS / Apache 2.4.29 ]
WSLでApache2をインストールして起動したら、Failed to enable APR_TCP_DEFER_ACCEPT という警告が出た。
これは、Apacheの設定ファイル /etc/apache2/apache2.conf
に以下の2行を追記すれば出なくなる。
設定後、一応 sudo service apache2 restart
でサービスを再起動しておくこと。
この方法は以下の記事を参考にさせていただいた。
で、どうしてこれで直るのかを少し調べる……
以下のWSLのGitHubのIssueを見ると、TCP_DEFER_ACCEPT
がWindowsではサポートされていないから、この警告が出るらしい。
でも TCP_DEFER_ACCEPT
が何なのかは、片手間に調べた程度では理解できなかった。
雰囲気では、Linuxで使われている、TCP周りの何かを効率良くするためのオプションらしい。
そしてApacheの AcceptFilter
が何なのかというと……
AcceptFilter
に none
以外を設定した場合、そのプロトコルで TCP_DEFER_ACCEPT
が有効になると。
また、Linuxでの初期値は以下の通りらしい。
しかしWindowsではそもそも TCP_DEFER_ACCEPT
に対応してないから、none
を設定してあげないと警告が出た……ということだと思う。