AMIMOTO AMIでコア更新やプラグインアップデートができなくなった場合は、ファイルの所有者を確認しよう

WordPressの更新時に接続情報を求められる場合、AMIMOTO AMIのリリース元Digitalcubeによると、php.config.userが設定されているか確認する必要があります。指定がない場合はデフォルトのnginxユーザーが実行ユーザーとなります。所有者とPHPの実行ユーザーが異なる場合は、chownコマンドを使用して所有者を変更する必要があります。これにより、問題は解決する可能性があります。

広告ここから
広告ここまで

目次

    忘れた頃に遭遇して、いつも「なんだっけ・・・?」となるのでまとめました。

    AMIMOTOのWordPressで発生していた現象

    WordPressのコアやプラグインを更新しようとする際、このような接続情報を求められることがありました。

    基本的にFTPもSFTPも利用しないので、接続情報を入れて対応ではなく、問題そのものの解決を目指しにいきます。

    現象が発生した時に確認することとその後の対応方法

    AMIMOTO AMIのリリース元(Digitalcube)は前職なこともあり、どのように解決するかなどを聞いてみました。

    /opt/local/amimoto.jsonで「PHPを実行するユーザー名」確認する

    デフォルトでは、PHPはnginxユーザーが実行しています。

    ですがSFTPクライアントを利用する目的などで、実行ユーザーを変更している可能性があります。

    /opt/local/amimoto.jsonを開き、php.config.userが設定されているかいないかを確認しましょう。

    $ sudo cat /opt/local/amimoto.json 
    {
    
      "run_list": [
        "recipe[amimoto]"
      ]
    }

    この場合、指定がないのでデフォルトのnginxが実行ユーザーです。

    {
      "nginx" : { "config" : { "user" : "ec2-user" } },
      "php" : { "config" : { "user" : "ec2-user" } },
      "run_list" : [ "recipe[amimoto]" ]
    }

    このケースでは、ec2-userが実行ユーザーです。

    ファイルの所有者を、「PHPを実行するユーザー名」に変更する

    実行ユーザーとファイルの所有者が異なる場合( +操作権限が付与されていない場合 )に、冒頭の画面が表示されます。

    そこでchownコマンドを利用して所有者とPHPの実行ユーザーを揃えましょう。

    % sudo chown -R <上で確認したユーザー名>: /var/www/vhosts/
    
    # デフォルト設定&特定のサイトのみの場合
    % sudo chown -R nginx: /var/www/vhosts/example.com

    少なくとも、自分のケースではこれで解決しました。

    参考リンクなど

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark