KUSANAGI RoDでWordPressが正常動作しない

TOP Forums バグ報告と提案(Requests and Feedback) KUSANAGI RoDでWordPressが正常動作しない

KUSANAGI RoDでWordPressが正常動作しない

Tagged: 

Viewing 4 reply threads
  • Author
    Posts
    • #861
      gontankun
      Participant

        WordPressプロビジョン後にブラウザでWordPressの管理画面を開こうとすると
        wp-config.php内でWP_DEBUGが重複定義されているというWarningが表示され、
        管理画面が表示されません。

        wp-config.phpファイルを確認したところ、確かに重複定義されています。
        片方を削除することで、管理画面を開くことができました。

        
        /**
         * For developers: WordPress debugging mode.
         *
         * Change this to true to enable the display of notices during development.
         * It is strongly recommended that plugin and theme developers use WP_DEBUG
         * in their development environments.
         *
         * For information on other constants that can be used for debugging,
         * visit the documentation.
         *
         * @link https://wordpress.org/support/article/debugging-in-wordpress/
         */
        define( 'WP_DEBUG', false );
        
        /* Add any custom values between this line and the "stop editing" line. */
        
        /**
         * 開発者へ: WordPress デバッグモード
         *
         * この値を true にすると、開発中に注意 (notice) を表示します。
         * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
         */
        define('WP_DEBUG', false);
        

        WordPressにPluginをインストールしようとしたとき、FTP接続に失敗します。
        KUSANAGI RoD のstatusを確認すると、configとftpコンテナがRestartingとなっており、
        再起動を繰り返しているように見えます。
        この状態は正常なのでしょうか?
        ftpコンテナに関しては異常な状態な気がします。

        
                Name                      Command                 State                          Ports                    
        ------------------------------------------------------------------------------------------------------------------
        kusanagi.test_config   docker-entrypoint.sh wp -- ...   Restarting                                                
        kusanagi.test_db       docker-entrypoint.sh mysqld      Up                                                        
        kusanagi.test_ftp      /bin/sh -c /docker-entrypo ...   Restarting                                                
        kusanagi.test_httpd    /docker-entrypoint.sh /usr ...   Up           0.0.0.0:80->8080/tcp,:::80->8080/tcp,        
                                                                             0.0.0.0:443->8443/tcp,:::443->8443/tcp       
        kusanagi.test_php      /usr/local/bin/docker-entr ...   Up                                                        
        

        docker-composeのlogを見ると、ftpコンテナに問題が発生しているように見えます。

        
        kusanagi.test_ftp | /docker-entrypoint.sh: line 18: can't create /etc/vsftpd/vsftpd.conf.new: Permission denied
        kusanagi.test_ftp | mv: can't rename '/etc/vsftpd/vsftpd.conf.new': No such file or directory
        kusanagi.test_ftp | chpasswd: permission denied (are you root?)
        

        /docker-entrypoint.shの該当箇所

        if [ "x$FTP_OVER_SSL" = "x1" ]; then
        	sed -e 's/^ssl_enable=NO.*/ssl_enable=YES/' /etc/vsftpd/vsftpd.conf > /etc/vsftpd/vsftpd.conf.new
        	mv -f /etc/vsftpd/vsftpd.conf.new /etc/vsftpd/vsftpd.conf
        else
        	sed -e 's/^ssl_enable=YES.*/ssl_enable=NO/' /etc/vsftpd/vsftpd.conf > /etc/vsftpd/vsftpd.conf.new
        	mv -f /etc/vsftpd/vsftpd.conf.new /etc/vsftpd/vsftpd.conf
        fi
        
        # set ftp user password
        echo "kusanagi:${KUSANAGIPASS}" | /usr/sbin/chpasswd

        /etc/vsftpd内のファイルを変更しようとしてパーミッションの問題で失敗しているようです。
        ファイルのパーミッションを確認しましたが、設定が悪いように見えます。
        drwxrwxr-x 2 1001 1002 4096 Feb 14 17:23 /etc/vsftpd
        -rw-r--r-- 1 root root 643 Nov 15 00:55 /etc/vsftpd/vsftpd.conf
        リスタートを繰り返すので、docker内に入ることができず、
        composeファイルのrestart: alwaysを無効にして確認しました。
        これだと確かに問題な気がしますが、
        コンテナ内のファイルを修正しても、再起動すると戻ってしまうので
        どうしたものかと。。
        chpasswdコマンドが使われているのでrootユーザーで起動する予定なのか?
        現状はkusanagiユーザーで起動されています。
        WordPressからのftp接続はkusanagiユーザーで行うことになっているので、
        chpasswdコマンドが正常終了していないから、接続できないのか?
        どうすればよいのか、分かりかねています。

        configコンテナについては、これといった異常Logは見当たらなかったのですが、
        再起動を繰り返している状態が正常なのか?良く分からない状況です。

      • #862
        cloudy
        Participant

          gontankun さん、こんにちは。

          情報ありがとうございます!
          ちょっと私がすぐに試せないので、頂いたお話を拡散しておきます。

          プラグインに関しましては、WP CLI でインストールができます。
          Docker や Vagrant で自動的に環境作成時に使うものです。

          wp plugin install (プラグイン)

          このように使えます。

          wp plugin install

        • #864
          satoru
          Moderator

            補足します。作成したディレクトリ配下で、kusanagi-docker wp 引数で、wp コマンドを使用できます。
            ftpとWP_DEBUGについては、バグのようなので修正します。

          • #865
            satoru
            Moderator

              修正を完了しました。
              kusanagi-docker コマンドを更新すると、wp-config.phpにWP_DEBUGが複数含まれる不具合は解消します。
              kusanagi-ftpdのバージョンを更新し、正しく起動するように修正しました。

              docker-compose.yml を直接修正し、kusanagi-ftpd のバージョンを 1.0.4-r0 に変更してください。

              
                ftp:
                  container_name: wordpress_ftp
                  image: primestrategy/kusanagi-ftpd:1.0.4-r0
                  restart: always
              
              • This reply was modified 2 years, 3 months ago by satoru.
            • #867
              gontankun
              Participant

                cloudy様、情報展開ありがとうございます。

                satoru様、素早い対応大変ありがとうございます。
                こんなに早く対応いただけるとは思っていなかったので、感動しています。
                修正頂いたftpコンテナで正常にftp接続できるようになりました。
                KUSANAGI MAGAZINEのKUSANAGI_RoD連載、興味深く読ませていただきました。
                情報が少ない中、貴重な連載でとても参考になります。
                WordPressの運用についても、RoDならではの想定している運用形態について
                公式情報があると大変ありがたいので、連載の続編を期待しています。

                ———————
                実は、管理画面からテーマやプラグインがインストールできなかったので
                WP CLI でのインストールは試して、できることを確認していました。
                インストールは成功するのですが、プラグインを使用するにあたって、
                ftp接続する状況になったため、ftp接続を正常化する必要に迫られた状況でした。
                また、運用を考えると、ユーザーにWP CLIを使って作業してもらうのは現実的では
                ないと思ったので、管理画面から出来るようにする必要がありました。

                UpdraftPlusというバックアップpluginでバックアップされた旧サイトのデータを
                使用して、KUSANAGI_RoDで新たに構築した環境にデータを復元しようとしています。
                修正頂いたftpコンテナで正常にftp接続はできるようになったのですが、
                UpdraftPlusを使ってデータをリストアしようとすると、ftp接続の認証画面から
                パスワードを入力しても、直ぐにまた認証画面が表示されるエンドレスループに
                陥ってリストアが出来ない状況になってしまいました。
                ftp接続に失敗しているわけではなく、pluginとの相性問題かと。。
                結局、define('FS_METHOD', 'direct');としてFTPの利用をあきらめることで
                エンドレスループ問題は解決しました。
                わざわざFTPを使う構成にしているのには、それなりの理由があると思っているので
                少し不本意ですが。。。
                パーミッションの変更は必要でしたが、とりあえずplugin以外のデータ・設定を
                復元することができました。
                pluginの復元はいろいろ試しましたが成功しませんでした。

                お礼とご報告まで。

            Viewing 4 reply threads
            • You must be logged in to reply to this topic.

            Next article

            フォーラムについて