【WordPressマルチサイト】温泉ブログを作ったよ!~エックスサーバーでのWordPressマルチサイト化手順

趣味でサブドメイン上に温泉ブログを作成したのですが、WordPressのマルチサイトで作成しました。

備忘録ではありますが、その手順を皆さんにシェアしたいと思います。

本記事のご利用は、自己責任でお願いいたします。

目次

マルチサイトとは

サーバーにインストールした1つのWordPressを使って、複数のサイトやブログを運用することが出来るようになります。これがWordPressマルチサイトの特徴です。マルチサイトには以下の3通りありますが、今回実践したのはサブドメイン型となります。

  • サブディレクトリ型
  • サブドメイン型
  • 複数ドメイン型

運用中のWordPressブログでも、マルチサイト化できる!

ここでお伝えしておきたいことは、すでに運用中のWordPressブログでも、マルチサイト化できるということです。

下記のような感じに設定していきます!

レンタルサーバーは、エックスサーバー(XSERVER)を使用しています。

これはエックスサーバー特有なのですが、通常サブドメインを作成する場合、エックスサーバー上ではpublic_htmlディレクトリ以下のサブドメイン用のディレクトリがonsen.tecchan.jpとはならず、onsenとなります。

したがって、エックスサーバー上でサブドメインでマルチサイト運用をするためには、onsenディレクトリを削除し、onsen名のシンボリックリンクをpublic_htmlに張ることが必要です。

マルチサイト化前の下準備【推奨される方法】

もっとも推奨される手順は、

データベース(DB・MySQL)WordPress全ファイルのバックアップを取ります!

です。笑

しかし、これでは少々荷が重い気がしますので、データ容量が少量のブログでしたら下記の手順に変更しましょう。

  • All-in-One WP Migrationプラグインで、無料で1GBの容量までDB・ファイルのバックアップが可能です。
  • 上記以外に、FTPまたはエックスサーバーのファイルマネージャから.htaccesswp-config.phpファイルのバックアップをとっておきます。
  • できればデータベースのバックアップもとっておきましょう(phpMyAdminの使い方の練習も兼ねて)。

これで準備は整いました。マルチサイト化を進めていきましょう。

サブドメインの作成

エックスサーバーのサーバーパネルからサブドメインを作成します。

サブドメインの作成手順は、エックスサーバー公式のマニュアルを参照しましょう。

運用中のブログが無料独自SSL利用中の場合には、サブドメイン作成時にも「無料独自SSLを利用する」にチェックを入れておきます。無料独自SSLを利用する場合、ここで解説する最後の手順「WordPress管理画面でマルチサイトを作成しよう」に移るまでに1時間ほど待ちましょう。

マルチサイト化の手順

下記の手順でマルチサイト化を進めていきましょう。

STEP
wp-config.phpにマルチサイトの設定を追加する

define('WP_DEBUG', false);の後に下記を追記しましょう。

define('WP_ALLOW_MULTISITE', true);

追記したら、FTPまたはファイルマネージャでアップロードします。

STEP
プラグインの無効化

アップロード後WordPress管理画面にログインし、プラグインをすべて無効化(プラグインを停止すればOK)します。

STEP
サイトネットワークの設置

「ツール」>「サイトネットワークの設置」というメニューが追加されていますので、それを開き、「サイトネットワーク名」は適当に入力し、「サイトネットワーク管理者のメールアドレス」は、特に何もなければ今使用しているメールアドレスを入力しましょう。「インストール」ボタンをクリックします。

「インストール」ボタンをクリック後、wp-config.phpdefine('WP_ALLOW_MULTISITE', true);以降に下記を追記します。以下のtecchan.jpとなっている部分は、あなただけのURLになっています。

define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'tecchan.jp');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);

.htaccessには#BEGIN WordPress#END WordPressの間のコードを、すべて以下のコードに置き換えてください。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>

これらのファイルをFTPまたはファイルマネージャでアップロード後、WordPress管理画面へ再ログインします。

STEP
画面の左上に「参加サイト」の項目が現れる

画面の左上に「参加サイト」の項目が現れたら、「参加サイト」メニュー内の「サイトネットワーク管理」をクリックし、「サイト」>「新規追加」をクリックします。

このときに出てくるサイトアドレス (URL)がサブドメインになっていなかったら、wp-config.phpdefine('SUBDOMAIN_INSTALL', true);の行がtrueではなくfalseになっている可能性があります。忘れずにtrueに変更しましょう。

ここでは、まだサブドメインのサイトは追加しません。

エックスサーバーにSSHでログインしよう

