Amazon11/12まで!スマイルSale開催中! セール会場へ

WordPress│サブドメイン型のマルチサイトの設定方法

このページには過去のホスティング環境の操作例が含まれます。

新規構築でも、事前にファイル・DB・wp-config.php・Webサーバー設定をバックアップし、コピー環境で手順を確認してください。

サイトネットワーク化は定数を削除するだけでは元に戻せません。

復旧は変更前の一式から行います。

サブドメイン型のマルチサイトを作成してみましたので、その備忘録です。

以下のConoHa WINGの画面とコマンドは過去の環境の記録です。

現在の契約環境でのマルチサイト対応と設定方法は提供元へ確認してください。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

マルチサイトの特徴

マルチサイトの特徴を端的に書いておきます。

このサイトの仕組みは多言語サイトや支店を持つサイト等に使われます。

マルチサイトの特徴
  • 1つのデータベースに複数のサイトを格納する
  • 複数のサイトに対して、テーマ、プラグイン、ユーザー、設定をまとめて管理できる
  • サブディレクト型、サブドメイン型、そして別ドメイン型でも管理できる
マルチサイトの構成や管理の仕組みを示す図。

マルチサイトのメリット

メリットとしては、テーマ、プラグイン、ユーザーをまとめて管理できるので、

複数サイトを横展開する時に設定周りが効率よく管理できます。

マルチサイトのデメリット

バックアップツールがマルチサイトに対応するか、ネットワーク全体と子サイト単体のどちらを復元できるかを確認します。

共有するユーザー情報などもあるため、復元範囲を事前に決めて試してください。

またマルチサイトの設定も初心者には難しい点があります。

スポンサーリンク

マルチサイトの設定方法(共通部分)

まずコピー環境で通常のパーマリンクが動くことを確認し、有効なプラグインと設定を記録して一時停止します。

ネットワーク作成後はマルチサイト対応を確認しながら再有効化します。

サブドメイン・サブディレクトのマルチサイトの設定方法ですが、FTPとコードを追加するという作業が発生します。

STEP
マルチサイトの設定をONに

FTPを使って、WordPressのデータにアクセスします。

ドメイン名のフォルダの直下wp-config.phpをテキストエディタで開いて、wp-settings.phpを読み込む行より前(編集終了コメントより上)に下記のコードを追加します

/** Multisite */
define('WP_ALLOW_MULTISITE', true);
マルチサイト設定を有効化するためのコードを追記した画面。

これでネットワーク作成メニューが利用可能になります。

この定数だけではネットワーク化は完了しません。

管理画面のツールからWordPress サイトネットワークの作成というメニューが追加されているのを確認できます。

管理画面のツールメニューにサイトネットワークの作成が追加された様子。
STEP
WordPress サイトネットワークの作成

WordPress サイトネットワークの作成のページから下記の情報を入力してインストールします。

  • 利用可能な方式からサブドメインまたはサブディレクトリを選択(既存構成によって選択肢が制限されます)
  • サイトネットワーク名とネットワーク管理者のメールアドレスを確認
サイトネットワークの作成画面でサブドメインやネットワーク名を入力する項目。

今回はやや設定がめんどくさいサブドメインを選んでみました。

インストール後、2つのコードが表示されます。

インストール後に表示される追加設定用のコード。

まず先ほど編集したwp-config.phpを開いて

/* That's all, stop editing! Happy publishing. */

/* 編集が必要なのはここまでです。

それでは、WordPress をお楽しみください。

*/

と書かれたコメントの上にコードを貼りつけましょう。

編集対象のファイルで指定されたコメントの上にコードを貼り付ける位置。

続いて.htaccessですが、WordPressサイトを作りたてだと、生成されてなかったりしますので

ApacheでWordPressに書込み権限がある場合、パーマリンク設定の保存で生成・更新されることがあります。

生成されなければ、ネットワーク作成画面とホストの案内に従いファイルを用意します。

Nginxでは.htaccessを使いません。

管理画面のパーマリンク設定画面。

ネットワーク作成画面が表示した、そのサイト専用のルールを使います。

既存のWordPress用ルールを置き換え、二重に追記しないでください。

ファイルに追記・上書きするコードの記述内容。

下の4行は旧設定の一部を示したもので、ネットワーク用ルールの完成形ではありません。

そのまま設置せず、画面に表示された全体を確認します。

認証や他サービスの既存設定は保持してください。

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

wp-config.phpへの指定定数の追加と、.htaccessのWordPressルールの置換を終えたら再ログインします。

ファイルのコード追記と更新を行う手順を示す画面。

再ログインすると管理画面にサイトというメニューが追加されます。

再ログイン後の管理画面に追加されたサイトメニュー。

ここまででネットワーク管理画面が利用できるようになります。

子サイトはネットワーク管理の「サイト」から別途追加します。

サブディレクトリ型でも、子サイト作成後にページや画像のURLを確認します。

サブドメイン型では、子サイトのホスト名で同じWordPressへ到達できるDNS・Webサーバー・証明書の設定も必要です。

サブドメイン型のマルチサイトの設定

サブディレクトと違い、サブドメインでのマルチサイトの設定は少し難易度があがります。

Webサーバー側で子サイトのホスト名を同じWordPressへ向けます。

シンボリックリンクが必要かどうかはホスティング環境によるため、提供元のマルチサイト対応手順を確認してください。

ドメインの設定

ドメインの購入元ではなく、現在利用しているDNSの設定を確認します。

各サブドメインが同じWordPressの設置先へ到達する必要があります。

ドメイン設定やレコード追加の設定画面。

必要に応じて個別レコードまたはワイルドカードDNSを設定し、Webサーバーの受け入れ設定とTLS証明書も別に確認します。

ワイルドカードを使う場合の概念例です。

ホスト名・IPアドレス・入力欄の形式は実環境へ合わせます。

管理者が決めた子サイトだけを使う場合は個別DNSレコードでも構成できます。

*.example.com  A  3600  192.0.2.10

ConoHaの公式案内にはサブドメイン追加時のDNSレコード自動追加の説明がありますが、ワイルドカードが必ず作成されるとは確認できません。

利用中のネームサーバーと実際のレコードを確認してください。

公式のドメイン追加手順を参照できます。

SSHの接続設定

またConoHaのサイトでもやり方が確認できます。

SSH接続するための必要な情報は下記の通り

事前に調べておく情報
  • ホスト(www.000.conoha.ne.jp)
  • ポート番号(0000)
  • アカウント名(c1234567)
  • パスフレーズ(秘密鍵を保護するもの。サーバーログインのパスワードとは別です)
  • 秘密鍵(xxxx.pem)

Tera Termを使って、SSH接続をして設定をします。

ターミナルソフトを使って接続設定を行う画面。
接続成功時に表示されるテキストの例。

以下のようなテキストが表示されれば接続成功です。

接続成功時にターミナル画面に表示されるテキスト。

ConoHa Wingサーバーの場合

過去の構成ではシンボリックリンクを使いました。

ただしリンクだけでDNS・Webサーバー・HTTPSの設定が完了するわけではありません。

以下は過去のパス構成を示す記録です。

現在の環境で実行するコマンドではありません。

ln -s /home/アカウント名(c1234567)/public_html/ドメイン(exsample.com) /home/アカウント名(c1234567)/public_html/サブドメイン(sub.esample.com)

ConoHa Wingサーバーの場合、サブドメイン登録時にsub.esample.comのようなフォルダが自動生成されてしまいます。

自動生成されたフォルダーには既存データがある場合があります。

削除や権限変更を前提にせず、ホストの対応手順を確認してください。

以下の権限変更・削除コマンドは撤去しました。

シンボリックリンク例も過去の環境向けであり、現在のサイトへそのまま実行する手順ではありません。

過去の権限変更手順は撤去済み

# 過去の権限変更コマンドは撤去。ホスト指定の権限を確認してください。

過去のフォルダー削除手順は撤去済み

# 過去のフォルダー削除コマンドは撤去。既存データを削除しないでください。

過去のシンボリックリンク例

ln -s /home/c1234567/public_html/exsample.com /home/c1234567/public_html/sub.exsample.com

上の例は当時の記録です。

今回の本文改訂でConoHaの現在の環境へ適用する試験は行っていません。

DNS・Webサーバー・証明書の設定が一致した状態で、子サイトの管理画面へアクセスできるか確認します。

