このセクションでは、WordPress で出た予期しないエラーへの対処について紹介していきます。
このエラーは、SELinux が有効な状態でWordPress 環境を利用していると発生しました。
そのため、SELinux を無効化して解決しても良いのですが、セキュリティのことも考慮すると安易にSELinux を無効化したくないため、ここでは SELinux を有効化した状態で解決していきます。
[原因]
SELinux のセキュリティで制限されれていることが原因
[確認]
SELinux を一時的に無効化して予期しないエラーが解消されるかどうか確認してください。無効化して解消されたら、SELinux が影響しています。
SELinux の状態を確認します(有効化された状態)
[user@pub-web ~]$ sudo getenforce
Enforcing
[user@pub-web ~]$
SELinux を一時的に無効化します。この状態でエラーが解消されるかどうか確認してください。
[user@pub-web ~]$ sudo setenforce 0
[user@pub-web ~]$
[user@pub-web ~]$ sudo getenforce
Permissive
[user@pub-web ~]$
確認後、SELinux を 有効化に戻します。
[yuji@pub-web ~]$ sudo setenforce 1
[yuji@pub-web ~]$
[yuji@pub-web ~]$ sudo getenforce
Enforcing
[yuji@pub-web ~]$
[対処]
SELinux の許可ルールを以下変更します。
SELinuxで、HTTP 関連の 許可ルールの状態を確認します。
[user@pub-web ~]$ sudo getsebool -a | grep http
httpd_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_connect_ftp --> off
httpd_can_connect_ldap --> off
httpd_can_connect_mythtv --> off
httpd_can_connect_zabbix --> off
httpd_can_manage_courier_spool --> off
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
ーー(省略)ーー
[user@pub-web ~]$
httpd_can_network_connect_db と httpd_can_network_connect が off になっていたら on に変更します。
[user@pub-web ~]$ sudo setsebool -P httpd_can_network_connect_db 1
[user@pub-web ~]$
[user@pub-web ~]$ sudo setsebool -P httpd_can_network_connect=on
[user@pub-web ~]$
httpd_can_network_connect_db と httpd_can_network_connect が on であることを確認します。
[user@pub-web ~]$ sudo getsebool -a | grep http
httpd_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_connect_ftp --> off
httpd_can_connect_ldap --> off
httpd_can_connect_mythtv --> off
httpd_can_connect_zabbix --> off
httpd_can_manage_courier_spool --> off
httpd_can_network_connect --> on
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> on
httpd_can_network_memcache --> off
ーー(省略)ーー
[user@pub-web ~]$