さくらレンタルサーバプラン変更(旧スタンダード→新スタンダード)に伴うWordPress引っ越しメモを残しておく。
激遅さに定評のあるさくらレンタルサーバだが、「同じプラン名(スタンダード)で同じ金額でだいぶ高速なサーバ用意したので、契約し直してはどうでしょう。ただし、移行は自分でやってください」的な案内がきていたのをずっと放置していた。
夏休みの自由研究としてとりくんでみたので、工程をメモっておく。
まずは手を動かす前に、移行の流れのイメージをつかんでおく。
- 突然既存のサービスが使えなくなるということはない
- 新サーバと旧サーバの両方契約している並行期間がある
- 移行の具体的な流れは旧サーバからドメイン情報を削除し→ 新サーバにドメイン情報を登録→ 最低限のWordPressセットアップ→ データインポートという手順が必要になる
- 数十分から数時間アクセス断になる(上記作業スピードに依存)
新スタンダードの案内メールがきたことに関しての記事↓
さくらのレンタルサーバ スタンダードプラン乗り換えクーポンのご案内 - うれしいブログ
さくらレンタルサーバでのマルチドメインの設定メモの記事↓
さくらサーバ マルチドメイン管理 - うれしいブログ
本当に高速化されるかどうか、サイトの速度を計測しておく
gtmetrix.com というサイトで測定。
https://gtmetrix.com
[before]
旧サーバに移行用プラグイン「all-in-one wp migration」をインストールする
ググると、一番お手軽な移行方法は「all-in-one wp migration」というプラグインを利用した方法とのこと。
プラグイン > 新規追加
all-in-oneで検索し、「今すぐインストール」
有効化
左メニューにAll-in-One WP Migrationメニューができる
左メニュー> All-in-One WP Migration > エクスポート
キャプチャは省略
旧サーバでドメイン情報を削除する
管理画面での登録情報が消えるだけで、サーバ上のブログデータは消えない。(FTP等で引き続きアクセスできる。)
コントロールパネル > ドメイン/SSL設定 > (ドメインを選択し) 削除
ここで削除しておかないと、新サーバで同一ドメインを登録できない。 (同じさくらのサービスなので、物理的にサーバが異なっても、どのドメインを登録しているかは共有しているようだ)
削除した時点で、サイトにアクセスできなくなる。
いよいよ移行
さくらはプラン毎に物理的な収容サーバが異なっているので、そのままプラン変更ができない。(引っ越し無しでプラン変更できるようになったらもっと人気でると思うのだけど・・・)
まずは、クーポンコード(メールで届いている)を利用して、通常どおり「レンタルサーバお申し込み」をする。
▼さくらのレンタルサーバ お申し込み
https://secure.sakura.ad.jp/order/rs/plans
スタンダードを選択。
初期ドメイン名(=ログインID的な)を設定。以前と同じ名前は使えない。
すでに会員なので「ログイン」選択。
支払方法とクーポンコードを入力。
同意して申し込む。
これで申込みは完了。
念のため、会員メニューから契約状況を確認する。(スクショ省略)
https://secure.sakura.ad.jp/menu/top/
会員メニュー>契約情報>契約サービスの確認
(以降の手順で、新旧サーバの設定確認のためログインを繰り返すことになる。この「サーバ設定」からアクセスすると便利)
まだ申込み中になってる・・。お試し期間中だからなのかな?
新サーバへのログインパスワードはメールでくる
件名「[さくらのレンタルサーバ] 仮登録完了のお知らせ」というメールに初期パスワードが記載されている。
コントロールパネル> サーバパスワードの変更 ・・・で自分で変更しておいたほうがいい。
新サーバの設定をする
新サービスのほうの「サーバ設定」をクリック。
IPアドレスを調べる
コントロールパネル>サーバ情報の表示>サーバに関する情報> IPアドレス
サーバのCPUが変更されているのと、メモリ容量が増えているのが確認できます。
[before]
[after]
新サーバでドメイン登録
コントロールパネル > ドメイン/SSL設定 > 新しいドメインの追加
「5. 他社で取得したドメインを移管せず使う」を選択
ドメイン名を入力して「送信する」
ドメインの詳細設定でサブフォルダを入力。ここ重要。
sshやファイルマネージャーでwww配下にサブフォルダを作成。
新サーバでデータベース作成
コントロールパネル > データベースの設定 > データベースの新規作成
既存のdb名とできるだけ同じにする。
新サーバでWordPress設定
コントロールパネル > クイックインストール > ブログ(1) > WordPress
上記で設定したデータベースの設定と紐づける。「インストール先」がxxx.saura.ne.jpではなく、独自ドメインになっていることを確認。
パス(サブフォルダ) の部分はWordPressをインストールするサブフォルダになるのでマルチドメインの場合は重要。旧サーバでどういうパス(サブフォルダ名)にしていたか確認する。ここで階層を設定することも可能。
インストールを押すと自動でインストールされる。具体的にはwww配下に先程入力したサブフォルダが作成され、そのしたにワードプレスがインストールされている。
インストール完了とでているが、まだWordPresss管理画面には入れない。先程指定したドメインのDNS情報がまだ旧サーバになっているため。
DNS設定で、新サーバを指定する
ここではムームードメインのDNSサービス、「ムームーDNS」での設定例。
ムームードメイン | 欲しいドメインがすぐ見つかる。
該当のドメインの「変更」ボタンをクリック
既存のIPアドレスを新サーバのものに書き換えて、セットアップ情報変更
WordPress + マルチドメインの場合、もう一工夫必要
今回 http://マイドメイン.com/blog/wp というパス(階層)にワードプレスをインストールしているが、
http://マイドメイン.com/ というシンプルなURLでアクセスするようにしたいため、もうひと手間必要になる。
sshでサーバにログイン
ssh接続はTeratermというフリーソフトがいいでしょう。セットアップ手順は省略します。
/home/アカウント名/www/サブフォルダ/WPインストールフォルダ
という構成の場合、WPインストールフォルダ上のindex.php と .htaccess ファイルを一つ上の再送にコピーする。
cp index.php ../index.php
cp .htaccess ../.htaccess
ちなみに.htaccessファイルは隠しファイルなのでlsでは表示されない。ls -a で表示される。
先程のコピーした方の(1階層上位においた) index.phpを編集する。
vim ../index.php
require( dirname( FILE ) . '/wp-blog-header.php' );
の行を下記のようにサブフォルダを付け足す(ここではwp)。
require( dirname( FILE ) . '/wp/wp-blog-header.php' );
ここの設定の詳細は下記サイトに詳しい。
WordPress を専用ディレクトリに配置する - WordPress Codex 日本語版
WordPressの初期設定
先程、WordPressのクイックインストール後、飛ばした手順、「アプリケーションの設定へ進む」をクリック
404 Not Foundがでるかもしれません。
その場合は先程 ムームーDNSでAレコードとしてwwwを登録したので、
http://マイドメイン.com/wp/wp-admin/
ではなく、wwwをつけて
http://www.マイドメイン.com/wp/wp-admin/
をはいってみる。理由は不明。DNSがわのレコード書き換えに時間がかかってるだけ??
wwwつきではいると、初期インストール画面になる。最終的にバックアップから上書きできるので、(管理者の)ユーザ名パスワードだけもとの情報をいれておけばいい。
成功。ログインできるか試してみる。
無事はいれた。
ワードプレスの初期セットアップはここまで。
新サーバにワードプレスデータをリストアする
あとすこし。
まず、ブログデータをリストアするために all-in-one wp migrateプラグインをインストール
プラグイン > 新規追加
all-in-oneで検索し、「今すぐインストール」
有効化
左メニューにAll-in-One WP Migrationメニューができる
左メニュー> All-in-One WP Migration > インポート
インポート元 > ファイル
旧サーバでエクスポートしてローカルに保存したバックアップファイルを選択(拡張子.wpress)
自動でよみこまれる。
上書きしますがいいですか?ときかれる、OKなので「PROCEED」
自動で処理が進むのでまつ
成功
なにか操作しようとすると、ログイン画面になるので、再度ログイン
プラグインや言語設定も含めて元通りになっている。画像も。
あとは微修正をすれば終了。
左メニュー>設定>一般設定> サイトアドレス・・・をwwwなしの短いものに変更する。こうするとwwwで訪問されてもwwwなしにリダイレクトされます。
あとはお好みで。
ここまでできてブログにアクセスしたところさくらインターネットのサイトが開く場合
上記手順まで済んでいれば基本,安心していいが、いくら更新しても「さくらインターネット」のページしか表示されない場合は、ウェブブラウザのキャッシュが残っている、等の問題が考えられる。
その場合は、しばらく時間をあけて試してみよう。
スマホのFirefox Focusなどキャッシュを利用しないブラウザで開いてみるとすんなり見れた。
ブログは表示されても各記事のなかみがNot Foundで表示されない
パーマリンクの設定が関係あるようです。
もともと「日付と投稿名」で運用してたサイトですが、新規サーバにインポートしたとき、なんらかの構造が解釈できない状態になっているのかもしれません。
「日付と投稿名」→ 「基本」に変更したところ、各記事が表示されるようになりました。全記事に反映されています。
パーマリンクに日付いれたり独自ワードいれたりはSEOに効果があるらしいと、どこかで聞いたことあります。ここはサイト管理者によっては譲れない、という状況が出てくるかもしれませんね。筆者は「基本」に変更することで妥協しましたが。調べるともってスマートな解決法があるのかもしれません。
最後に速度はかってみる
gtmetrix.com というサイトで測定。
https://gtmetrix.com
[before]
[after]
スコアがよくなり、一安心。特にダッシュボードでの体感速度は違いが実感できるほど速くなっています。それだけ旧サーバが遅すぎたということ。
旧サーバの解約
年間一括払いのため、途中解約しても月割り換算などはされないようです。解約手続きだけして期間満了まで放置しか方法なさそうです。残念。
サービスの解約 – さくらのサポート情報 > 年間一括払いをご利用時の場合
おまけ
ウェブフォントの対応が必要だった。詳細は記事にした。↓
kiyoshi.hatenablog.com
感想
この記事をかくために週末の丸一日を費やしました。
ワードプレスって年に数回しか設定画面いじらないので、いざこういう高度な作業をすると、ずっとつまづきっぱなしで試行錯誤していた。
pathの指定を理解しながら正しいものを指定してやらないと、そもそも初期設定画面にすらはいれないという、適当人間には厳しい世界でした。
さくらサーバにはsnapupという移行ツール、スナップショットでのバックアップツールがあるのだが、当初それでチャレンジしたところ、うまくいきませんでした。
手動でwordpressデータをscpでまるコピしてphpmyadminでデータベースをリストアしようともしましたが、こちらもMySQLデータとの複数のファイルに旧サーバ固有の情報が記載されておりうまく動かず。テキストエディタでちみちみ新旧サーバの変更個所を修正することでおしいところまでいきましたが、結局失敗しました。
素人がMySQLを理解しないまま触るからうまくいかないんですよね、それはわかります・・。
最終的に採用したプラグインでやる方法は完璧でしたね。mySQLのデータやりとり・修正することなしに、記事・写真・テーマを1発で移行できるので、こんな楽なやり方はないなと思いました。
以上