Windows レンタルサーバー ExpressWeb が終了したため、ConoHa に移行しました。ExpressWeb の終了は2015/12/4に発表されましたが、運よく直前に1年分を支払っていたため2016/12/4まで使えていました。
WordPress は、KUSANAGI for ConoHa を選択。KUSANAGI for ConoHa は「ConoHa 用の WordPress が高速に動作する無償の仮想マシンイメージ」です。
KUSANAGI のインストールは、公式ドキュメントを見ながら進めると問題なくできました。サーバーは Nginx を選択。ちなみに KUSANAGI 推奨よりメモリ量が少ない 1GB の VPS プランです。
この投稿は、KUSANAGI Advent Calendar 2016 の5日目です。
WordPress の移行
おそらく多くの人は Blog 始めるときにいきなり KUSANAGI にしようって人は少なく、既にある WordPress の移行先の選択のひとつじゃないでしょうか。移行のためにした作業やつまづいた点などを思い出して書き留めておきます。
手順通りに WordPress を新規に作成して、データを移行します。ドメインは移行元と同じものを使い、サーバーが変わっただけで、ユーザーには URL が変わるなどの影響がない移行です。
IP アドレスでアクセス
手順通りに WordPress を新規作成すると、指定したドメインでアクセスする前提ですが、投稿の移行などができるまでは IP アドレスでアクセスして作業できるようにします。
/etc/nginx/conf.d にある、自分で付けた名前_http.conf を編集します。
server_name jz5.jp www.jz5.jp; となっているところを、server_name jz5.jp www.jz5.jp 133.130.124.195; のように、IP アドレスを追記して保存します。そして、kusanagi nginx コマンドで Nginx を再起動します。
ちなみに、今回 HTTPS を使うようにしていません。HTTPS の方の設定は、_ssl.conf のファイルを編集するようです。
画像の移行
画像の移行は、FTP(SFTP) で移行元の wp-content/uploads にあるファイル・フォルダーをすべてダウンロードして、移行先の同じフォルダーへ移動します(※ 移行先のフォルダーを変えるテクニックもあるみたい)。
これだけでは、WordPress の「メディア」には反映されません。検索すると WordPress Flash Uploader プラグインが使えるという記事がありますが、エラーが出て使えませんでした。当 Blog では、とりあえずこの問題を放置しています。
投稿の移行
WordPress 公式のエクスポート・インポートのツールは、アイキャッチ画像が移行できず、使えませんでした。投稿を CSV 化するプラグインと CSV からインポートするプラグインを使います。
投稿は、WP CSV Exporter プラグインを移行元にインストールして、アイキャッチ画像を含むデータを CSV として保存します。2016年12月現在もこの方法は使えました。詳しくは、その他のサイトを見てください。
インポート前に CSV を編集する必要があります。保存した CSV は、UTF-8 のため 2016年12月現在の Excel 2016 では、編集はできません。Google スプレッドシートで CSV を開き、post_id を値をすべて削除します。WordPress では post_id はいろいろなところで消費されていて、(新規作成であっても)移行先とバッティングし移行失敗する場合があります。※ 投稿の URL に post_id を使っていると移行したとき URL が変わってしまいます。
さらに、CSV を編集してアイキャッチ画像の URL をサーバー内のパスに変更します。
例: https://jz5.jp/wp-content/uploads/2016/11/file.jpg を /home/kusanagi/jz5jp/DocumentRoot/wp-content/uploads/2016/11/fiile.jpg へ置換。
移行先は、Really Simple CSV Importer プラグインを使って、編集した CSV をインポートします。詳しくは、その他のサイトを見てください。
WordPress 以外のサイトとして使う
移行元は、WordPress 以外に別ドメインで普通の Web サイトとしても使っていたので、同じ KUSANAGI の VPS でできるようにします。Nginx のバーチャルホスト 設定でできるらしい。
/etc/nginx/conf.d にある、自分で付けた名前_http.conf を編集します。
既に記述されている sever { … } とは別に server { … } を追記します。
既にある記述を参考に、いくつか検索して、なんとかファイルアクセスや PHP が動作するようになりました。内容は割愛。
Nginx を再起動するまでに、conf ファイルの内容をテストするには nginx -t コマンドを使います。
nginx -t ではいかがでしょうか?
— Kengyu Nakamura (@kengyu_n) November 29, 2016
(っ弊ω5)っ rootユーザーで ngunx -t を実行することでconfigファイルに構文確認ができます #弊社5F #弊社野良サポート
— 弊社5F (@heisha_5f) November 29, 2016
その他の移行
プラグインやテーマ、ウィジェットの配置などは、新規にインストールしたり新たに編集したりして対応しました。プラグインでいろいろカスタマイズしているとたいへんかもしれません。
移行
いろいろ設定など完了したら、ドメインが参照する先を移行先の IP アドレスへ変更します。利用しているサービスの DNS 設定などから行います。
解決していない点
- WordPress Popular Posts プラグインが、サムネイル生成に失敗しているみたい。KUSANAGI イメージに必要な環境が入っていないから?
追記:解決しました。wp-content/uploads/wordpress-popular-posts と以下のファイルの所有者とユーザーが「kusanagi kusanagi」になっているからでした。「httpd www」に変更すると解決しました。
失敗した点
- ConoHa を使い始めるなら、紹介してもらえばよかったです。紹介者にクーポンが手に入ります。
- メディアの「タイトル」などの情報が消えました。そういう情報を移行してないので消えて当然なのだけど、ケア忘れてました。
- メディア内で、移行元の画像が重複したり画像サイズのパターンがなかったりぐちゃぐちゃになっている。
キャラクター
たぶんキャラクターがいなかったら、KUSANAGI for ConoHa にはしていなかったと思う。