#はじめに
Wordpressのプラグインやコアのバージョンアップが失敗していて、原因探っていたところフォルダのパーミッションを変更することで回避できることがわかりました。
手順をまとめておきます。
#Wordpressのプラグインバージョンアップが失敗する
標準のKUSANAGI Runs on Docker環境でプラグインのアップデートをしようとしたら「更新失敗: ディレクトリを作成できませんでした。」というエラーが出てバージョンアップが失敗してしまします。
#原因はフォルダのパーミッション
通常Kusanagi RoDは/home/kusanagi
の下の任意のフォルダにインストールされます。
その時のフォルダのパーミッションは755になっていてこれが原因のようです。
バージョンアップの際は一時的にフォルダのパーミッションを777に変更します。
ついでにファイルパーミッションは666に変更しておきます。
まずはDockerのftpコンテナにログイン
$ docker-compose exec ftp sh
以下、ftpコンテナ内での作業です。
# cd /home/kusanagi/puroject
# find . -type d -exec chmod 777 {} +
# find . -type f -exec chmod 666 {} +
これでパーミッションが変わりました。
wp-config.phpのパーミッションは644である必要があるのでご注意ください。
# chmod 644 wp-config.php
# ls -al
total 28
drwxrwxrwx 6 kusanagi 1001 4096 Aug 5 05:54 .
drwxr-x--x 3 kusanagi 1001 4096 Oct 11 03:31 ..
drwxrwxrwx 5 kusanagi 1001 4096 Dec 20 14:25 DocumentRoot
drwxrwxrwx 2 kusanagi 1001 4096 Jul 16 10:24 settings
drwxrwxrwx 2 kusanagi 1001 4096 Aug 5 05:54 tools
drwxrwxrwx 4 kusanagi 1001 4096 Jul 16 10:24 wp-config-sample
-rw-r--r-- 1 kusanagi 1001 3351 Oct 11 03:44 wp-config.php
そのままだとセキュリティ的にゆるゆるなのでパーミッションを戻しておくのを忘れずに。
別エントリーで記載していますがuploadsフォルダは775にしておかないと画像アップロードが失敗するのでこちらも更新します。
# find . -type d -exec chmod 755 {} +
# find DocumentRoot/wp-content/uploads -type d -exec chmod 775 {} +