トラブル事案|AWS-LightsailのWordPress(bitnami)で failed to open stream: Permission denied が出た場合
どんな環境でおきたか
- AWS-LightsailでWordPress(bitnami)を使っていた
- テストサーバーで構築していたWPのファイル一式を、本番環境(AWS-Lightsail)へ移行した(ファイル一式をFTPクライアント経由で上書きアップロード)
-
WordPress の更新をした際に、下記のエラーが表示された(更新が出来なかった)
Warning: copy(/opt/bitnami/wordpress/wp-content/languages/ja-******.json): failed to open stream: Permission denied in /opt/bitnami/wordpress/wp-admin/includes/class-wp-filesystem-direct.php on line 309
Warning: chmod(): Operation not permitted in /opt/bitnami/wordpress/wp-admin/includes/class-wp-filesystem-direct.php on line 173
解決方法:パーミッションの再設定
- bitnamiは、各ファイル・各ディレクトリのパーミッションを厳格に定めているようです
- 参考サイト:bitnami:Understand WordPress Filesystem Permissions(WordPressのファイルシステムパーミッションの理解)
Files and directories are owned by user bitnami and group daemon.
Directories are configured with permissions 775 by default.
Files are configured with permissions 664 by default.
The wp-config.php file is configured with permissions 640.
ファイルとディレクトリの所有者は、ユーザーのbitnamiとグループのdaemonです。
ディレクトリのパーミッションは、デフォルトでは775に設定されています。
ファイルのパーミッションは、デフォルトでは664に設定されています。
wp-config.phpファイルのパーミッションが640に設定されています。
ディレクトリの場所の確認
Warning: copy(/opt/bitnami/wordpress/wp-content/languages/ja-******.json): failed to open stream: Permission denied in /opt/bitnami/wordpress/wp-admin/includes/class-wp-filesystem-direct.php on line 309
Warning: chmod(): Operation not permitted in /opt/bitnami/wordpress/wp-admin/includes/class-wp-filesystem-direct.php on line 173
- bitnamiは、各ファイル・各ディレクトリのパーミッションを厳格に定めているようです
- 参考サイト:bitnami:Understand WordPress Filesystem Permissions(WordPressのファイルシステムパーミッションの理解)
Files and directories are owned by user bitnami and group daemon.
Directories are configured with permissions 775 by default.
Files are configured with permissions 664 by default.
The wp-config.php file is configured with permissions 640.ファイルとディレクトリの所有者は、ユーザーのbitnamiとグループのdaemonです。
ディレクトリのパーミッションは、デフォルトでは775に設定されています。
ファイルのパーミッションは、デフォルトでは664に設定されています。
wp-config.phpファイルのパーミッションが640に設定されています。
ディレクトリの場所の確認
- 2021年12月現在、bitnamiのWordPressは、ディレクトリが2箇所に分かれて配置されています。
- WordPress本体部は
/opt/bitnami/wordpress/
にあります。 - ユーザーが触りそうなファイルなどは
/bitnami/wordpress/
にあります。
パーミッションの変更
- 今回は、ファイル
wp-config.php
およびディレクトリwp-content
のパーミッションの一括変更を記します。
$ cd /bitnami # ディレクトリ[bitnami]へ移動
$ sudo chown -R bitnami:daemon wordpress # ディレクトリ[wordpress]以下の所有者:グループを一括変更
$ sudo find wordpress -type d -exec chmod 775 {} \; # ディレクトリ[wordpress]以下のディレクトリのパーミッションを775へ一括変更
$ sudo find wordpress -type f -exec chmod 664 {} \; # ディレクトリ[wordpress]以下のファイルのパーミッションを664へ一括変更
$ sudo chmod 640 wordpress/wp-config.php # ファイル[wp-config.php]のパーミッションを640へ変更
以上で、問題解決しました(WordPress の更新がエラーなく出来るようになりました)
考察:何故この事態になったのか
- ディレクトリ
wp-content/plugins
以下、あるプラグインの一部ディレクトリのパーミッションが755になっておりました。
- テスト環境においてのプラグインのインストールの仕方がまずかったのか、それとも本番環境へのアップロードの仕方が悪かったのか...
- パーミッション問題とか所有者問題とか...引っかかると面倒ですよね...
wp-content/plugins
以下、あるプラグインの一部ディレクトリのパーミッションが755になっておりました。誰かのお役に立てば幸いです
Author And Source
この問題について(トラブル事案|AWS-LightsailのWordPress(bitnami)で failed to open stream: Permission denied が出た場合), 我々は、より多くの情報をここで見つけました https://qiita.com/tomokei5634/items/70be0c24cef6746fc5f8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .