このページには過去のホスティング環境の操作例が含まれます。新規構築でも、事前にファイル・DB・wp-config.php・Webサーバー設定をバックアップし、コピー環境で手順を確認してください。サイトネットワーク化は定数を削除するだけでは元に戻せません。復旧は変更前の一式から行います。
サブドメイン型のマルチサイトを作成してみましたので、その備忘録です。
ConoHaのサーバーの場合、パーミッションの関係で他のサーバーより少しだけ面倒です。
マルチサイトの特徴
マルチサイトの特徴を端的に書いておきます。
このサイトの仕組みは多言語サイトや支店を持つサイト等に使われます。
- 1つのデータベースに複数のサイトを格納する
- 複数のサイトに対して、テーマ、プラグイン、ユーザー、設定をまとめて管理できる
- サブディレクト型、サブドメイン型、そして別ドメイン型でも管理できる

マルチサイトのメリット
メリットとしては、テーマ、プラグイン、ユーザーをまとめて管理できるので、
複数サイトを横展開する時に設定周りが効率よく管理できます。
マルチサイトのデメリット
1つのデータベースに複数のサイトを格納する関係で、バックアップや復元が普通のプラグインだと難しいです。
またマルチサイトの設定も初心者には難しい点があります。
マルチサイトの設定方法(共通部分)
まずはWordPress側の設定をします。
サブドメイン・サブディレクトのマルチサイトの設定方法ですが、FTPとコードを追加するという作業が発生します。
FTPを使って、WordPressのデータにアクセスします。
ドメイン名のフォルダの直下wp-config.phpをテキストエディタで開いて、wp-settings.phpを読み込む行より前(編集終了コメントより上)に下記のコードを追加します
/** Multisite */
define('WP_ALLOW_MULTISITE', true);
これでマルチサイトの設定がONになりました。
管理画面のツールからWordPress サイトネットワークの作成というメニューが追加されているのを確認できます。

WordPress サイトネットワークの作成のページから下記の情報を入力してインストールします。
- サブドメインまたはサブディレクトを選択
- サイトネットワーク名(命名はなんでもいいです。あとから命名の変更もできます。)

今回はやや設定がめんどくさいサブドメインを選んでみました。
インストール後、2つのコードが表示されます。

