プラグインのインストール/削除ができない

TOP Forums その他(Everything else KUSANAGI) プラグインのインストール/削除ができない

プラグインのインストール/削除ができない

Viewing 6 reply threads
  • Author
    Posts
    • #1576
      Castellows
      Participant

        先週よりWordPress管理画面でプラグインのインストールの際に「インストールに失敗しました: kusanagi のユーザー名/パスワードが正しくありません」と表示され、Hello Dolly等どんなプラグインもWordPress管理画面からインストールできなくなりました。プラグインの削除の際も「kusanagi のユーザー名/パスワードが正しくありません」と表示され削除できなくなりました。プラグインの有効化・無効化はできます。テーマも同様のエラーでインストール/削除できない状況ですが、メディアのアップロード/削除は可能です。FiliZillaからはプラグイン、テーマ共にアップロード/削除は可能です。

        wp-config.phpの記載の変更はなく以下の記述のままです。

        define('FS_METHOD', 'ftpext');
        define('FTP_HOST', 'localhost');
        define('FTP_USER', 'kusanagi');
        define('FTP_PASS', '【初期設定から変更してないパスワード】');

        ※define( 'FTP_SSL', true );またはdefine( 'FTP_SSL', false );を追加したりみましたが、解消しませんでした。

        パーミッション、所有者.グループは以下の通りです。

        wp-config.php 440 kusanagi:www
        wp-content 775 kusanagi:www
        wp-content以下の各ディレクトリ 775 kusanagi:www
        wp-content以下の各ファイル 644 kusanagi:www

        ※wp-content以下のファイルのパーミッションを775に変えてみたり、wp-content以下の各ディレクトリ/各ファイルのオーナーをhttpd.wwwやkusanagi:wwwに変更したりしてみましたが、解消しませんでした。nginxの実行ユーザーは「/etc/opt/kusanagi/nginx/nginx.conf」にてuser httpd www;となっています。

        WordPressサイトヘルスの「ファイルシステムパーミッション」は以下の表示がされています。

        WordPress のメインディレクトリ 書き込み不可
        wp-content ディレクトリ 書き込み可能
        uploads ディレクトリ 書き込み可能
        plugins ディレクトリ 書き込み可能
        テーマディレクトリ 書き込み可能
        フォントディレクトリ 存在しません
        Must-use プラグインディレクトリ 書き込み可能
        The Redux upload directory Writable

        ※DocumentRootのオーナーをhttpd.wwwに変更すると「WordPress のメインディレクトリ書き込み可」となりますが、問題は解消しませんでした。

        wp-config.phpで「define('FS_METHOD', 'ftpext');」ではなく、「define('FS_METHOD', 'direct');」に変更すると、問題なくプラグイン/テーマのインストール/削除が可能になります。昨年kusanagi9にkusanagi migrateコマンドで移行後も「define('FS_METHOD', 'ftpext');」で問題なくWordPress管理画面でプラグインのインストール/削除はできていましたが、正確にどの時点でこのような状態になったかは不明です。

        phpを8.2に戻したり、テーマをデフォルトに変更したり、FiliZillaですべてのプラグインを削除したり、wordpressの強制再インストール(# wp core update --version=6.8.3 --force --locale=ja)なども試しましたが解消しませんでした。

        どなたかご教授いただければ幸いです。よろしくお願いいたします。

        # kusanagi status
        KUSANAGI Version 9.7.2-1.el9
        conoha
        CentOS Stream 9

        *** (active) nginx : nginx129 ***
        * nginx129.service - The NGINX HTTP and reverse proxy server
        Loaded: loaded (/usr/lib/systemd/system/nginx129.service; enabled; preset: disabled)
        Active: active (running) since Thu 2025-11-13 01:17:30 JST; 10h ago

        *** (inactive) httpd : httpd24 ***
        * httpd.service - The Apache HTTP Server
        Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; preset: disabled)
        Active: inactive (dead)

        *** (active) php : php84 ***
        * php-fpm.service - The PHP FastCGI Process Manager
        Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
        Active: active (running) since Thu 2025-11-13 01:17:30 JST; 10h ago

        *** (active) mariadb : mariadb10.11 ***
        * mariadb.service - MariaDB 10.11.15 database server
        Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: disabled)
        Active: active (running) since Thu 2025-11-13 00:58:53 JST; 10h ago

        *** (inactive) psql : ***

        *** (inactive) pgpool-II : ***

        *** python ***
        Python 3.12.12

        *** Cache status ***

        *** WAF ***
        off

        *** SELinux ***
        off

        status completed.

        • This topic was modified 2 weeks, 6 days ago by Castellows.
      • #1578
        obunsho
        Participant

          castellowsさん
          こんにちは。

          可能な原因は以下のとおりです。

          kusanagi のパスワードが誤っている可能性があります。
          sshで次のコマンドを実行し、パスワードが正しいか確認してください
          su -c true kusanagi

          それでも問題が解決しない場合は、エラーログ関連する内容を提示してください(エラーログパス:/home/kusanagi/{profile}/log/nginx)。
          エラーログを確認することで、より詳細な原因が分かる可能性があります。

        • #1579
          Castellows
          Participant

            アドバイスいただきありがとうございます。

            su -c true kusanagiのコマンドでwp-config.php記載のkusanagiのパスワードで認証に成功しました。

            エラーログを確認しましたところ、プラグインのインストールの際に「インストールに失敗しました: kusanagi のユーザー名/パスワードが正しくありません」となる前後15分の間に、エラーログの記載はございませんでした。それより2時間ほど前に「access forbidden by rule, client: 172.71.95.76, server: 【ドメイン名】, request: "GET /.git/config HTTP/2.0", host: "【ドメイン名】"」のエラーがございました。

            プラグインのインストール/削除できなくなる前からCloudflareを利用しており今まで特に問題ありませんでした。今回Cloudflareを停止したりしてみましたが、改善しませんでした。

            パーミッション、オーナー.グルーブ関連の不整合がやはり原因でしょうか。よろしくお願いいたします。

          • #1584
            obunsho
            Participant

              castellowsさん
              こんにちは。

              「(kusanagi のユーザー名/パスワードが正しくありません)」と表示されるため、パーミッションやオーナー・グループ関連が原因である可能性は高くないと思われます。

              1.おそらく調整した wp-config.php に誤りがあります。
              wp-config.php が2つ存在している可能性があります。
              /home/kusanagi/{profile}/DocumentRoot/wp-config.php
              /home/kusanagi/{profile}/wp-config.php

              優先されるのはDocumentRoot/wp-config.phpです。
              修正したwp-config.phpが正しい場所のものか確認してください。

              2.systemctl status vsftpdでvsftpdの状態を確認してください。
              ftp正しく稼働していない場合、ftp接続ができないため、「(kusanagi のユーザー名/パスワードが正しくありません)」と表示される可能性があります。

              3.ftp使用しないで直接ファイルシステムにアクセスするために、wp-config.phpのFS_METHOD設定は以下の設定に変更してください。

              define('FS_METHOD', 'direct');

              復旧していない場合、情報が不足しているため、以下をご提供ください。
              1.「(kusanagi のユーザー名/パスワードが正しくありません)」と表示される時、エラーログの内容(二つがあります)
              /home/kusanagi/{profile}/logs/error.log
              /home/kusanagi/{profile}/logs/ssl_error.log

              2.以前は問題なく動作していましたか?
              何か特別な変更を行いましたか?

            • #1585
              Castellows
              Participant

                obunshoさん、詳細なアドバイスをいただきありがとうございます。
                パーミッションやオーナー・グループの不整合が原因ではなかったのですね。

                wp-config.phpは9年ほど前に設定したまま、/home/kusanagi/{profile}/wp-config.phpにあり、念の為確認しましたところ、/home/kusanagi/{profile}/DocumentRoot/wp-config.phpには(wp-config-sample.phpを除き)wp-config.phpはございませんでした。

                systemctl status vsftpdでvsftpdの状態を確認しましたところ、以下のように起動を確認いたしました。

                # systemctl status vsftpd
                ●(緑) vsftpd.service - Vsftpd ftp daemon
                     Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; preset: disabled)
                     Active: active (running) since Mon 2025-11-17 23:51:18 JST; 3 days ago

                define('FS_METHOD', 'ftpext');をdefine('FS_METHOD', 'direct');に変更すると正常にインストール/削除が可能です。但しDocumentRoot以下の関連ディレクトリのオーナーをkusanagi.wwwにする必要があります(kusanagi.kusanagiだと「インストールできませんでした」となります)。

                define('FS_METHOD', 'ftpext');に戻すと、インストール/削除できませんが、

                # less /home/kusanagi/プロファイル/logs/error.log
                # less /home/kusanagi/プロファイル/logs/ssl_error.log

                はいずれも「そのようなファイルやディレクトリはありません」と表示されます。

                # less /home/kusanagi/プロファイル/log/nginx/ssl_error.log
                では他のエラーログが表示さますが、インストール/削除できな前後15分の間にエラーがございません。直近のエラーでは、「*59169 open() "/home/kusanagi/プロファイル/DocumentRoot/.well-known/traffic-advice" failed (2: No such file or directory), client: 172.69.221.246, server: ドメイン, request: "GET /.well-known/traffic-advice HTTP/2.0", host: "ドメイン"」がございます。

                以前はdefine('FS_METHOD', 'ftpext');で問題なく動作しておりました。

                明確にどの時点で問題が生じたのかわからないのですが、今月上旬にインストール/削除できないことに気が付きました。それ以前にWP Super Cacheのプラグインのページキャッシュを有効にした際に重大なエラーとなりサイトにアクセスできなくなり、FiliZillaで「plugins」のディレクトリ名を変更し無効化して復旧し「plugins」のディレクトリ名を元に戻し、FiliZillaでWP Super Cacheのプラグインとadvanced-cache.phpを削除しました。以前使っていたWP Fastest Cacheのプラグインに戻しましたが、先程確認しましたところ、キャッシュか生成されていない状態で、何かしら問題が生じているようで、キャッシュ系のプラグインは停止したままにしてあります。

                他に確認すべきエラーログの場所がございますでしょうか?よろしくお願いいたします。

              • #1586
                obunsho
                Participant

                  castellowsさん
                  ご返信ありがとうございます。
                  良く考えて、二つの案を提案します
                  方案1
                  特別な理由がなければ、FS_METHOD=directはお勧めです、FS_METHOD=directもWordPress公式が推奨している方式のひとつで、FTP/FTPSへの依存を避けることができます。

                  方案2
                  どうしてもFTPを使う必要がある場合は、以下の順番に沿って原因取得してください。
                  現在知ること
                  su -c true kusanagiでパスワードに問題がないことは確認済み
                  FileZillaでは同じアカウント(kusanagi)・パスワードで正常にログインできる
                  vsftpdプロセスも正常に動作している
                  FS_METHOD=directのときはすべて正常に動作する

                  PHP具体的な原因取得してほしいです。
                  このファイル:
                  /home/kusanagi/{profile}/DocumentRoot/wp-admin/includes/class-wp-filesystem-ftpext.php
                  ※バージョンによって違うが、大体105行目付近に
                  if ( ! @ftp_login( $this->link, $this->options['username'], $this->options['password'] ) ) {
                  という行があるので、@を削除して:
                  if ( ! ftp_login( $this->link, $this->options['username'], $this->options['password'] ) ) {
                  と書き換える。

                  その状態でプラグインをインストールし、エラーが出たらerror.log/ssl_error.logを見て原因を確認します。

                  もしエラーログに
                  PHP message: PHP Warning: ftp_login(): Login incorrect
                  と出ていれば、アカウントまたはパスワードの誤りで、$this->options['username'], $this->options['password']がキャッシュされた古いデータを読んでいる可能性があります(WP Super Cacheなど影響も可能、この可能性高いと思います)。
                  それ以外のエラー(ftp_login(): Please login with USER and PASSのようなメッセージ)の場合は、内容に応じて個別に解析が必要。たとえばローカルからのログインが禁止されています、SSLを有効/無効にする必要がある、などの原因が考えられます。

                • #1587
                  Castellows
                  Participant

                    obunshoさん、詳細なアドバイスをいただきありがとうございます。

                    これまで# dnf upgradeで最新の環境にしておりましたが、先程改めて# dnf upgradeを実行しましたところ更新があり、プラグインのインストール/削除が問題なくできるようになりました。同時にWP Fastest Cacheのプラグインでキャッシュが生成されていない問題も解決いたしました。
                    公式サイトの更新情報では「KUSANAGI9 を構成している各モジュールのアップデートを行いました」との記載がございました。

                    なおご提示いただきました方法2のPHPエラーのメッセージは、アップデート前に以下のように出力されておりました。

                    *120992 FastCGI sent in stderr: "PHP message: PHP Warning: ftp_login(): Please login with USER and PASS. in /home/kusanagi/プロファイル/DocumentRoot/wp-admin/includes/class-wp-filesystem-ftpext.php on line 105" while reading response header from upstream, client: 162.159.110.48, server: ドメイン, request: "POST /wp-admin/admin-ajax.php HTTP/2.0", upstream: "fastcgi://127.0.0.1:9000", host: "ドメイン", referrer: "https://ドメイン/wp-admin/plugin-install.php?s=hello&tab=search&type=term"

                    具体的な問題解決手順や、PHPの問題の原因取得方法など大変勉強になりました。
                    obunshoさん、お忙しいなかご丁寧にアドバイスをいただき改めて深く感謝申し上げます。

                    • This reply was modified 1 week, 1 day ago by Castellows.
                    • This reply was modified 1 week, 1 day ago by Castellows.
                Viewing 6 reply threads
                • You must be logged in to reply to this topic.

                Next article

                フォーラムについて