環境
- 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の最新バージョンをインストールすることができました。
ファイルのパーミッションが原因でない場合、こちらの方法を試してみてください。