本ブログはAWS Lightsail(CentOS)にApacheとWordpressのパッケージをインストールして運用しています。Wordpress本体のアップデートをしようとすると、パーミッションの設定は正しいのにどう頑張ってもエラーになってしまう現象に悩まされていました。
以下の方法で対処できましたので、備忘として残しておきます。
エラー事象
WordPressの管理画面より更新を行おうとすると、以下のメッセージが出て更新に失敗します。
WordPress を更新
https://downloads.wordpress.org/release/ja/wordpress-5.9.2.zip から更新をダウンロード中…
更新を展開しています…
いくつかのファイルをコピーできないため、最新版のインストールができません。これはたいていの場合、ファイルのパーミッションが適切でないことが原因です。: wp-admin/includes/update-core.php
インストール失敗
SELinux設定の無効化
まず下のコマンドでSELinuxの動作状態を確認します
# getenforce
ステータスは以下の3パターンのようです。
- Enforcing SELinuxが有効で、アクセス制限がかかっている
- Permissive SELinuxが有効だが、アクセス制限はかかっていない
- Disabled SELinuxが無効
この時ステータスがEnforcingの状態だと、アクセス制限によりWordpressの更新もうまくいかないようです。私はまさにこのパターンでした。
無効にする場合は、以下のコマンドを実行します。
# setenforce 0
ここで再度getenforceコマンドで確認すると、Permissiveと返ってくるはずです。
この状態でWordpressの管理画面より更新を行うと、無事成功しました!
更新が終わったら、元に戻すために下記のコマンドを実行します。
# setenforce 1
getenforceコマンドで確認すると、Enforcingと返ってきます。
以上です。
著者について