サポート » テーマ » Docker-compose環境下でテーマが更新できない。

  • Win10のWSLにdockerとUbuntuでWPローカル環境を作り、配布されているテーマをカスタマイズ中です。
    そのテーマの更新のお知らせがあったので更新しましたが、下記のようにエラーが表示されました。
    「更新失敗: いくつかのファイルをコピーできないため、最新版のインストールができません。これはたいていの場合、ファイルのパーミッションが適切でないことが原因です。 この通知を非表示にする。テーマの詳細」

    これについて調べたところ、テーマの所有者グループの設定がよろしくないということなので、「chown -R www-data:www-data ****」と所有者権限を変更し更新すると、更新に失敗し、なおかつテーマファイルが消えました。

    何度か試してみましたが、所有者権限を変えて更新するとテーマファイルが消えてしまいます。
    対処方法などアドバイスをよろしくお願いいたします。

    ちなみに、
    docker-composeでのWP環境は下記サイトを参考にしました。
    https://github.com/kawamataryo/quick-start-wordpress-docker?utm_source=pocket_mylist

    WindowsユーザはUbuntuをroot権限で作業しないと不具合があるようなことがネットにありましたが、WPのテーマを作成するだけなので、私はユーザー権限でテーマのカスタマイズを行っております。この更新がうまく行かない以外は特に問題なかったのですが・・・

    Wordpress5.9
    DockerDesktop4.6.1

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • こんにちは。
    Windows・WSLの環境には詳しくないので、ご質問に対するアドバイスはできないのですが、
    テーマのカスタマイズのためにローカル開発環境が必要とということでしたら、
    以下のアプリケーションはいかがでしょうか。

    ■Local
    https://localwp.com/

    ■使い方に関する参考記事
    https://wpmake.jp/contents/knowledge/construct/about_local/
    https://www.vektor-inc.co.jp/post/local-by-flywheel/

    ご参考になれば幸いです。

    スレッド開始 tako86

    (@tako86)

    ありがとうございます。
    以前考えたこともありましたが、Dockerにしました。

    現在の問題を解決したいと考えております。

    こんにちは

    「テーマファイルが消えました」とありますが、具体的にどのように消えたのでしょうか?

    テーマのフォルダごと消えたのでしょうか。
    それとも、functions.php などのファイルだけが消えたのでしょうか?
    残っているテーマのファイルはあるのでしょうか?

    スレッド開始 tako86

    (@tako86)

    前述した参考サイトのdocker-composeファイルをもとに話します。
    このファイルのWordPressとWordmoveのvoulumesに、themes/sango:/var/www/html/***/wp-content/themes/sangoを追記。
    この状態で、Ubuntu(ユーザー権限)でdocker-compose upをしWPローカル環境を作っているので、バインドマウントしたthemes/sango配下のファイルはの所有者はuser(1000)です。

    ただ、所有者がuserのままだとsangoの更新がうまくいかないので、chown -R www-data:www-data themes/sangoと所有者権限を変更。その後再び更新すると、バインドマウントしたthemes/sangoディレクトリ内のすべてのファイルが消えました。ちなみに、所有者をrootにしても全て消えます。

    アドバイスをよろしくお願いいたします。

    テーマがアップデートされるプロセスをあまり理解はしていませんが、sango ディレクトリへの権限はあるが、themes ディレクトリへの権限が無いんではないでしょうか。

    テーマが更新される際にテーマファイルが全て消され、その後展開されたテーマファイルを sango ディレクトリごと上書きしようとた際に permission denied が発生している、といった動きような気がします。

    Web サーバーのログを確認してみてください。

    スレッド開始 tako86

    (@tako86)

    サーバーのログですが、WPコンテナ内にある/var/log/のログファイルが開けません。

    sango ディレクトリへの権限はあるが、themes ディレクトリへの権限が無いんではないでしょうか。

    これについては、themesディレクトリの権限もchown www-data:www-data themesで変更してみましたが、結果は同じです。

    ちなみに、プラグイン画面のエラー内容は「更新失敗:いくつかのファイルをコピーできないため、最新版のインストールができません。これはたいていの場合、ファイルのパーミッションが適切でないことが原因です。」その後、所有者を変更するとファイルが全て消え「更新失敗:旧バージョンのテーマを削除できませんでした。」とエラーが表示されます。

    アドバイスをよろしくお願いいたします。

    こんばんわ。
    wp-config.ph内に、以下を入れてみてはどうでしょうか。
    define(“FS_METHOD”,”direct”);

    なぜ sango ディレクトリを削除する権限が無いかは、docker 関連で質問できるフォーラムで聞かれるか、参考にされた Quick-start-wordpress-docker の方に聞いて見られたらどうでしょうか。

    スレッド開始 tako86

    (@tako86)

    wp-config.ph内に、以下を入れてみてはどうでしょうか。
    define(“FS_METHOD”,”direct”);

    試してみましたが、同じ結果となりました。

    docker 関連で質問できるフォーラムで聞かれるか、参考にされた Quick-start-wordpress-docker の方に聞いて見られたらどうでしょうか。

    おっしゃる通りですよね。
    とりあえずそうしてみます。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • このトピックに返信するにはログインが必要です。