以前、いくつかのwordpressサイト1つ1つにサブドメインを作ってdocumentrootを割り当ててwordpressを入れてみたいなことをしていました。ブログ熱に冷めて、1年程サイトを放置していました。久々サイトを更新しようと思いアクセスしたところ、別のサイトが表示されてしまっていました。ドメインのお金を払うのを忘れていて、そのドメインをどっかの業者に買い取られていました。その業者がドメインを売りに出して居ましたが、胡散臭いので買い戻すことはせず新しくドメインを作り直しました。SEO的にも強くなっていたドメインだったのでもったいなかったですが...ドメインを取得し直して借りていたレンタルサーバーに当てなおそうと思ったら、レンタルサーバーもお金を払うのを忘れていて閉じられて居ました。今まで頑張って作ったサイトとかブログ記事がなくなってしまいました。作り途中みたいなwordpressのテーマと古めのDBのバックアップが残って居ました。DBに入っていた記事を見ると、懐かしくなってきて復活させてあげたく思いました。そこで新しくwordpressを設置してそこに入っていいた記事だけでも復活させようと思いました。そこには複数のブログがありました。管理が大変なので1つのwordpressで運用したいと思いました。そこで調べていたところwordpressにマルチサイトという機能があることを知り、使ってみることにしました。長くなりましたが、悔しかったので経緯を書かせていただきました。wordpressをマルチサイト化するメリット一つのwordpressアカウントで複数のサイトの管理画面に入れる。wordpressのサイト1つ1つにプラグインを入れる必要がない。ソースコードがすごい減る。1つのDB、または1つの接頭辞で良くなる。デメリットは今のところ、学習コストが少しかかる程度です。今回は、VCCWを使ってサブドメインを使ったwordperssマルチサイト化の方法を説明します。VCCWを使わないWordPressのマルチサイト化は以下のサイトを見れば分かります。複数サイト運用方法(サブドメイン型)←今回はコレローカルに構築VCCWの使い方は分かっているものとして話を進めます。VCCWのplaybook(今回はsite.yml)のmultisite:の箇所をtrueにします。trueそれ以外のsite.ymlとvagrantfileの完了していると仮定します。設定しているurlにアクセスして、管理画面にログインすると、サイトネットワーク管理の管理画面が表示されているかと思います。したら「設定」の「ネットワークの設定」をクリックします。.htaccessのファイルを編集します。true’にしていればwp-config.phpの記述はすでにあると思います。しない記載があれば追加してあげればいいと思います。);をtrueにするとサブドメイン型になってfalseにするとサブディレクトリ型になります。VCCWではサブドメイン型非推奨っぽいです。.htaccessはまるっと上書きして問題無いと思います。hostsにサブドメインを追加します。/private/etc/hosts立ち上げているvagrantで振り当てたIPと同じIPを使ってサブドメインも設定します。three.sitename.dev追加するサブドメインを追加する。したらサイトネットワーク管理の管理画面に戻り、「サイト」の「新規追加」をクリックします。以下項目に入力していきます。(URL)hostsで設定したサブドメインをこちらにも設定する。管理者メールアドレス以上でローカルでの設定は完了です。リモート(レンタルサーバーなど)に反映させる。Movefileの設定をします。詳細は以下のページをご参照ください。--allを実行した後、サイトにアクセスしてログインすると以下の画面が表示されます。こちらにはMovefileで設定したDBの情報と同じものを入力してください。--allを何度か行ってください。管理画面にログインすると普通の管理画面が表示されます。サイトネットワーク管理の管理画面(http://sitename.com/wp-admin/network/)にアクセスしようとしても「マルチサイトのサポートが有効ではありません。」というエラーが出ます。–allではwp-config.phpは反映されないからです。そこでローカルでwp-config.phpを修正した時と同じになります。以下の行は本番のURLに変更しましょう。);更にDBにあるURLをリプレイスする必要があります。sitename.dev→sitename.infoただSQLで一括置換するのは良くないらしいです。Scriptを使います。Script」を使おう」にかいてあります。PHP」をダウンロードします。ダウンロードしたzipファイルを開いて、ローカルのwordpressディレクトリの直下に置きます。※ディレクトリは任意の名前に変更してよい。--allを実行して本番にアップします。※ディレクトリ名を変更していたらその名前に変更。run」をクリックする。再度、サイトネットワーク管理の管理画面(http://sitename.com/wp-admin/network/)アクセスするちゃんと表示出来るはずです。このままだとセキュリティ上非常にまずいので、Search-Replace-DB-masterにはベーシック認証を設置などする、またはファイルを消すなどした方が良いと思います。サイトネットワーク管理で設定した、サブドメインを当てたサイトにアクセスしても、表示されない。これは、レンタルサーバー側からサブドメインのアクセス先も割り当てないといけない。ロリポップの場合はこちら→WordPressでマルチサイト化@ロリポップ!これでやっとローカルと同じようにサブドメインのURLにアクセスしてもちゃんと表示されるようになる。--allをした後にDBのURLを変更しなければならない。手順が増えるのは若干めんどくさい。新しくサイトを追加する際には、都度レンタルサーバーの管理画面側から追加しなければならない。サブディレクトリ型にすればこういった手順は必要なくなるのか...試すのめんどくさいので今回は検証するのは辞めておきます。