このセクションでは、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 ~]$