本丸の設定です。SSHでは黒い画面でコマンドを入力していく訳なのですが、残念ながら黒い画面アレルギーコマンドアレルギーの方が時折いらっしゃいます。ここは我慢して、黒い画面でコマンドを入力していきましょう。笑

STEP
エックスサーバーのSSH設定

エックスサーバーの「サーバーパネル」>「SSH設定」をONにして、ONにした後は「公開鍵認証用鍵ペアの作成」で「パスフレーズ(パスワードです)」を入力していくと、秘密鍵(拡張子が.keyとなっているファイル)がダウンロードできますので、任意の場所へ保存しておきましょう。

エックスサーバー公式マニュアルの「SSH設定」のSSH接続の有効化・無効化の手順1~4および、公開鍵認証用鍵ペアの生成、公開鍵の登録の手順1~4までをやればOKです(お客さまにて作成の公開鍵を登録する場合の手順は不要)。

STEP
SSHにログインします。

Windows用のフリーソフトですが、私はTeraTermを使用しました。

ダウンロード後、TeraTermを起動してください。

ホスト名にはsv****.xserver.jp(****は固有のサーバー番号)を入力し、TCPポートには22と入力されているものを10022と書き換えて、OKボタンをクリックします。

以下の画面が出てきます。

ユーザー名にはサーバーIDを入力し、パスフレーズは先ほど登録したものを入力します。

RSA/DSA/ECDSA/ED25519鍵を使うのラジオボタンを選択し、秘密鍵には先ほどダウンロードしたファイルを開きます。ファイルの選択画面で、そのままでは拡張子.keyの秘密鍵が開けないので、画面右下の「秘密鍵ファイル」となっている部分を「すべてのファイル(*.*)」に切り替えて、先ほどダウンロードした拡張子.keyの秘密鍵ファイルを開きます。

以下の画面が出てきます。これでOKです。

この画面で、以下の手順を実行していきましょう!

まず、FTPまたはファイルマネージャで、先ほど作成したサブドメインのディレクトリを削除します。たとえば、onsen.tecchan.jpというサブドメインであれば、該当ドメイン内のpublic_htmlディレクトリ内にonsenという名前のディレクトリが自動作成されています。これを削除します。

次に、TeraTermに下記のコマンドを入力していきます。

[サーバID@sv****]$ cd /home/サーバーID/あなたのドメイン/public_html

サブドメイン名でpublic_htmlにシンボリックリンクを張ります。

[サーバID@sv9999 public_html]$ ln -s /home/サーバID/あなたのドメイン/public_html /home/サーバID/あなたのドメイン/public_html/onsen

※上記のonsenの部分は、あなたのサブドメイン(先ほど削除したディレクトリ名)を入力してください。

最後に、以下を入力します。

[サーバID@sv**** public_html]$ ll

以下のように表示されれば、無事にシンボリックリンクが張れているのでOKです。

[サーバID@sv**** public_html]$ ll
合計 188
-rw-r--r-- 1 サーバID members 6633 6月 9 8:15 default_page.png
lrwxrwxrwx 1 サーバID members 49 6月 6 8:00 onsen -> /home/サーバID/あなたのドメイン/public_html

これでSSHでの作業は以上です。TeraTermを終了しましょう。

WordPress管理画面でマルチサイトを作成しよう

WordPress管理画面に戻り、先ほどの「サブドメインの作成」にて無料独自SSLを作成してから約1時間経過するまで待ちましょう。

STEP
サイトの新規追加

1時間ほど経過したら、「マルチサイト化の手順」>「STEP4」の画面にて以下の通り進めていきます。

  • サイトアドレス(URL)には、先ほど設定したサブドメインonsenなど)を入力していきます。
  • サイトのタイトルは適当なものを入力します。
  • サイトの言語日本語でOK。
  • 管理者メールアドレスは、あなたのメールアドレスを入力しましょう。

上記作業が終わったら、サイトを追加ボタンをクリックします。

STEP
URLの修正

次に、同じ画面内の「サイト」>「すべてのサイト」をクリックし、新規追加したサイトのURLをクリックして編集画面を開きます。

情報タブのサイトアドレスがhttp://になっていたら、その部分をhttps://に書き換えて、設定を保存ボタンをクリックします。

次に、設定タブを開いて、SiteurlHomeのURLがどちらもhttps://になっていることを確認します。

これでWordPressのマルチサイトが無事に作成できました。

今のところ、私が使えなかったプラグインはSiteGuard WP Pluginです。その他、セキュリティ系のプラグインは使えないものが多いようなので、よくご確認の上マルチサイト化をお試しください。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
目次
閉じる