昨日から今朝方まで、当ブログで使っているレンタルサーバの移転を行いました。今日はその辺のお話。
項目別に読む
レンタルサーバ移転の危機
それは去る一昨日のこと。何の気なしにポッと思いついて書いてみた記事が、あれよあれよとはてブ数を伸ばし夜にははてなのホットエントリーbotに引っかかるまでになった。
Evernoteを使ったレシート整理について見直す PictShareはやっぱり神アプリだった! | けんけん.com (55 users) bit.ly/xsOTXd
— はてなブックマーク::Hotentryさん (@hatebu) 3月 18, 2012
おそらくこれがきっかけだろう。一気に当ブログへのアクセスが集中して、初めてのサーバダウンを迎えてしまった。
@knk_n サーバ落ちてるぜっ\(^O^)/
— 立花 岳志さん (@ttachi) 3月 18, 2012
このありさまである。目の前が真っ白になるとはきっとこのことだろう。
人気ブロガー@ttachiさんは語る。
@knk_n 耐えるしかないね’`,、(‘∀`) ‘`,、 そしてアクセスが落ち着いたらサーバ移転だ!Wordpressあアクセス集中に弱いよねw
— 立花 岳志さん (@ttachi) 3月 18, 2012
「次にサーバダウンしたらサーバの移転も考えよう」などと軽く思っていたのだが、その夜はサーバが落ちたり、直ったりの繰り返し。
ちょうど次の日にアップ予定の記事を準備中だったので何もできなかった。
ここままではマズイ。
よし、サーバ移転しよう。もう少し後のことだと思っていたのだがなぁ。
サーバ移転開始
それから数時間後にはサーバ移転に乗り出していた。
サーバは迷ったけど、sixcoreのS1にした。今までさくらインターネットのスタンダードを使っていたので、超グレードアップだ。
尊敬する大物ブロガーが使ってるくらいなので、もうダウンさせる心配なんかしなくてもいい。
あれ、こんなにいらな(ry
サーバ移転には、参考になる記事がたくさんあったので、問題なかった。
CORESERVERからSIXCOREへWordPressを移転する方法 | ひとぅブログ |
WordPressを、Bluehostからsixcoreへ移行!その手順とつまづいたポイント | おまえは今までスキャンした本の冊数をおぼえているのか? |
参考: 私のような初心者におくる!!WordPressブログをsixcoreサーバーに移転した際の覚え書き!! | OZPAの表4
と、ふつうは思いますよね。そしてsixcore勢まわりに多すぎ…
妙に手こずったサーバ移転
参考にした記事と私が行った流れを総合するとサーバ移転の手順は、
- 新サーバの契約
- 新サーバに独自ドメインを追加
- 旧サーバのWordPressファイルをダウンロード
- 旧サーバのPhpMyAdminでデータベースをエクスポート
- 新サーバに2のデータをアップロード
- 新サーバのPhpMyAdminで4のデータベースをインポート
- 独自ドメインのネームサーバを新サーバのものに書き換える
のように、苦労なく終わるはずでした。(今なら言える)
しかし自身を初心者と言った@OZPAさん以上にサーバ移転について初心者だった私は、この通りやってもうまくできませんでした。
今なら「そんなことでつまずいていたなんてバカだなー’`,、(‘∀`) ‘`,、」と思ってしまいます。
0. 私の移行環境
- 移行前: さくらのレンタルサーバ スタンダード 月額500円(さくらインターネット)
- 移行後: sixcore レンタルサーバS1プラン 月額1,890円(sixcore)
サーバ代高いっ(><;)
1. 新サーバの契約
新サーバで契約をします。
sixcoreはまず会員登録が必要なのでまずは会員登録。
その後サーバの契約。私はsixcoreのS1プランで契約しました。
多くの方が書いておられますが、2週間の試用期間を受けるには支払い時に「クレジットカード支払い」を選んではダメです。私はペイジー支払いを選択。
48時間以内にサーバが利用可能になり、その旨のメールが来ます。私は12時間くらい待ったかな。
2. 新サーバにドメインを追加
サーバ利用可能メールにサーバー管理ツールのURLがあるのでアクセス。
サイドメニューのドメイン設定より、サーバで使うドメインを追加します。
私はメール認証でやりました。「admin@ドメイン」宛にメールが届くので、記載の認証IDを入力すると、追加完了です。
登録すると、ドメインについての情報が表示されるので、忘れずにメモしましょう。ここで私がEvernoteにクリップしたのは言うまでもありません。
3. 旧サーバのWordPressファイルをダウンロード
今までのサーバにあるWordPress関連のファイルを全てダウンロードします。
「wp-content」などのフォルダの階層以下のファイル全てをダウンロードします。
私はCyberduckというFTPクライアントを使ってデスクトップに作った「wp」フォルダにダウンロードしました。
430MBくらいあったかな。1~2時間くらい時間かかったかも。
4. 旧サーバのPhpMyAdminでデータベースをエクスポート
WordPressでできているブログサイトは、大きく分けて「PHPファイル(枠組み)」と「MySQLのデータ(中身)」でできています。
PHPファイルは、例えばテンプレート、プラグインといったWordpressの枠組みを形作っているものです。
MySQLとは、データベースの名前。このデータベースの中に、今まで更新したブログ記事の文章などが含まれています。
WordPressは、前者のPHPファイルでテンプレートやプラグインなどの外枠をつくり、その中に表示するコンテンツはMySQLのデータから取得して表示しています。
よって、移行の際にはこの枠を作っているPHPファイルと、中身を作っているMySQLのデータの両方を新しいサーバーに移動する必要があるのです。
私はずいぶんあとから理解することになるのですが、WordPress関連のデータは「枠組み」の役割だけで「中身」がありません。
だから、「中身」であるデータベースのデータを旧サーバからダウンロードする必要があります。
私はさくらのサーバだったので「データベースの設定」から「管理ツール」にログイン。データベースをエクスポートしてダウンロードしました。
エクスポートにはこの記事がとても参考になりました。
phpMyAdminを使って、MySQLのデータを エクスポート・インポートする | WordPressの基本操作と使い方|WordPressのツボ |
私も、@OZPAさん、@ushigyuさん同様、「information_schema」はエクスポートしなくてもうまくいきました。
5. 新サーバに2のデータをアップロード
3でダウンロードしたWordPressファイルを新サーバにアップロードします。私はここでとんでもない凡ミスを犯し数時間苦労することになりました。
FTPクライアントで独自ドメインでのログインをしてなかった
私はあろうことか、独自ドメインでのログインをせずにsixcoreの初期ドメインでFTPにログインしてデータをアップロードしていたのです。
当然何回確認したって独自ドメインのURLは空っぽです。
バカだなぁ。その頃の自分。
2の最後にメモしたものに独自ドメインでサーバにFTPログインするためのパスワード等が書かれているので、それを使ってログイン。
ここで6時間くらい悩みました。
wp-config.phpの書き換えも必要
データベース名などが多くの場合変わっているはずなので、wp-config.phpの中身を一部修正。
6. 新サーバのPhpMyAdminで4のデータベースをインポート
4でエクスポートした旧サーバのデータベースのデータを今度は新サーバにインポートします。
言語はエクスポート時と同じものを選択。
ディレクトリ構成を変える人は気をつけよう!! その1
お気づきの方がいるかどうかわからないのですが、いままでのサーバではWordPressのファイルを「wp」というフォルダに入れて一番おおもとに置いていました。
なので本当はURLが「https://knk-n.com/wp/」となるわけです。
しかし、私はWordPressの管理画面で
このように設定して強引にURLを「http://knk-n.com」にしていました。
しかし新サーバに移転するときに「wp」など使わずに全部おおもとに置こうと決意。
これが一番の問題を引き起こしました。
ディレクトリ構成を変える人は気をつけよう!! その2
当然今まで「wp」ありでやっていたので全てのファイルのパスを書き換えなきゃいけないわけです。このままインポートしてもうまくいかない。
意を決して、データベースのエクスポートファイルを開いてみることに。
@ushigyuさんが「データベースは中身」と言った意味が、すごくわかった。すべての記事の文章や画像などのファイルパスが全部載ってる!
ファイル内の一部分。
/home/◯◯/www/wp/wp-content/themes/knkn_theme2_3/style.css
これは昔使ったテーマのCSSファイルのファイルパスですが、「/wp/」と入っています。
そしてさくらでは「/home/◯◯/www」以下にファイルを置かなければいけなかったので、移転後にパスが異なって問題が起きるのは明らかでした。
そのため「/home/◯◯/www/wp/」や「/wp/」の部分を全て「/」で置換。
変更したデータベースファイルをインポート。
これで移転後のファイルパスの問題がおきなくなりました。
正直メンドクサイからおすすめはしない。
7. 独自ドメインのネームサーバを新サーバのものに書き換える
独自ドメインのネームサーバを新サーバのものに置き換えます。
「ns1.sixcore.ne.jp」、「ns2.sixcore.ne.jp」、「ns3.sixcore.ne.jp」に置き換えました。
ドメインによってはPHPのバージョン切り替えが必要
ドメインによってPHPのバージョン切り替えを求められることがあります。
私はページに「このPHPのバージョンでは…」といった表示がありました。
@ushigyuさんの記事を見ながらバージョン切り替え。ちゃんとページが表示されるようになりました。
ディレクトリ構成を変える人は気をつけよう!! その3
そして最後の試練。
「管理画面に入れない」というトラブル。
さっき紹介した「https://knk-n.com/wp/」を「http://knk-n.com」に置き換えていたことです。
管理画面側ではURLは相変わらず「https://knk-n.com/wp/」なので、ログインするならば「https://knk-n.com/wp/wp-login.php」とログインのPHPのファイルURLを要求します。
しかし「wp」フォルダはもう無いため、コレ以上進めない。
ディレクトリ構成を変える人は気をつけよう!! その4
とりあえず管理画面に入るために、ディレクトリ構成を戻してみました。
おおもとに「wp」フォルダを用意し、アップロードしたファイルをそのフォルダの下に移動させました。
ディレクトリ構成が前と同じなので、とりあえず「https://knk-n.com/wp/wp-login.php」でログインができます。
ログイン後、管理画面で
このように変更し、
さきほど移動させたファイルを元の場所に移動させます。
これでディレクトリ構成変更完了です。
このようにディレクトリ構成を変えようとすると、データベースのファイルをいじったりめんどうなことが多いので、気軽にやろうとしないほうがいいです。
おわりに
あとは2週間以内にサーバ代を振り込めば全て完了です。
いろいろトラブルも多かったですが、サーバ移転はわかってしまえばそれほど難しいものではないと思えるようになりました。
サポートへも相談したのですが、全部ひとりで解決できてしまいました。(ひどい客だよね)
というか、サポートの人はWordPressとかわからないので相談してもあんまり意味がなかった。
ちゃんと分かる人がそばにいたらもう少しスムーズに行えたかもしれないな。
訪問者の皆さまには長い時間ブログを止めてしまい、大変なご不便をおかけしました。
もうアクセスできるので、ぜひぜひ見に来てくださいね。
サーバ移転は大変だけど、勉強にはなるから挑戦してもいいかもね。
今回のサーバダウン&サーバ移転もろもろでお世話になった方(順不同・敬称略)
@ttachi、@ruxumu、@norirow、@yayoko314、@rakuishi07、@mucha_de、@ShigeSato、@oOsp00nOo、@ushigyu、@OZPA、@hitoxu
みなさま、ありがとうヽ(´▽`)/
せっかく良いサーバに替えたんだからアクセスも少しは頑張りたいね。
おわり