エックスサーバーの場合

しらこさんの記事が詳しいので、そちらを参考にしてみてください。

以下は第三者による過去の解説です。

ConoHaと同じ権限・フォルダー構成とは限らないため、現在のホスト公式手順と照合してください。

スポンサーリンク

まとめ

1つのデータベースでまとめて複数サイトを管理できるマルチサイト。

テーマやプラグインをまとめて管理できるとはいえ、初心者にはおすすめしません。

複数のサイトをまたいだ情報の管理をしたい場合など、カスタマイズが得意な方には一つの良い方法かもしれません。

管理画面が生成するネットワーク用コードを、そのサイトの設定に使います。

.htaccessを使わないNginxでは同じ手順になりません。

既存のWordPressルールを指定どおり置き換え、認証や他サービスの設定まで消さないでください。

サブドメインの表示、HTTPS、ログイン、画像、パーマリンクを個別に確認します。

WordPress公式のネットワーク作成手順を参照してください。

よくある質問:WordPressでサブドメイン型のマルチサイトを設定するとき

マルチサイトとは、どんな仕組みですか?

記事では、1つのデータベースに複数のサイトを格納し、複数のサイトに対して、テーマ、プラグイン、ユーザー、設定をまとめて管理できる仕組みです。

サブディレクトリ型、サブドメイン型、別ドメイン型でも管理できます。

多言語サイトや支店を持つサイト等に使われます。

メリットとデメリットは、何ですか?

記事では、メリットは、テーマ、プラグイン、ユーザーをまとめて管理できるので、複数サイトを横展開する時に設定周りが効率よく管理できることです。

デメリットは、1つのデータベースに複数のサイトを格納する関係で、バックアップツールのマルチサイト対応と復元範囲を確認する必要があり、設定や復旧の設計が複雑になる点です。

設定を始める前に、何をしておきますか?

記事では、このページには過去のホスティング環境の操作例が含まれるため、新規構築でも、事前にファイル・DB・wp-config.php・Webサーバー設定をバックアップし、コピー環境で手順を確認します。

サイトネットワーク化は、定数を削除するだけでは元に戻せないため、復旧は変更前の一式から行います。

wp-config.phpや.htaccessは、どう編集しますか?

ネットワーク作成画面の指示に従い、wp-config.phpへ定数を追加し、.htaccessの既存WordPressルールを置き換えます。

二重追記やファイル全体の上書きは避けます。

自動生成はサーバー構成・権限によって異なり、Nginxにはこの.htaccess手順を使いません。

サブドメイン型では、サブディレクトリ型と何が違いますか?

どちらもネットワーク管理画面で子サイトを追加します。

サブドメイン型では各ホスト名が同じWordPressへ到達するDNS・Webサーバー設定とTLS証明書が必要です。

再ログインだけで子サイトが自動作成されるわけではありません。

DNSは、どう設定しますか?

記事では、ドメインの購入元ではなく、現在利用しているDNSの設定を確認します。

各サブドメインが同じWordPressの設置先へ到達する必要があります。

必要に応じて個別レコードまたはワイルドカードDNSを設定し、Webサーバーの受け入れ設定とTLS証明書も別に確認します。

ConoHa Wingでの、権限変更や削除のコマンドは使えますか?

使わないでください。

記事では、以下の権限変更・削除コマンドは撤去し、シンボリックリンク例も過去の環境向けで、現在のサイトへそのまま実行する手順ではありません。

自動生成されたフォルダーには既存データがある場合があるため、削除や権限変更を前提にせず、ホストの対応手順を確認します。

設定したあとは、何を確認しますか?

記事では、サブドメインの表示、HTTPS、ログイン、画像、パーマリンクを個別に確認します。

.htaccessを使わないNginxでは同じ手順になりません。

既存のWordPressルールを指定どおり置き換え、認証や他サービスの設定まで消さないでください。

なお、初心者にはおすすめしないとされています。

  • URLをコピーしました!

実装を任せたい方へ

WordPressのカスタマイズ代行

ブロックの追加、テーマの改修、管理画面の調整など、記事で紹介している内容の実装を承ります。1時間 ¥8,000〜(税込)。

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのカスタマイズのサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次