まず先ほど編集したwp-config.phpを開いて
/* That's all, stop editing! Happy publishing. */
/* 編集が必要なのはここまでです。 それでは、WordPress をお楽しみください。 /*
と書かれたコメントの上にコードを貼りつけましょう。

続いて.htaccessですが、WordPressサイトを作りたてだと、生成されてなかったりしますので
管理画面 > 設定 >パーマリンクから、設定を変えずに空保存とhtaccessが生成されます。

あとは先ほどと同じく表示されたコードを追記しましょう。

元から記述されているコードに対して上書きしましょう。
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]2つのファイルのコードを追記して、FTPで更新が終えたら再ログインします。

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

サブディレクトであればここで子サイトの設定が完了しますが、
サブドメインを選んだ場合はまだ表示されません。
サブドメインと親サイトのデータとの繋ぎこみが必要になります。
サブドメイン型のマルチサイトの設定
サブディレクトと違い、サブドメインでのマルチサイトの設定は少し難易度があがります。
Webサーバー側で子サイトのホスト名を同じWordPressへ向けます。シンボリックリンクが必要かどうかはホスティング環境によるため、提供元のマルチサイト対応手順を確認してください。
ドメインの設定
ドメインの購入元ではなく、現在利用しているDNSの設定を確認します。各サブドメインが同じWordPressの設置先へ到達する必要があります。

必要に応じて個別レコードまたはワイルドカードDNSを設定し、Webサーバーの受け入れ設定とTLS証明書も別に確認します。
サブドメインの場合はアスタリスクを追加したAレコードを追加してあげます。
*.exsample.com A 3600 123.45.67.89SSHの接続設定
またConoHaのサイトでもやり方が確認できます。

SSH接続するための必要な情報は下記の通り
- ホスト(www.000.conoha.ne.jp)
- ポート番号(0000)
- アカウント名(c1234567)
- パスフレーズ(秘密鍵を保護するもの。サーバーログインのパスワードとは別です)
- 秘密鍵(xxxx.pem)
Tera Termを使って、SSH接続をして設定をします。


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

ConoHa Wingサーバーの場合
黒い画面からコマンドをシンボリックリンクを作成して、親サイトのドメインとサブドメインを接続してあげるだけです。
本来、下記のコマンドで済むのですが…
ln -s /home/アカウント名(c1234567)/public_html/ドメイン(exsample.com) /home/アカウント名(c1234567)/public_html/サブドメイン(sub.esample.com)ConoHa Wingサーバーの場合、サブドメイン登録時にsub.esample.comのようなフォルダが自動生成されてしまいます。
自動生成されたフォルダーには既存データがある場合があります。削除や権限変更を前提にせず、ホストの対応手順を確認してください。
以下の権限変更・削除コマンドは撤去しました。シンボリックリンク例も過去の環境向けであり、現在のサイトへそのまま実行する手順ではありません。
ドメインフォルダの親にあるpublic_htmlのフォルダのパーミッションの権限を変更
# 過去の権限変更コマンドは撤去。ホスト指定の権限を確認してください。サブドメインのフォルダを削除
# 過去のフォルダー削除コマンドは撤去。既存データを削除しないでください。シンボリックリンクを作成
ln -s /home/c1234567/public_html/exsample.com /home/c1234567/public_html/sub.exsample.com以上で、サブドメインにドメインへのシンボリックリンクが作成作成できました。
DNS・Webサーバー・証明書の設定が一致した状態で、子サイトの管理画面へアクセスできるか確認します。
エックスサーバーの場合
しらこさんの記事が詳しいので、そちらを参考にしてみてください。
基本ConoHaの時で解説したものと一緒です。

まとめ
1つのデータベースでまとめて複数サイトを管理できるマルチサイト。
テーマやプラグインをまとめて管理できるとはいえ、初心者にはおすすめしません。
複数のサイトをまたいだ情報の管理をしたい場合など、カスタマイズが得意な方には一つの良い方法かもしれません。
管理画面が生成するネットワーク用コードを、そのサイトの設定に使います。.htaccessを使わないNginxでは同じ手順になりません。既存のWordPressルールを指定どおり置き換え、認証や他サービスの設定まで消さないでください。サブドメインの表示、HTTPS、ログイン、画像、パーマリンクを個別に確認します。WordPress公式のネットワーク作成手順を参照してください。
よくある質問:WordPressでサブドメイン型のマルチサイトを設定するとき
マルチサイトとは、どんな仕組みですか?
記事では、1つのデータベースに複数のサイトを格納し、複数のサイトに対して、テーマ、プラグイン、ユーザー、設定をまとめて管理できる仕組みです。サブディレクトリ型、サブドメイン型、別ドメイン型でも管理できます。多言語サイトや支店を持つサイト等に使われます。
メリットとデメリットは、何ですか?
記事では、メリットは、テーマ、プラグイン、ユーザーをまとめて管理できるので、複数サイトを横展開する時に設定周りが効率よく管理できることです。デメリットは、1つのデータベースに複数のサイトを格納する関係で、バックアップや復元が普通のプラグインだと難しく、設定も初心者には難しい点があることです。
設定を始める前に、何をしておきますか?
記事では、このページには過去のホスティング環境の操作例が含まれるため、新規構築でも、事前にファイル・DB・wp-config.php・Webサーバー設定をバックアップし、コピー環境で手順を確認します。サイトネットワーク化は、定数を削除するだけでは元に戻せないため、復旧は変更前の一式から行います。
wp-config.phpや.htaccessは、どう編集しますか?
記事では、FTPでwp-config.phpを開き、編集終了コメントより上にコードを追加します。ネットワークの設置後に表示される2つのコードを、wp-config.phpと.htaccessに追記します。.htaccessがない場合は、管理画面の設定 > パーマリンクから、設定を変えずに保存すると生成されます。管理画面が生成するネットワーク用コードを、そのサイトの設定に使います。
サブドメイン型では、サブディレクトリ型と何が違いますか?
記事では、サブディレクトリであれば再ログイン後にサイトのメニューで子サイトの設定が完了しますが、サブドメインを選んだ場合は、サブドメインと親サイトのデータとの繋ぎこみが必要になります。Webサーバー側で子サイトのホスト名を同じWordPressへ向けます。
DNSは、どう設定しますか?
記事では、ドメインの購入元ではなく、現在利用しているDNSの設定を確認します。各サブドメインが同じWordPressの設置先へ到達する必要があります。必要に応じて個別レコードまたはワイルドカードDNSを設定し、Webサーバーの受け入れ設定とTLS証明書も別に確認します。
ConoHa Wingでの、権限変更や削除のコマンドは使えますか?
使わないでください。記事では、以下の権限変更・削除コマンドは撤去し、シンボリックリンク例も過去の環境向けで、現在のサイトへそのまま実行する手順ではありません。自動生成されたフォルダーには既存データがある場合があるため、削除や権限変更を前提にせず、ホストの対応手順を確認します。
設定したあとは、何を確認しますか?
記事では、サブドメインの表示、HTTPS、ログイン、画像、パーマリンクを個別に確認します。.htaccessを使わないNginxでは同じ手順になりません。既存のWordPressルールを指定どおり置き換え、認証や他サービスの設定まで消さないでください。なお、初心者にはおすすめしないとされています。



