WordPressを更新できない問題を解決

環境

  • CentOS7

起きていた問題

XserverからさくらのVPSに移行した際に、Wordpressの更新ができなくなるという問題が発生しました。
手動で更新すると、以下のようなエラーログが出ていました。

いくつかのファイルをコピーできないため、最新版のインストールができません。
これはたいていの場合、ファイルのパーミッションが適切でないことが原因です。
: wp-admin/includes/update-core.php

ググってみると同じエラーログに遭遇している記事を発見し、update-core.phpパーミッションが原因で、Worepressをインストールできていないと結論づけているものが大多数を占めていました。
そこで、該当のファイルの親ディレクトリのwp-adminパーミッションを707に変更してみました。

bash
$ chmod -R 707 wp-admin

そして、管理画面のWordpressのインストールのボタンをクリック。
インストールが進むかと思いきや、また同じエラーログにハマってしまいました。

そこで再度ググってみた結果、SELinuxが悪さをしているということがわかりました。

解決方法

結論から言うとSELinuxを無効化することが無事最新版のWordpressをインストールすることができましたので、
以下に解決方法を記載していきます。

SELinuxの設定を確認

以下のコマンドを入力して、SELinuxが有効になっているかをまずは確認しましょう。

bash
$ getenforce

出力結果
Enforcing  有効化されている

SELinuxの設定ファイルをバックアップ

次の項目で設定ファイルを編集するため、SELinuxの設定ファイルのバックアップを取っておくと良いです。

bash
$ p -piv /etc/selinux/config /etc/selinux/config.`date "+%Y%m%d"`

設定ファイルを以下に修正してSELinuxを無効化する

SELINUX=desabledとすることでSELinuxを無効化することができます。

/etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
### Disalbe SELINUX begin
##SELINUX=enforcing
SELINUX=disabled
### Disalbe SELINUX end
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

OS再起動

先ほど設定したSELinuxの設定ファイルを反映させるために、OSを再起動します。

bash
$ reboot 
or 
$ systemctl reboot

再起後のSELinuxの設定確認

bash
$ getenforce

出力結果
Disabled   無効化されている

僕の場合は、これでWordpressの最新バージョンをインストールすることができました。
ファイルのパーミッションが原因でない場合、こちらの方法を試してみてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です