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

マルチサイトのメリット
メリットとしては、テーマ、プラグイン、ユーザーをまとめて管理できるので、
複数サイトを横展開する時に設定周りが効率よく管理できます。
マルチサイトのデメリット
バックアップツールがマルチサイトに対応するか、ネットワーク全体と子サイト単体のどちらを復元できるかを確認します。
共有するユーザー情報などもあるため、復元範囲を事前に決めて試してください。
またマルチサイトの設定も初心者には難しい点があります。
マルチサイトの設定方法(共通部分)
まずコピー環境で通常のパーマリンクが動くことを確認し、有効なプラグインと設定を記録して一時停止します。
ネットワーク作成後はマルチサイト対応を確認しながら再有効化します。
サブドメイン・サブディレクトのマルチサイトの設定方法ですが、FTPとコードを追加するという作業が発生します。
FTPを使って、WordPressのデータにアクセスします。
ドメイン名のフォルダの直下wp-config.phpをテキストエディタで開いて、wp-settings.phpを読み込む行より前(編集終了コメントより上)に下記のコードを追加します
/** Multisite */
define('WP_ALLOW_MULTISITE', true);
これでネットワーク作成メニューが利用可能になります。
この定数だけではネットワーク化は完了しません。
管理画面のツールから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.10SSHの接続設定
また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ルールを指定どおり置き換え、認証や他サービスの設定まで消さないでください。
なお、初心者にはおすすめしないとされています。



