タグ: Wordpress

  • NginxでWordPressのパーマリンクが動かず、Apacheに変えた

    WordPress用のサーバ構築があったので、フロントのウェブサーバをNginxで設定した。PHPの動作や、Wordpressの初期設定までは、問題なし。Wordpressのパーマリンク設定をデフォルトから、変更したところ、404エラーに。Nginxなので、「.htaccess」でのrewrite設定が効かないので、Nginxの設定を変えて対応していが、いろいろと試しても動かない。いつまでも時間をかけてられないので、パーマリンクの問題で、Apache2.4系に変更した。Apache2.4だと、かなりあっさりと動作した。

    どこか時間を見つけて、Nginx + PHP + WordPressのパーマリンクの設定を検証しなくては。公式サイトの手順でもダメだったから、なんでだろう。たぶん、途中の設定とかがよくないのだろうな。やり直したら、さくっと動作するとか、そういうパターンだろう。

  • AWSのELBでWordPressを使うと”ERR_TOO_MANY_REDIRECTS”がでる

    AWSで、WordpressとSSLを使うためにELB(Elastic Load Balancer)を設定したのだが、アクセスすると、”ERR_TOO_MANY_REDIRECTS” が表示される。

    調べてみると、Wordpress+SSL+ELBの組み合わせで発生しているとのこと。Amazonの公式ページの内容も試してみたが、効果なし。

    https://aws.amazon.com/jp/premiumsupport/knowledge-center/redirect-http-https-elb/

    Nginxを使ったので、その設定を試したが効果なし。

    WordPressの設定で回避できることがわかったので、その設定を実施。

    “wp-config.php” の「wp-settings.php」の読み込み前に設定を追加。これで、アクセスしたところ、見事に成功。このとき、Nginxの設定は元に戻した状態で実施しても問題なかったので、Nginxの設定ではなく、Wordpress側の設定で回避できる問題だったようだ。

    /** Absolute path to the WordPress directory. */
    if ( ! defined( 'ABSPATH' ) ) {
            define( 'ABSPATH', dirname( __FILE__ ) . '/' );
    }
    
    /** 追加した設定 **/
    if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
        $_SERVER['HTTPS'] = 'on';
        $_ENV['HTTPS'] = 'on';
    }
    
    
    /** Sets up WordPress vars and included files. */
    require_once( ABSPATH . 'wp-settings.php' );
    

    参考: https://qiita.com/katzueno/items/ec4cb5997eb8a066fefc

  • 「Yuzo Related Posts」Pluginの脆弱性でWordPressのサイトが別のサイトに転送される

    自分の管理ではないWordpressのサイトにアクセスすると、「destinywall.org」のサイト経由で、さまざまな怪しいサイトに遷移するという事象に遭遇した。

    これの対応を行ったのだが、最初はサイトに何かを埋め込まれたと思い、ファイルのタイムスタンプや一時経由のURLを検索したが反応なし。ウェブページもすぐに遷移してしまうため、状況がみれず。そのため、wgetでINDEXを取得して、HTMLファイルの中を検索したが、文字列は見つからず。

    次に切り分けのため、Wordpressのテーマも切り替えたが、解決せず。そのため、テーマではなく、もっと共通の部分に、何かが仕込まれている、という仮説の元、一つ一つプラグインを無効化していった。無効化していった結果、「Yuzo Related Posts」を無効化したときにサイトの表示が正常に戻った。これが原因ということで、いろいろと調べたところ、このプラグインの脆弱性を利用されて、別ページに飛ばされることが判明した。

    対処として、

    1. プラグインを削除
    2. DBにアクセスし、wp_optionsから、「yuzo_related_post_options」のキーのデータを削除

    これで対応完了。プラグインもかなり大量に入っていたので、結構大変だった。なんだかんでプラグインは少ない方がよい。(プラグインの管理も大変)

    https://wordpress.org/support/topic/remove-this-plugin-immediately/

  • 「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」と表示された

    ちょっと急ぎの用があって、CentOS7を用意して、MariaDBとPHPとApache2をいれて、Wordpressを動作させようとしたところ、

    お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。
    

    と表示されて、Wordpressのセットアップが出来なかった。

    「php -i」 でPHPの状況を確認したところ、PHPのMySQL拡張が入っていなかった。 なので、yumでphp-mysqlをインストールした。

    yum -y install php-mysql
    

    これで、解消。
    っていうか、これだけで済むんだから、楽。
    make, make installしなくていいだけで本当に楽。
    楽しすぎて、いろいろと忘れそう。