web-dev-qa-db-ja.com

4.5.xマルチサイトでのドメインマッピング(プラグインなし)

WP 4.5.2を使用する

マルチサイトネットワークにおけるドメインマッピングのためのWordPress.orgプラグインの開発者でさえも、もはやプラグインを使わないように言う - core WPは今や同じ機能を含んでいるので。

これを機能させる方法についてのエンドツーエンドの指示を誰かが知っていますか?私は私のレジストラのCNAMEポインタを私のネットワークサイトの一つに設定しようとしました、そしてadmin->network->edit site->info->Site Address (URL)のサイトURLを登録されたドメインの名前に変更しました - それでも私のホスティングで "site not exist"ページに着きます会社。

私はそれがマルチサイトインスタンスのための専用のIPアドレスを持っていないのが、私が別のホスティングプランを購入して専用のIPアドレスを支払う前に本当にマッピングはWP 4.5マルチサイトで設定されることになっています。

どんな助け、洞察力またはよい参照へのポインターは非常に高く評価されるでしょう。

7
C C

これは私が設定したソリューションの例です。これはサイトをネットワークに残しますが、任意の登録済みドメインからネットワークへのドメインマップを確立します。これにより、ネットワークサイトは完全に独立したサイトのように見え、すべての機能(ログインなど)はそのまま維持されます。

目標:

クライアントの登録済みドメイン(www.foosite.comfoosite.comの両方)を当社のマルチサイトネットワークmymultisite.comにマッピングし、クライアント上でできるだけ簡単にします(つまり、レジストラでCNAMEレコードまたはAレコードに触れないようにします)。

手順:

Amazon Route 53をDNSシステムとして使用する。

  1. Amazon AWS Route 53がDNSを処理するので、最初にクライアントの登録済みドメイン(foosite.com)のホストゾーンを作成し、www CNAMEレコードがwww.mymultisite.comを指すようにします。

  2. (非www)クライアントのfoosite.comおよび 静的 にAmazon AWSでS3バケットを設定し、それをwww.foosite.comにマッピングします。

  3. Route 53ホストゾーンに戻って、(非www)foosite.comのAレコードを作成し、それをAliasとして指定して、手順2で作成したバケットを指すようにします。これにより、www.foosite.comfoosite.comの両方がwww.mymultisite.comを指すようになります

  4. マルチサイトネットワークでは、ネットワーク管理者でクライアントのサイトにアクセスし、サイトのURLを編集してwww.foosite.comに変更します。

  5. mymultisite.comをホストするホスティングアカウントで、foosite.comというアドオンドメイン(またはパークドメイン)を指定し、それをpublic_html(またはWPがインストールされている場所)に指定します。これにより、着信マッピングサイト用に、Apache configに仮想ホストレコードが効果的に作成されます。

注: マルチサイトが静的IPアドレスでホストされており、そのアドレスの唯一のサイトであり、ホスティング会社がサイトのドキュメントルートへの着信ドメインの動的マッピングを許可している場合アドオンドメインまたはパークドメインを使用する必要はありません。不明な場合は、ホスティング会社にお問い合わせください。

  1. マルチサイト用のwp-config.phpに、次の行を追加する必要があります。define('COOKIE_DOMAIN', $_SERVER['HTTP_Host'] );この設定に問題がある場合は、define('COOKIE_DOMAIN', '');を試してください。

結果:

マップされたドメインに対して完全なDNSソリューションを確立しました。ルート53のホストゾーンに記録されているAmazonネームサーバーをDNSとして指定して、ドメインの登録機関を更新するようにクライアントに指示するだけです。あなたのクライアントはCNAMEやAレコードをいじる必要は全くありません - あなたはマッピングをRoute 53で完全に処理しています。さらに、AWS Aliasレコードの magic のために、あなたのマルチサイトはしません。静的IPアドレスを使用する必要すらあります(ただし、安全のため、固定IPアドレスを使用しています)。

ネームサーバーとして別のシステム(Enom、GoDaddyなど)を使用している場合は、ドメインのAレコードをmymultisite.comの静的IPアドレスを指すように設定します。これは大丈夫な答えですが、静的IPアドレスが変更された場合は、レジストラでAレコードを更新するようにクライアントに指示する必要があるというリスクがあります。

私はRoute 53のソリューションがとても好きです。また、 この記事 のガイダンスに従って、AWSに「ホワイトラベル」のDNSセットを作成しました。これは非常に簡単です。クライアントにレジストラに設定する新しいネームサーバーを追加するだけで、WP側のすべてが問題なく動作します。 _ a _ レコードに静的IPアドレスを維持する必要はありません。

これがfoosite.comのホストゾーンの外観です。

foosite.com     A     ALIAS <name of S3 bucket>
footsite.com    NS    ns1.vanityns.com; ns2.vanityns.com; ns3.vanityns.com; ns4.vanityns.com
foosite.com     SOA   ns1.vanityns.com hostmaster.vanityns.com x x x x
www.foosite.com CNAME www.mymultisite.com

バニティーネームサーバーの設定は、ここで入力するには多すぎます。リンクした記事の指示に従ってください。その上でもう1つポイントがあります。バニティーネームサーバー自体のネームサーバーエントリには、 グルーレコード を使用してバニティーネームサーバーのリストを指定し、再利用可能な委任で実際のAWS割り当てネームサーバーの実際のIPアドレスに接続します。セット。

これは私のためにうまくいったものに約20時間の研究/実験の結果をまとめたものです。

4
C C