複数のWordPressのプロファイルをプロビジョニングして同時に使うことは可能ですか。

TOP Forums インストール(Installing KUSANAGI) 複数のWordPressのプロファイルをプロビジョニングして同時に使うことは可能ですか。

複数のWordPressのプロファイルをプロビジョニングして同時に使うことは可能ですか。

Viewing 3 reply threads
  • Author
    Posts
    • #327
      wtfwp
      Participant

        お世話になっております。

        KUSANAGIをさくらのVPSにインストールした後、

        # kusanagi provision main
        # kusanagi provision sub

        として、mainとsubのプロファイルを作成しました。

        これらのWordPressサイトを

        http://www.example.com/

        にアクセスした時はmainのほうが使われ、

        http://www.example.com/sub/

        にアクセスした時はsubのほうが使われるようにしたいのですが、そのようなことは可能でしょうか。

        可能であれば、やり方を教えてください。

        よろしくお願いします。

      • #328
        草薙 沙耶
        Keymaster

          お世話になっております。
          ご質問の内容についてご返答させて頂きます。

          WordPressをサブディレクトリで使用する場合、同一サーバ内であれば、通常は単純にドキュメントルート直下にsubというディレクトリを新たに作りそこにWordPressをインストールするという方法があります。

          ただKUSANAGIの場合、プロビジョニングして管理していくという構造上上記の方法ではサブディレクトリ内のWordPressについては管理できなくなってしまいますので、このケースであれば下記のようにリバースプロキシの設定をするのが良いと思います。

          # kusanagi provision main
          についてはFQDNを通常通りwww.example.comとしてプロビジョニングして下さい。

          # kusanagi provision sub
          については、プロビジョニング時に設定するFQDNを任意の名前、たとえばsub.example.comとします。

          2つのプロビジョニングの終了後、mainのnginxの設定ファイル(/etc/nginx/conf.d/main_http.conf)に下記のような項目を追加して下さい。場所はlocation/の下辺りにします。

          
              location / {
                  try_files $uri $uri/ /index.php?$args;
              }
              # 下記を追加
              location ^~ /sub/ {
                  proxy_pass  http://localhost:8080/;
                  proxy_set_header Host sub.example.com;
                  proxy_http_version 1.1;
              }
          

          続いて、subのnginxの設定ファイル(/etc/nginx/conf.d/sub_http.conf)のlistenの項目を80から8080に変更します。

          
          server {
                  listen 8080;
          

          続いてsubのディレクトリにある/home/kusanagi/sub/DocumentRoot/wp-config-sample.php を/home/kusanagi/sub/wp-config.phpとして移動します。

          移動させたら、wp-config.php内のデータベース名やデータベースのユーザー名などを手動で変更し、define(‘WP_DEBUG’, false);の下あたりに下記の2行を追記します。

          
          /**
           * 開発者へ: WordPress デバッグモード                                       *
           * この値を true にすると、開発中に注意 (notice) を表示します。                                                                    
           * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。                          
           */
          define('WP_DEBUG', false);
          # 下記2行を追加
          define('WP_HOME','http://www.example.com/sub');
          define('WP_SITEURL','http://www.example.com/sub');
          

          最後にnginxの再起動を行います。
          # kusanagi nginx

          これで
          http://www.example.com/
          http://www.example.com/sub/
          を同じサーバのKUSANAGI上で運用することが可能となります。

        • #330
          wtfwp
          Participant

            お世話になっております。

            丁寧に解説してくださり、ありがとうございます。

          • #338
            shimirey
            Participant

              こちら大変参考になりました。
              こちらの方法で構築した際のご質問なのですが、
              subの方で記事やページをソートしようとすると、

              sub.hogehoge.com のサーバーの IP アドレスが見つかりませんでした。
              というエラーがでてしまうのですが、
              何か良い解決策などはございますでしょうか?

              是非よろしくお願いいたします。

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

          Next article

          フォーラムについて