TOP → 当サイトからのお知らせ一覧 → サーバ引っ越し
記事公開日:2016年1月19日
ロリポップからエックスサーバーに引っ越しがひと段落しました。
そこで先日行ったロリポップサーバーからエックスサーバーへの引っ越し手順を書いておきます。
はまったところもありますので、これから同じことを行う方へ解決が早くなる参考になると幸いです。
作業の大まかな流れ
- 準備
- ロリポップ側のバックアップする
- エックスサーバーの「初期ドメイン」にデータをセットする
- エックスサーバーの「初期ドメイン」で表示できるのを確認
- 「初期ドメイン」で設定したものを「独自ドメイン」へ移行
☆ ネームサーバーの切り替えは時間がかかることを想定し、まずは「初期ドメイン」で表示確認を行い、大丈夫そうならネームサーバー切り替えという流れにしました。
準備
私は定番の FFFTP と TERATERM を使っています。どちらもフリーソフトです。
エックスサーバーの申し込みをする。申し込みしたあと10日間無料で試せます。
ロリポップ側のバックアップする
- SSHを立ち上げロリポップ側にログインし引っ越しするデータ(位置はwordpress以下)をtar.gzで固める。
固めるコマンドは下の tarコマンドで行いました。
tar cvfz wordpress.tar.gz wordpress
wordpressと一緒のディレクトリにあるindex.php も拾っておく。
FTPソフトでwordpress.tar.gzとindex.phpをローカル環境に保存。
- phpmyadminでロリポップ側のデータベースをエクスポートしローカル環境に保存。
エックスサーバーの「初期ドメイン」にデータをセットする
- 引っ越しするドメイン名をエックスサーバーのサーバーバネルの「ドメインの追加設定」で追加。
- エックスサーバー側にデータベースを作成、ユーザーの追加
- エックスサーバー側にphpmyadminでインポート
サーバーバネルの「phpmyadmin」を立ち上げ、ロリポップ側のデータベースをインポートする
- エックスサーバー側にロリポップからのデータをアップロードする
FTPソフトでwordpress.tar.gzとindex.phpをエックスサーバー側の’初期ドメイン/public_html/’にアップロード
- エックスサーバー側でアップロードしたものを展開
エックスサーバーのサーバーバネルの「SSH設定」をONにし、「公開確認用鍵ペアの生成」を行う。
この時に適当なパスフレーズを入れてkeyを生成する。TERATERMを立ち上げログインを行う。
ここでハマったのがパスフレーズをサーバーアカウントのパスワードと勘違いしてしばらくログインできず、悩みました。入力するパスフレーズは「公開確認用鍵ペアの生成」を行ったときに打ち込んだ文字でした。SSH でログインし’初期ドメイン/public_html/’に移動し wordpress.tar.gz を展開。展開するコマンドは下の tarコマンドで行いました。
tar xvfz wordpress.tar.gzついでに、もともとある index.html は不要ですので、 index.html.org に名前変更。
wordpress.tar.gz は展開したあと不要ですので削除しておきます。展開後は’初期ドメイン/public_html/’以下は下のようになっています。
wordpress …… アップし展開したもの。フォルダ。
.htaccess …… 最初から存在
default_page.png …… 最初から存在
index.html.org …… 最初から存在。名前変更。
index.php …… アップしたもの
エックスサーバーの「初期ドメイン」で表示できるのを確認
- wordpress/wp-config.php の中を編集
- phpmyadminで今までの独自ドメインしていたurlをエックスサーバーの「初期ドメイン」のurlに修正し保存。
- ついに、ブラウザで「独自ドメイン」を入力し表示できるかを確認。
無事にホームページが表示出来たら成功です!。
ここで、はまったのが、トップページは表示できるがそれ以外に遷移すると404エラーが出てしまいました。
原因はワードプレスのパーマリンク設定をデフォルト以外にしているためでした。解決方法はパーマリンク設定を一度デフォルトに戻し保存、トップページからの遷移で404エラーが出ないの確認し、
その後パーマリンク設定をもとに戻すと404エラーがでなくなりました。
define(‘DB_NAME’, ‘MySQLデータベース名‘);
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘MySQLユーザ名‘);
/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘MySQLユーザー追加した時に自分で決めたパスワード‘);
/** MySQL のホスト名 */
define(‘DB_HOST’, ‘サーバーパネルのMySQLホスト名‘);
☆データベース関係のところを修正しています。ほとんどが自分で決めたものです。
wp_options.siteurl
wp_options.home
☆初期ドメインにしています。これは動作確認のため。私の場合
wp_options.siteurl は ‘独自ドメイン/wordpress’から’初期ドメイン/wordpress’に変更
wp_options.homel は ‘独自ドメイン’から’初期ドメイン’に変更
「初期ドメイン」で設定したものを「独自ドメイン」へ移行
初期ドメインで表示できるが確認できたら独自ドメインに移行します。
- SSHでログインし
‘初期ドメイン/public_html’以下すべてを’独自ドメイン/public_html’以下にコピー - phpmyadminで先ほど修正した「初期ドメイン」を「独自ドメイン」へ戻し保存。
- エックスサーバーの無料期間ではメールアカウントの作成ができません。
メールでの問い合わせもありますので使えないのは困ります。本登録しメールアカウントの作成をしました。結局無料期間は1日なかったですね。
- 独自ドメインのネームサーバーをエックスサーバーに変更する。
変更後に私の環境で動作確認できるまでには丸1日ほどかかりました。
エックスサーバー側のメールアカウントを見ると変更直後にメールが入っていましたので動作しているのはわかったのですが、実際環境が変わるまではひやひやものでした。
wp_options.siteurl
wp_options.home
wp_options.siteurl は ‘初期ドメイン/wordpress’から’独自ドメイン/wordpress’に戻す
wp_options.homel は ‘初期ドメイン’から’独自ドメイン’に戻す
あとは待つだけです。お疲れさまでした。
サーバーの移行が固まったあと前のサーバーと新しいサーバーのデータベースの差分をマージできれば完璧かな。
ロリポップから引っ越し作業は作業としてはサクサクいけばすぐおりますが、ハマった場合に時間と精神的なダメージを大きく失いますので、先人たちが書き残したものが大きな助けとなりました。
これから作業を行う方の手助けとなれば幸いです。