【KUSANAGI 】WordPressのバージョンアップ(更新)ができない!そんなときの対処方法

KUSANAGI

Kusanagi環境下でWordPressが更新できない場合

WordPressの更新がうまくいかなくてこんな風に表示される場合

WordPress を更新

https://downloads.wordpress.org/release/ja/wordpress-5.1.1.zip

から更新をダウンロード中…

更新を展開しています…

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

インストール失敗

『たいていの場合、ファイルのパーミッションが適切でないこと』

KUSANAGIのオススメパーミッション設定だとwordpressがインストールできません。

ターミナル [root@132-113-85-85 mypage]# ls
DocumentRoot log settings tools wp-config.php
mypageというのは説明のための例です。各自のディレクトリ名に置き換えて以降を読んでください。
KUSANAGIでは/home/kusanagi/mypageのように/home/kusanagi以下にwordpressがインストールされています。
mypageというディレクトリ内には、DocumentRoot, log, settings, toolsというディレクトリがあります。その他にwp-config.phpがあります。
wp-config.phpはセキュリティのためにDocumentRoot内ではなくココに置いています(そのようにするようにKUSANAGIに指示されます)。
このmypageディレクトリ内で、次のようにします。
ターミナル find . -type d -exec chmod 777 {} +
とすると現在の階層から下の階層のディレクトリ(-type -d)の権限が777に変更されます。
find . -type f -exec chmod 666 {} +ターミナル

とすると現在の階層から下の階層のファイル(-type -f)の権限が666に変更されます。

これでwordpressをインストールできるようになります。

wordpressアップデート成功後

wordpressアップデート成功後、このままではセキュリティが弱すぎるので、
ターミナル find . -type d -exec chmod 755 {} +
ターミナル chmod 644 wp-config.php
と変更(もとの設定に戻します)します。
KUSANAGIでは、
ダッシュボード(https://[サイトドメイン]/wp-admin/index.php)を確認すると
セキュリティ状況が表示されます。
このように全てになっていればOKです。
そうでなければ権限やオーナー、ファイルの位置を変更する必要があります。

権限の変更方法

chmodを使う。

オーナーの変更方法

chownを使う。
例えばwp-contentフォルダ以下のオーナーをkusanagi.kusanagiに変更したい場合。
-Rオプションはrecursive、再帰的にという意味でそのディレクトリ以下のどこまでも深い階層に関してこの操作を適用するという意味。簡単にいうとそのディレクトリ以下のファイル・ディレクトリのオーナーをkusanagi.kusanagiにする。
ターミナル chown -R kusanagi.kusanagi wp-content

wp-config.phpファイルの場所

WordPressがインストールされたディレクトリの一つ上の階層にwp-config.phpを置くことができる。一つ上の階層はWordPressサイトに悪意の第三者にログインされてもアクセスすることができないので比較的安全。

コメント