業務でサーバー移管をする事になりまして、サーバー移管のやり方はもちろん、移管後にエラーで焦ったので、皆様のお役にたてると嬉しいです(*´∀`*)
環境
移管元
- ドメイン:ムームードメイン
- サーバー:XSERVER
- PHP:(見るのを忘れました)
- MySQL:5.0
移管先
- ドメイン:XSERVER
- サーバー:XSERVER
- PHP:5.3.13
- MySQL:5.5
移管するもの
- HTMLの静的なウェブサイト
- ECCUBE2
手順
STEP1 準備
・移管するもののバージョンを確認 今回はECCUBE2がバージョン等確認すべき事項でしたので、ECCUBE2のPHP、MySQL使用可能バージョンを調べました。一応対応はしているとのことでしたが、後にエラーになりました。。(;”∀”)一応エラーについてもどんな解決法があるのか簡単に解決できそうなものか、確認しておいた方が良いです。 ・移管に時間がかかるので一週間ほど余裕をもって行う
STEP2 移管元(XSERVER)でドメイン移管申請
下記手順で移管申請をする 移管するドメインによっては移管が不可能になる場合があるので、該当しないか公式サイトにて確認 参考 エックスドメインxserver ・会員の方はログインして、メニューの【契約関連/サービスお申込み】に進む。非会員の方は上記参考サイトにてドメインの入力に進む。 ・移管(指定事業者の変更) ・移管したいドメインの入力 ・認証コードを入れてお支払いを済ませる 認証コードはドメイン取得先(ムームードメイン)で確認できます
STEP3 ドメイン取得先(ムームードメイン)移管承認
XSERVERからドメインの移管申請が完了したらムームードメインより下記のようなメールが来ますので承認をする
STEP4 バックアップ作成
下記バックアップを作成
- DB(XSERVERからPhpMyAdminでエクスポート)
- ファイル(WinSCP(Windowsのファイル転送ツール)とSSH)
- DB(XSERVERからPhpMyAdminでエクスポート)
- ファイル(WinSCP(Windowsのファイル転送ツール)とSSH)
WinSCPでファイルをローカルに転送させるとものすごく時間がかかるのと、途中でファイルが切れたりするという現象をたまに聞くので、SSHで該当ファイルを圧縮アーカイブさせ、WinSCPでローカルに転送させる。 XSERVERのサーバーパネルに行き、参考サイトの通りにSSH設定、秘密鍵を取得し、WindowsではTeraTermでSSH接続をする。XSERVERの下記公式サイトにとても詳しく書いてあるのでその通りに行う
参考 SSH設定XSERVER・SSH接続し、下記コマンドをたたき、圧縮アーカイブする *パーミッションを保持するにはオプション p を付ける
tar cvzfp xxxxx.tar.gz ディレクトリ名
ls で圧縮アーカイブができたのを確認したらWinSCPでローカルに転送させる。
・念の為解凍して中身を確認
STEP5 移管先(XSERVER)に移管
- 移管元ドメイン削除
- 移管先ドメイン追加
- 移管先MySQL設定
- (webメール)
- データを移す
・移管元のXSERVERのドメイン設定より該当のドメインを削除する
・移管先のXSERVERにてドメイン設定
SSLはチェックを入れて、アクセラレータは後程エラーになったのでチェックを付けないほうが良いかも?
・MySQL設定
【データベース/MySQL設定/MySQL追加】でDBを作成し、【データベース/MySQL設定/MySQLユーザー追加】でユーザーを追加
【データベース/MySQL設定/MySQL一覧】のアクセス権未所有ユーザで先ほど追加したユーザーを選択し追加し、そのユーザーがアクセス権所有ユーザに移動したことを確認
【データベース/PhpMyAdmin】からバックアップでエクスポートした内容を移管先のDBにインポートする(ログインは先ほど作成したユーザー名とパスワードを入れる)
インポートからファイルを選択し、DBに投入
・webメールを使用している場合
早めに復旧した方が良いのでメールを先に移動させ、使用できることを確認します
解凍した中のmailディレクトリをローカルのバックアップからサーバーに移動させ、【メール/メールアカウント】からパスワードなどを設定する
・データを移す
データを移すのはパーミッションなどでエラーが出るので、圧縮アーカイブされたものをそのまま移動する
移動したものをSSHで接続し、解凍する
tar -zxvf xxxx.tar.gz
以上で完了です(´▽`*)