CentOSにNginxな環境でWordPressの構築を終えて、試しにダッシュボードからWordPressの更新してみるか!と思ったら、FTP認証画面が出てハマったので備忘録。
権限設定もしっかり確認して、プラグインはインストールできているのに、更なる罠が…!
概要
SELinuxを有効にしている環境で、WordPressを更新する方法の説明。
環境
- OS: CentOS 8.2
- Webサーバ: Nginx 1.18
- WordPress 5.5.3
現状確認
まずはgetenforceでSELinuxの状態を確認をします。状態は3通りで出力されます。
- Enforcing … SELinuxは有効で、アクセス制限も有効。
- Permissive … SELinuxは有効だが、アクセス制限は行わず警告を出力。
- Disabled … SELinuxは無効。
sudo getenforce
Enforcing
Enforcing
なので、SELinuxによるアクセス制限が有効になっていることが確認できました。
SELinux設定の一時的な変更
SELinuxコンテキストを変更して、
Webサーバによるドキュメントルートへの書き込みを一時的に許可します。(後述、restorecon
で戻す)
sudo chcon -R unconfined_u:object_r:httpd_sys_rw_content_t:s0 /var/www/html/wordpress
※/var/www/html/wordpress
のところはドキュメントルート。環境に合わせてください。
これでWordPressの更新ができるようになるか確認してみます。
更新できました!
SELinuxリストア
WordPress更新が終わった後、忘れずにSELinuxのリストアをして元に戻しておきます。
sudo restorecon -rv /var/www/html
所感
更新の度に一手間かかってしまうけど、WordPress自体の更新は頻繁にはしないだろうし、
SELinuxポリシーを変更しなくて済むならこれで良い、と自分に言い聞かせることにしました。
参考サイト
- Updating WordPress on CentOS with enabled SELinux
https://noobient.com/2019/02/28/updating-wordpress-on-centos-with-enabled-selinux/
コメント