On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • ★★★★★★★★★★★★★★★★★★★★★★★★
    ★ ★
    ★ 本件は解決しました。解決方法は最後をご覧ください。 ★
    ★ 2006-09-14 ★
    ★ ★
    ★★★★★★★★★★★★★★★★★★★★★★★★

    こんにちは。


    下記参考 (a) より、1つの MODx で複数のサイトを管理できるということを知
    りましたので、試みています。

    現在失敗しているので、理由をお分かりの方からご教授願いたいと考えています。

    参考:
    (a) 1km.info | Subsites/Subdomains
    http://211.1.191.47/modx_site/plugins_snippets/subsites.html

    (b) [Plugin] Subsites/Subdomains
    http://modxcms.com/forums/index.php/topic,1445.0.html

    (c) [Hack] Subsites - (Solve Friendly Alias Path)
    http://modxcms.com/forums/index.php/topic,2059.0.html

    (d) .htaccessを使ったサブドメイン設定の方法について
    http://modxcms.com/forums/index.php/topic,6470.0/wap2.html


    一通り読んだ後、参考 (c) の方法を試してみました。(c) では、core code 自
    体を置き換えました。以下に手順を示します。



    (1) 参考 (c) の最初のページにある "Subsites v1.0.zip" というファイルの
    中身は古そうなので、下記リポジトリから最新ファイルをダウンロード。

    http://svn.djamoer.net/?do=browse&project=MODx&path=/trunk/hacks/subsites/

    (2) ファイルの入れ替え。

    (3) "root" というのかどうか分からないけど、画面左側のドキュメント・ツリー
    下に demo (id=2) というサンプルフォルダを作成する。

    (4) そのサンプルフォルダ (demo) の中に適当にファイルを作成する。

    (5) root の下に Error page (id=6) も作っておく。

    (6) Administration > System configuration > Site settings を開く

    (7) 新しく追加された [Subsites] という項目を "Enable" とする。

    (8) 同じく追加された [Site Main Domain] に以下のように入力。"mydomain.com" は例です、念の為。

    demo.mydomain.com 2 6

    (9) Administration > System configuration > Friendly URL settings を開く。

    (10) Use friendly URLs : "Yes" と設定し、その下はデフォルトのままにしておく。

    (11) xrea のサーバーに置いたファイル ht.access を .htaccess に改名。内容はそのまま。


    以上の設定の後、http://demo.mydomain.com にアクセスしてみると、「サーバー
    が見つかりません」となってしまいます。何が間違っているのか、お分かりの
    方がいらっしゃったら、お教え願えませんか。



    p.s.
    ----
    ちなみに、参考 (a),(b) のやり方も試しましたが、同じでした。



    また、xrea では、ドメインを取得していますので、

    xxx.s999.xrea.com --> mydomain.com

    と DNS の設定を施しています。これが何か効いてないか?と疑っています。何
    故なら、既に xrea の設定において、sub1.mydomain.com のようなサブドメイ
    ンを設定して、サブドメイン内のファイルにジャンプさせていますから。
    • xreaの場合、a.mydomain.comとb.mydomain.com との同期設定が必要ですが、それはOKでしょうか?
      仮にaの方にMODxを入れた場合でも同期設定をすると、b.mydomain.comのフォルダ(ドキュメントルート)は同じところを指すことになります。
      もちろん、別々に作ってもDBが同じであればいけるはずですが・・・。
      また、症状からするとサーバが見つかりませんなので、DNSとXREAのWEBサーバの設定の方が問題っぽいような気がしますが・・。
      NSLOOKUPで正しくIPが引けますでしょうか?
      もし、正しいXREAのIPであるとすると、XREAのウェブの設定が合ってないんじゃないかと思います。
      設定後すぐには反映されないはずなので、しばらく待ってからやってみてください。
      • ZeRo 様、お返事ありがとうございます。

        Quote from: ZeRo at Sep 11, 2006, 09:54 AM

        xreaの場合、a.mydomain.comとb.mydomain.com との同期設定が必要ですが、それはOKでしょうか?
        仮にaの方にMODxを入れた場合でも同期設定をすると、b.mydomain.comのフォルダ(ドキュメントルート)は同じところを指すことになります。

        ZeRo さんの仰る、a.mydomain.com と b.mydomain.com を同期させることが目
        的ではありません。

        mydomain.com という1つのドメインの元、サブドメインに A, B をもつ

        (A) A.mydomain.com
        (B) B.mydomain.com

        という、内容の全く異なるサイトを作りたいと考えてます。(A) と (B) を同期
        させるつもりはありません。ディレクト構成としては、

        public_html/ --- mydomain.com/ -+- A.mydomain.com/
                               |
                               +- B.mydomain.com/

        という風にして、A.mydomain.com と B.mydomain.com で全く異なる内容にした
        いと考えています。



        もしかして、Subsites 自体の使い方への理解が私が間違っているのかな? 前
        記参考 (a) には以下のように書かれていました。


        Subsites/Subdomains
        MODx では本来サブドメインでもうひとつのサイトを作ることには対応していません。
        そこでサブサイトを作るために作られたのが Subsites/Subdomains です。

        これを読んで、

        A.mydomain.com .... お店サイト
        B.mydomain.com .... 会社サイト

        mydomain.com のサブドメイン A, B で目的別サイトを作ろうと考えたのでした。
        そして以下のような作業を行いました。

        (1) xrea の public_html の下に作られている mydomain.com に MODx のファ
        イルとディレクトリを展開。

        (2) modx のインストールと基本的な設定を実施。

        (3) 前記 Subsites の導入と設定およびサブドメイン用のファイルの準備を modx 上で実施。

        (4) A.mydomain.com, B.mydomain.com にアクセスするも、「サーバーが見
        つかりません」となる。



        元々 xrea (value-domain.com) 側の「DNS 情報変更」において、サブドメイン
        の設定をしておけば、例えば A.mydomain.com というディレクトリが自動的に
        出来て、その中にファイルを書き込むと、サブドメインとして利用することが
        できます。

        その「ファイルを書き込む」と言う作業を modx で出来るのではないか、と考
        えた次第です。実体をもつファイルを A.mydomain.com というディレクトリに
        作成すれば表示できるのですが、modx を使うと、A.mydomain.com ディレクト
        リ下にファイルが作られる訳ではありません。

        modx の Subsites を使えば、A.mydomain.com というサブドメイン用ディレク
        トリにファイルを作らなくても、Subsites が適当に解釈してくれるのでは、と。
        で、試行してみた次第です。

        (試行1)
        xrea のサブドメイン設定なし + Subsites 適用 .... 「サーバーが見つからないか、DNS エラーです。」

        (試行2)
        xrea のサブドメイン設定あり + Subsites 適用 .... 「ドメインウェブの設定が見つかりません」



        ちなみに、「friendly URLs」を有効にしておかないとこの機能は使えないと思っ
        ているので、modx 管理画面のドキュメント・ツリーに作成している A.mydomain.com
        に相当する「A」というフォルダには、ドキュメント・エイリアス「A」を設定
        しています。そして、MODx 設定の「Site Main Domain」には、

        A.mydomain.com 2 6

        と設定しています。"2" は「A」の start_doc_id、"6" は「A」の error_doc_id です。
        • どもです。
          同期設定はまったく同じコンテンツを出すという意味ではなくて、MODx自体のインストール先を同一にする
          ことを意味しています。
          なので、下記のmydomain.comのフォルダに1つだけMODxをインストールするのは正しいです。
          下記のインストールから推測すると、XREAのWEBサーバへの設定には mydomain.comの設定だけが
          されていて、a.mydomain.comやb.mydomain.comとかの設定はされてないという感じがするのですが・・。
          DNSの方は、mydomain.com/a.mydomain.com/b.mydomain.com とか同じWEBサーバのIPで設定は
          されている。
          インストールは http://mydomain.com/installへ、管理画面は http://mydomain.com/manager
          へのアクセスは行えていて正しく動いてる状態ではないでしょうか?
          であれば、http://mydomain.com へアクセスすると正しいMODxの画面画が出る と。

          XREAのサブドメインの設定上、a.mydomain.com と b.mydomain.com のフォルダもpublic_html下にないとXREAのWEBサーバは解釈しないはずなので、DNSが正しく動いていてもWEB側がa.mydomain.comやb.mydomain.comが知らないといってエラーで返えします、「ドメインウェブの設定が見つかりません」は、この設定の問題で出てた気がします。
          なので、a.mydomain.com,b.mydomain.comもXREAの設定で登録して、同じフォルダを指すようにすればOKじゃないかと思います。

          また、フレンドリーURLでなくてもSubdomainは動くはずです。(たぶん、やったことないですが・・)
          ということで、XREAの設定を再度見直してみてください。

          違ってたらごめんなさい。


          • Quote from: ZeRo at Sep 12, 2006, 04:51 AM

            XREA の WEB サーバへの設定には mydomain.com の設定だけがされていて、
            a.mydomain.com や b.mydomain.com とかの設定はされてないという感じがするのですが・・。

            A.mydomain.com, B.mydomain.com ともに、DNS の設定をやった場合とやってな
            い場合を試しました。その結果が「ドメインウェブの設定が見つかりません」
            と「サーバーが見つかりません」なのです。


            Quote from: ZeRo at Sep 12, 2006, 04:51 AM

            DNS の方は、mydomain.com/a.mydomain.com/b.mydomain.com とか同じ WEB サーバの IP で設定はされている。

            そうです。全て同じ IP アドレスです。


            Quote from: ZeRo at Sep 12, 2006, 04:51 AM

            インストールは http://mydomain.com/install へ、
            管理画面は http://mydomain.com/manager へのアクセスは行えていて正しく動いてる状態ではないでしょうか?
            であれば、http://mydomain.com へアクセスすると正しい MODx の画面画が出る と。

            その通りです。なんら問題なくアクセスできます。


            Quote from: ZeRo at Sep 12, 2006, 04:51 AM

            XREA のサブドメインの設定上、a.mydomain.com と b.mydomain.com のフォルダも public_html 下にないと XREA の WEB サーバは解釈しないはずなので、
            DNS が正しく動いていても WEB 側が a.mydomain.com や b.mydomain.com が知らないといってエラーで返えします、
            「ドメインウェブの設定が見つかりません」は、この設定の問題で出てた気がします。

            私もそう考えたので、ドメインウェブの設定後、A.mydomain.com,
            B.mydomain.com のディレクトリが public_html 下に自動生成されたのを確認
            した上で、アクセスしてみました。その結果が以下のものなのです。「xrea の
            サブドメイン設定あり」が、サブドメインの DNS 設定とドメインウェブ設定の
            実施を指しています。


            (試行2)
            xrea のサブドメイン設定あり + Subsites 適用 .... 「ドメインウェブの設定が見つかりません」


            Quote from: ZeRo at Sep 12, 2006, 04:51 AM

            なので、a.mydomain.com, b.mydomain.com も XREA の設定で登録して、同じフォルダを指すようにすれば OK じゃないかと思います。

            「フォルダを指す」?

            DNS で A.mydomain.com も B.mydomain.com も、mydomain.com の IP アドレス
            を指すようにはしていますが、フォルダを指すとはどういう意味でしょう?



            また、A.mydomain.com, B.mydomain.com ディレクトリを xrea 側で自動生成さ
            れた後、その中身は空っぽです。index.html すらありません。それでも、大丈
            夫なんじゃないかと思ったのですが。


            そもそも、xxx.mydomain.com というリクエストがサーバーに届いた時、
            "mydomain.com" で目当てのサーバーは特定されます。その後、サブドメイン部
            分 (xxx) は DNS がチェックするのか、それとも modx がチェックするのか、
            どちらが先なのだろう?と疑問に思っています。

            xrea ではサブドメインを設定したら、それ用のディレクトリが
            public_html 下に作られます。例えば "A" というサブドメインを設定すると、

            A.mydomain.com

            というディレクトリが public_html/A.mydomain.com という配置で作られます。
            その下に index.html (public_html/A.mydomain.com/index.html) を作ると、

            http://A.mydomain.com/index.html

            でアクセス可能です。そんな環境下で、modx による subdomain を有効にした
            ら、DNS と modx のどちらの処理が先なんでしょう。DNS が先のような気がする。
            • 新たな進展が。時間を置いてアクセスると、

              「HTTP エラー 403 - アクセス不可」

              になっています。以前のメッセージは設定が反映されていない状態でのメッセー
              ジのようです。


              そこで、空っぽのサブドメイン用フォルダではまずいかもしれないので、と考
              え、適当な内容の index.html を public_html/A.mydomain.com に入れて再ア
              クセスしてみたところ、modx のSubsites の設定があるにもかかわらず、先ほ
              ど入れた index.html の内容が表示されました。

              ということは、DNS 側の設定が反映されていることになります。これは、初め
              て Subsites の設定をしていた時の予想の通りのなので、その後は DNS のサブ
              ドメイン設定を無効にし、modx の Subsites の設定のみにしたこともあります。

              そういう試行錯誤の後での問い合わせなのですが、なんとも未だ分かりません。
              • Quote from: custar at Sep 12, 2006, 06:51 AM

                また、A.mydomain.com, B.mydomain.com ディレクトリを xrea 側で自動生成さ
                れた後、その中身は空っぽです。index.html すらありません。それでも、大丈
                夫なんじゃないかと思ったのですが。
                これがまずいです。
                A.mydomain.com と B.mydomain.comへアクセスされた際には、それぞれのpublic_html/A.mydomain.com/index.htmlなりにアクセスがいきます。

                MODxは、mydomain.comへのアクセスのときにしか動きませんので、現在の動作は正しいわけです。
                なので、先ほどから何度も申し上げている同期設定が必要なです。
                mydomain.com と A.mydomain.comを同期させる設定と
                mydomain.com と B.myadomain.comを同期させる設定をXREAのマイドメイン→同期設定で 行う必要があります。
                これを行うと mydomain.com でも A、Bのサブドメイン付でも同じようにMODxがインストールされている状態に
                なります。
                但し、現在すでにフォルダを作っちゃっていると思うので、これをいったん削除してから同期設定をする必要があるかと思います。
                詳しくはXREAの同期設定の説明をお読みください。

                今度こそいける?
                • Quote from: ZeRo at Sep 12, 2006, 10:55 AM

                  mydomain.com と A.mydomain.comを同期させる設定と
                  mydomain.com と B.myadomain.comを同期させる設定をXREAのマイドメイン→同期設定で 行う必要があります。
                  これを行うと mydomain.com でも A、Bのサブドメイン付でも同じようにMODxがインストールされている状態に
                  なります。

                  おぉ、やっと同期させる理由に気が付きました。現在、再試行中です。
                  • 惜しい! もうちょっと!!

                    B.mydomain.com が Subsites で設定したページを表示したのに反して、
                    A.mydomain.com は mydomain.com と同じページを開いてしまっています。別の
                    ページを用意しているのに。


                    mydomain.com
                    -> A.mydomain.com
                    -> B.mydomain.com

                    A, B 両方を mydomain.com に同期設定しました。同期設定と言っても、管理画
                    面 (CONTROL PANEL) の「同期設定」にて、あらかじめ用意しておいた
                    A.mydomain.com と B.mydomain.com を

                    ┌ドメイン設定(同期元) [mydomain.com] と

                    └→ドメイン設定(同期先) [A.mydomain.com] を、同じ内容にする。

                    ┌ドメイン設定(同期元) [mydomain.com] と

                    └→ドメイン設定(同期先) [B.mydomain.com] を、同じ内容にする。

                    と2回行っただけですが。説明を読むと、


                    同期は UNIX のシンボリックリンク機能で行っています

                    のように説明されていますので、同期と言う意味も納得しました。


                    で、確認すると、上記の通り、B.mydomain.com のみ期待通りのページが表示さ
                    れて、A.mydomain.com は mydomain.com と同じページとなってしまいました。

                    Subsites もしくは modx の設定が悪いのか、と思い見直しているところです。
                    • もうちょいですね
                      Bが動いてるならMODxの設定かも・・・
                      または、XREA/DNS???かなぁ

                      ためしに、public_htmlにHTMLファイルを置いてBでアクセスしてみるとよいかもです。