CORESERVERでwordpressの既存サイトのマルチサイト化
既存サイトのwordpress化したことについては以前このブログで書きましたが、wordpress化したサイトのサブドメインで、元々wordpressで作っていたものがあったので、これを機会にマルチサイト化することにしました。
wordpressのマルチサイト化とは、一つにwordpressで複数のwordpressを管理することができる機能です。
マルチサイト化のメリットとしては、サーバーの容量の節約くらいでしょうか(笑)
プラグインやテーマなどを複数のブログで使用することができるので、インストール・アップデートが一度で済むといったメリットもありますが、wordpressをマルチサイト化すると、『特権管理者』というアカウントが作成されるのですが、プラグインやテーマをインストールした際に特権管理者が有効化しなければならず、ダッシュボードを行き来しないといけないので、プラスマイナスゼロだと思います。
私はコアサーバーを使っているのですが、かなりクセが強く、他のサーバーなら難なくできることもコアサーバー(xreaも含む)なら一筋縄に行かないことが多いです。(こんなにコアサーバー独自のクセがあり、ユーザーが困っているのだから、他のサーバーと同じようにすればいいと思うのですが…)
詳しいマルチサイト化のやり方については検索すればたくさん出てきますので、他のサイトに譲るとして、コアサーバー(xrea)でマルチサイト化する際に私が苦労した点を備忘録も兼ねて書きたいと思います。
サブドメインでマルチサイト化する場合はサーバーの同期設定が必要
サブドメインをマルチサイト化するためには、.htaccessを書き換えて、フォルダを作成するだけではダメらしく、サーバーを同期させる必要があるようです。
サーバーにログインして、ドメインウェブをクリック、左側のメニューの『同期設定』から同期してください。
同期元と同期先を間違うと、ファイルが全て消えるので、ご注意を。
ちなみに、私は間違えてファイルが全て消えました(笑)
ですが、データベースが残っているので、wordpressをアップロードし直すだけで記事も設定も元に戻るので、そこまで神経質にならなくても大丈夫です。
※テーマを編集している場合は、編集してあるテーマもアップロードし直す必要がありますので、テーマのバックアップもお忘れなく。
記事のエクスポート・インポート
データのエクスポート
万が一のことを考えて、バックアップを取っておくことをおすすめいたしますが、私は自分のサイトなら面倒なので、バックアップを取りませんでした。
通常はwordpressの「ツール」→「エクスポート」でOKなのですが、コアサーバー(xrea)の場合、エクスポートしたデータを後でインポートできないので、この方法はダメです。
いろいろ検索すると、「インポートするプラグインをダウングレードすればいい」といった記事がありましたが、カテゴリーなどがおかしくなるようなので、この方法も却下。
最終的に選んだ方法がphpMyAdminから、直接ダウンロードする方法です。
「phpMyAdminからダウンロードするのは難しいそう」と思った方!ちょっと待ってください。
私も難しいと思いましたが、やってみると意外に簡単で、しかも記事だけでなく、wordpressの設定もそのまま移行できるので、マルチサイト化した後に設定を直したりする必要がないので、とっても楽なんです。
コアサーバーにログインして、データベースのページにアクセスします。
ページ下部に「PhpMyAdmin/PhpPgAdminインストール」という部分がありますので、そこからデータベースにログインしてください。
ログイン情報はphpMyAdminインストールの近くにある情報(青い枠のログイン情報を入力する際に使用)とデータベース作成時の情報(「phpMyAdmin 2.10.1 へようこそ」と出ている画面で使用)の2つありますので、注意してください。
データベースの中に入ったら、左側の「データベース」のプルダウンでデータベース名を選択します。
すると、ずらずらと項目が出てきますが、マルチサイト化したいwordpressの接頭語が最初についた項目を一つずつ表示ボタンをクリックして、エクスポートしてパソコンの適当な場所に保存すれば完了です。
エクスポートする際、いろいろな項目がありますが、下の方にある『ファイルに保存する』にチェックを入れることをお忘れなく。
ここをチェックしないと保存できませんのでご注意を。
データのインポート
次にエクスポートしたデータをインポートしていくのですが、まず先にマルチサイト化したいサイトをマルチサイト化してください。
サブドメインをマルチサイト化する場合は、先程の同期設定もお忘れなく。
マルチサイト化が完了したら、本体となるwordpressのデータベースにエクスポートした時と同じ要領でログインします。
すると、「wp_○○○2_△△」という項目があるかと思います。
『2』という数字が付いているのがポイントです。
【wp_○○2_】の部分が接頭語になりますので、これをメモしてください。
先程エクスポートした既存wordpressのデータ(sqlファイル)を【メモ帳以外の】テキストエディタで開き、インポートできる形に編集します。
【メモ帳以外の】というところが重要で、フリーで高機能なテキストエディタがありますので、そちらを使用してください。
ちなみに私はいつもEmEditorを使っています。
TeraPad(スペルはこれだったかな?)などが有名ですが、私はこればかり使っているので、EmEditorが一番良いかどうかわかりませんので、お好きなものでOKです。
エクスポートしたデータを開いたら、19行目辺りに『-- テーブルの構造 `既存サイトの接頭語データ名(commentmetaなど)`』という行があるかと思います。
【既存サイトの接頭語・データ名(commentmetaなど)】の部分をコピー、テキストエディタの置換で、先程メモしておいたマルチサイト化したサイトの接頭語に全て置換えます。
次に13行目辺りにある『-- データベース: `データベース名`』をマルチサイト化するデータベース名に置換えます。
※同じデータベースを使用する場合は、この作業は必要ありません。
この作業をエクスポートしたデータ全てに行えば準備完了です。
次に、またマルチサイト化した本体のwordpressのデータベースに行き、先程編集したデータを削除してから(データを削除してからじゃないとインポートできません)、インポートすれば記事だけでなく、設定も全て移行できるかと思います。
全てのデータが面倒でしたら、ファイル名に『post』『term』『option』が付いているものだけでも良いかもしれません。
文章にするとかなり長いですが、エクスポート・インポートの作業は慣れれば30分も掛かりませんので、コアサーバー(xrea)ならこの方法が一番楽で確実かと思いますので、ぜひお試しください。