こんにちは、さち です。
先日、サーバー上で動くブログソフトウェア
「WordPress」のセットアップをしました。
通常、1つの WordPress で管理できるサイトは1つですが
「マルチサイト」という機能を使うと
1つの WordPress で複数のサイトを管理できます。
しかし、WordPress の「マルチサイト」を有効にする方法が
少し面倒&分かりにくい……。
そこで、今回は
WordPress で「マルチサイト」を使う方法について書いていきます。
まえおき
マルチサイトによって複数サイトを管理する方法は2つあります。
「サブドメイン」毎の管理と、「サブディレクトリ」毎の管理です。
(プラグインを使うと、複数ドメインの管理もできるみたい)
今回、実践するのは「サブドメイン」毎の管理です。
「サブディレクトリ」のものとは微妙に手順が異なるので注意して下さい。
ちなみに、この解説に使用した WordPress のバージョンは5.0.3です。
バージョン4系とは異なる部分があるかもしれません。注意して下さい。
手順1/3 - WordPress(ワードプレス)のインストール
まずは、サーバーにWordPress をインストールします。
多くのレンタルサーバーは WordPress を簡単に導入できる仕組みが用意されています。
(導入手順はサーバーにより異なるので各社マニュアルを参照)
- 今回は「サブドメイン」毎のマルチサイトを想定しているため
インストール場所は、必ず「ドキュメントルート」にします。
ドキュメントルートとは、ウェブに公開される最上位のディレクトリのことで
多くのサーバーでは、「public_html」ディレクトリです。 - インストールが完了したら
ドキュメントルートにある「index.php」にアクセスして、WordPress の初期設定をします。
(初期設定について解説しているサイトは多くあるのでそちらを参照)
今回は、「ブログちゃん」というサイトをメインドメイン「sachi-web.com」に作りました。
- ドキュメントルートにある「wp-login.php」にアクセスして
WordPress にログインできる状態になったら次項に進んで下さい。
手順2/3 - マルチサイトを有効にする
インストールした直後の WordPress は
シングルサイトでの使用を想定した状態になっています。
マルチサイトが有効になるように設定をしましょう。
- ドキュメントルートにある「wp-config.php」の内容を変更します。
(不安な場合は、編集前の「wp-config.php」のバックアップを取っておく)
下記8行目のようにdefine('WP_ALLOW_MULTISITE', true);
を書き加えます。
場所は、「編集が必要なのはここまでです !」という記述より前ならどこでもOK。// 注意: // Windows の "メモ帳" でこのファイルを編集しないでください ! // 問題なく使えるテキストエディタ // (http://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.82.A8.E3.83.87.E3.82.A3.E3.82.BF 参照) // を使用し、必ず UTF-8 の BOM なし (UTF-8N) で保存してください。 /** マルチサイトを有効にする */ define('WP_ALLOW_MULTISITE', true); // ** MySQL 設定 - この情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */
- WordPress にログインして、左のメニューの「ツール」→「サイトネットワークの設置」と進みます。
- サイトネットワーク内のサイトアドレスを選択します。今回は「サブドメイン」です。
- 「サイトネットワーク名」は何でもよいです。
「サイトネットワーク管理者のメールアドレス」は、WordPress の初期設定と同じものを入力。
「インストール」をクリックします。
- 「wp-config.php」と「.htaccess」の編集を指示されます。
- まずは、ドキュメントルートにある「wp-config.php」から行きましょう。
(不安な場合は、編集前の「wp-config.php」のバックアップを取っておく)
指示されたものをコピーして、下記の8~14行目のように貼り付けます。
場所は、「編集が必要なのはここまでです !」という記述より前ならどこでもOK。// 注意: // Windows の "メモ帳" でこのファイルを編集しないでください ! // 問題なく使えるテキストエディタ // (http://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.82.A8.E3.83.87.E3.82.A3.E3.82.BF 参照) // を使用し、必ず UTF-8 の BOM なし (UTF-8N) で保存してください。 /** マルチサイトを有効にする */ define('WP_ALLOW_MULTISITE', true); define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', 'sachi-web.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); // ** MySQL 設定 - この情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */
- 次に、ドキュメントルートにある「.htaccess」です。
(不安な場合は、編集前の「.htaccess」のバックアップを取っておく)
指示されたものをコピーして、下記の3~15行目のように貼り付けます。
(<IfModule mod_rewrite.c>~</IfModule>間に元々ある記述に上書きする)# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*\.php)$ $1 [L] RewriteRule . index.php [L] </IfModule> # END WordPress
- WordPress に戻り、ページ右下にある「ログイン」をクリック。
- 再度ログインします。
これで、マルチサイトを有効にする設定は完了です。
手順3/3 - サブドメインのサイトを追加する
今の状態だと、メインドメインにしかサイトがありません。
サブドメインのサイトを追加してみましょう。
- まずは、レンタルサーバーの設定を行います。
ドメイン設定で、マルチサイトで使う「サブドメイン」を追加します。
今回は、例として「sub.sachi-web.com」というサブドメインにします。
必要であれば、サブドメインの SSL(https)化 もこの段階でしておきます。 - 追加したサブドメインを、メインドメインと同期する設定にします。
つまり今回は、「sub.sachi-web.com」にアクセスした時に
URL はそのまま、「sachi-web.com」と同じ内容が表示される状態にします。
設定方法はサーバーによって異なるので、各社のマニュアルを見て下さい。
(同期,Sync,シンボリックリンク,NoDirectory などのワードで検索) - ここから、WordPress に移動します。
上部のメニュー「参加サイト」→「サイトネットワーク管理」→「ダッシュボード」と進みます。
- 「新規サイトを作成」をクリック。
- 追加するサイトの情報を入力します。
サイトアドレスは、先ほどレンタルサーバーに設定した「サブドメイン」を入力。
「管理者メールアドレス」は、WordPress の初期設定と同じものを入力。
「サイトを追加」をクリックします。
- 「参加サイト」にカーソルを合わせると、サイトが追加されているのが分かります。
これでマルチサイトの設定は完了です。
WordPress の管理画面にアクセスできない場合
WordPress の管理画面(ダッシュボード等)にアクセスできない場合
WordPress やサーバー等の設定に問題がある可能性が高いです。
見直してみて下さい。
「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」と出る場合
サーバーで利用している PHP のバージョンが原因かもしれません。
PHP5系、またはPHP7系の最新のものに変更してみて下さい。
「404 Not Found」になる場合
恐らく、「サブドメイン」と「メインドメイン」の同期(シンボリックリンク)ができていません。
WordPress はメインドメインにしか存在しないため
普通にサブドメインにアクセスすると「404 Not Found」になります。
「500 Internal Server Error」になる場合
「.htaccess」や「PHP」ファイルの編集をミスしている可能性があります。
「安全な接続ではない」と出る場合
SSL が有効になっていない、または設定を誤っている可能性があります。
コメント