SELinuxによりWordPressのアップデートができない
プラグインの更新や、Wordpressのアップデートができなかった。ディレクトリが作成できないというメッセージだった。
ディレクトリwordpress/wp-contentのパーミッションの許可を変更したりしてみたけど、状況は変わらなかった。
%>sudo setenforce 0 でSELinuxを無効にしたらアップデートできた。
%>sudo setenforce 1 でSELinuxを有効に戻したら上図のメッセージがまた出た。
どうやらコンテキストがhttpd_sys_content_tだったのが原因のよう。httpd_sys_rw_content_tに変更が必要だった。次のようにして追加した。
%>sudo semanage fcontext -a -t httpd_sys_rw_content_t "wordpressディレクトリ(/.*)?" %>sudo semanage fcontext -l | grep wordpress wordpressディレクトリ(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0 %> %>restorecon -v -R wordpressディレクトリ %> %>less /etc/selinux/targeted/contexts/files/file_contexts.local wordpressディレクトリ(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0 %>
変更されていることが確認できた。
[almalinux9 ~/public_html/wordpress]$ ls -lZ
drwxr-xrwx. 6 apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 127 Oct 23 16:08 wp-content/
・・・
あと、SELinuxが原因だとわかる前に、いろいろいじっていて、サーバーにアクセスすると通信がブロックされて、Access Deniedになる場合に以下の設定も必要という情報があったので念のために設定しておいた。これまで、Access Deniedになることは無かったので、いじる必要はなかったのかもしれない。
[almalinux9 ~/public_html/wordpress/wp-content]$ getsebool -a | grep httpd | sort 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 --> off httpd_can_network_memcache --> off httpd_can_network_relay --> off httpd_can_sendmail --> off [almalinux9 ~/public_html/wordpress/wp-content]$ sudo setsebool -P httpd_can_network_connect_db 1 [almalinux9 ~/public_html/wordpress/wp-content]$ getsebool -a | grep httpd | sort httpd_can_network_connect --> on httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> on
ディスカッション
コメント一覧
まだ、コメントがありません