自宅サーバのWordPressで複数のブログを生成する

WordPressは、マルチサイトの設定をすれば新たにインストールすることなく複数のブログを管理することができます。
自宅サーバ独自ドメインで運用しているこのブログをマルチサイト化した時のメモです。

  • WordPress 4.4
  • 自宅サーバ
  • 独自ドメイン

加えて、かなり前にマルチサイト化をテストした時の残骸があり一筋縄でいかなかったので、そちらの対応も。

まずマルチサイトを許可する

サーバマシンに置いてあるWordpressのソースを編集し、マルチサイトの設定を開始するためのコードを追記します。

まず、wp-config.phpへ次の1行を追記します。
あまり下の方だとダメなので、WP_DEBUGの後に書きました。

define('WP_ALLOW_MULTISITE', true);

レンタルサーバの場合は、編集したデータをSFTPやFTPでアップロードします。

変更後、Wordpress管理画面をリロードすると
「ツール」に「ネットワークの設置」というメニューが増えています。

WordPressのURLがIPだとマルチサイト化できない

一回テスト環境でマルチサイト化してから本番に切り替えればいいかと思っていたら
WordpressのURLがドメインでないとマルチサイトはできないと警告が出ました。

やむなしなので、深夜4時に本番環境を直接編集!
個人サイトとはいえ、ひさしぶりに手に汗にぎりました(笑)。

以前のマルチサイト設定が残っており警告が

ネットワークの設置をひらいてみると…以前設定していたマルチサイトの残骸があったので、このようなエラーが。

設定手順を完了してください。新しいサイトネットワークを作成するには、サイトネットワークのデータベーステーブルを空にするか削除する必要があります。

MySQLサーバにアクセスして、データテーブルを確認してみると
確かに、昔のドメインや、マルチサイトテスト…といったデータが残っていました。

データベースをmysqldumpでバックアップしてから、不要なデータを削除します。

2016年2月時点のWordpress4.4の場合は、このデータテーブルを削除すると警告が消えました。
xxx_のところは、wp-config.phpの$table_prefixで設定しているWordpressデータテーブルの接頭辞です。

  • xxx_blogs
  • xxx_blogs_versions
  • xxx_site

参考:
WordPress3.0へアップグレード(さくらインターネット) | 問い合わせ倍増ホームページ制作

変更後、Wordpress管理画面をリロードすると、警告は消えます。

WordPressサイトネットワークの作成

ネットワークの設置の警告が消えると、Wordpressサイトネットワークの作成のプロセスに進んでいます。

すでにこのブログを運用している状態なので、サブドメインしか選択できませんでした。
Wordpressは、過去1か月以内に投稿があるブログではサブドメインのマルチサイト化しか許可しない仕様になっています。
また、Wordpressをサーバのドキュメントルートにインストールしていない場合は、サブディレクトリしか選択できません。

インストールを開始すると、しばらく待ってからwp-config.phpと.htaccessに指定のコードの追記するよう指示が出ています。

wp-config.phpは、マルチサイト設定の開始で追記したWP_ALLOW_MULTISITEの直後に
.htaccessは、先頭3行が既存の設定と被っていたので、それ以降のコードを追記しました。
編集したら、Wordpressの管理画面からログアウトし、再びログインします。

ログインしたら、管理画面にサイトネットワーク管理者のメニューが増えています。

サブドメインを設定

サブドメインを使えるよう、サーバのほうでは、hostsとDNSを設定します。
Wordpressのマルチサイトなので、apacheのバーチャルホストは設定しなくても大丈夫です。

hostsにサブドメインを追加

サーバマシンのhostsファイルを開き、ローカル・ループバック・アドレスの127.0.0.1へサブドメインを追加します。

このブログwebdev.jp.netの場合は、こうなっていたところに

127.0.0.1  localhost webdev.jp.net

diary.webdev.jp.netも追加してこうなりました。

127.0.0.1  localhost webdev.jp.net diary.webdev.jp.net

このように半角スペースで区切ってもよいですが、1行ずつ分けて書いても大丈夫です。

127.0.0.1  localhost
127.0.0.1  webdev.jp.net
127.0.0.1  diary.webdev.jp.net

DNSレコードの管理からサブドメインを追加

お名前.comのドメインナビにログインし、DNSレコードの管理からサブドメインを追加します。
レコードはデフォルトのAのまま、IPは大元のwebdev.jp.netと同じ値を入力し追加します。

サブドメイン設定完了

WordPress管理画面のサイトネットワーク管理者メニューから、DNSレコード設定したサブドメインを入力し新しいサイトを構築します。
と、すぐにサブドメインの新しいサイトが構築できました。
かなり簡単だったので、拍子抜けしてしまいました。

関連記事

Pocket