さくらインターネットのプラン変更+独自ドメインによるサーバ移転
さくらインターネットのプラン変更+独自ドメインによるサーバ移転方法を紹介します。
実際に移転したときの旧プランは「マネージドサーバ」、新プランは「ビジネスプロ」プランですが、どのプランでも手順はほぼ同じだと思います。
利用しているブログツールがMovable Typeなので、手順の一部はMovable Typeのものですが、さくらインターネットでのプラン変更によるサーバ移転の情報が少ないようなので、特に独自ドメインの変更方法(1項)は他のブログツールを利用している方も参考になるかもしれません。
1.ドメインの変更
手順的には最後の方ですが、プラン変更によるドメインの移転方法を先に紹介しておきます。
旧サーバ側のコントロールパネルから移転したいドメインの「削除」をクリック。
「送信」をクリック。
これで削除されました。
このあとすぐに新サーバ側のコントロールパネルでドメインを追加しても、下記のようなエラーになります。
10分ほど待てば新サーバ側にドメインを設定できます。
なお、旧サーバ側のドメイン設定を削除してから新サーバのDNSが浸透するまではしばらく次のようなページが表示されます。
サポートページには「ドメインの情報がインターネット上に浸透するまで、数時間~2日程かかります」とありましたが、今回は1時間程度で新サーバにアクセスされました。
とはいえ、新サーバにいつアクセスできるようになるのか分からないので、ドメイン移転の作業は結構不安でした。セキュリティ上の観点から、複数のサーバに同一のドメインを設定できない仕様らしいのですが、プラン変更するケースは少なくないと思われるので、この点について、もし可能であればもう少し改善してもらえるとありがたいです。
以降の手順は実際に移転したときの備忘録です。Movable Typeがベースなので興味がある方はご覧ください。
2.DBデータ
MTのバックアップと復元を使いたかったのですが、復元時にCGIが停止してしまう事象を回避できなかったため、今回はphpMyAdminでSQLデータをエクスポートし、新サーバ側のMySQLにインポートする方法で移転しました。
エクスポートしたSQLデータは200MBほどあり、phpMyAdminのインポートサイズ制限にひっかかってしまうという問題に遭遇したのですが、これについて別エントリーで対処方法を紹介したいと思います。
3.静的ファイルの移転
新サーバ側で再構築すると、ページの内容に変更がないのにタイムスタンプが変わってしまうため、すべてのページをtarコマンドでアーカイブして移転しました。
まず旧サーバにTeraTermを使ってでSSHでログインし、以下のコマンドを実施。
tar -cvzf xxx.tar.gz xxx(xxxはディレクトリ)
これでxxxディレクトリをアーカイブした「xxx.tar.gz」というファイルがtarコマンドを実行したディレクトリに生成されるので、FFFTPでローカルPCにダウンロードし、新サーバにアップロード(FFFTPを2つあげておけば直接コピーすることもできます)。
アップロード後、新サーバにTeraTermを使ってでSSHでログインし、以下のコマンドを実施
tar -xvzf xxx.tar.gz
これでアーカイブが展開され、xxxディレクトリとxxxディレクトリ配下のファイルがすべて復元されます。
ひとつのアーカイブが数百MBになりましたが、さくらインターネットでのFTPによるダウンロード・アップロードは問題なく行えました。
CORESERVER(CORE-C)でもアップロードを試してみましたが、時間帯によっては失敗するようで、日中はNGで真夜中はOKでした。
4.mt-config.cgiの作成と編集
SQLデータをインポートするので、MTのインストール作業を行う必要はないのですが、今回はインストール実施直前までの手順(DBの設定とメールの設定)を行い、新サーバ用のmt-config.cgiを作りました。
旧サーバからmt-config.cgiをコピーして修正するという手もありますが、インストールウィザードで作り、そこに修正を加える方が確実かと思います。
その後、mt-config.cgiをローカルPCにダウンロードして、旧サーバで個別に設定していた環境変数を追加します。
私の場合、インストールディレクトリのpluginsディレクトリと別にプラグインディレクトリを作成しているので、mt-config.cgiにPluginPathを追加しました。
5.プラグインファイルの移転
以下のデータを移転します。
- plugins配下のプラグインファイル
- mt-static/plugins配下のプラグイン用資材
- PluginPathで設定しているディレクトリ配下のプラグインファイル
6.サイトパス・ブログパスの変更
SQLファイルをインポートしたので、旧サーバの情報のままになっている以下の情報を修正します。
- ウェブサイトの設定画面で「ウェブサイトパス」を変更
- ブログの設定画面で「ブログパス」を変更
7.テンプレートの修正
RecommendedEntryプラグインを使っており、テンプレートにサーバのパスを記述している部分があるため、ブログ記事テンプレートの以下の部分のパスを修正(プレビュー時にエラーになったことで発覚しました)。
<mt:UseRecommendedEntry template="recommended" datapath="/home/xxxxx/www/xxxx/recommended" />
8.cronの設定
旧サーバのcronの設定を、新サーバのcronにそのままコピー&ペーストします。
この後、1項に示すドメインの移転を行いました。
9.PHPの設定変更
旧サーバではPHPをモジュール版で動作させていたので、新サーバでもモジュール版で動作するように設定しました。モジュールモードはビジネスプロ以上のプランでしか提供されていませんのであしからず。
この手順はもっと前の方がいいでしょう。理由は、モジュール版のPHPファイルのパーミッションは664等になっており、先にこの設定を行っておかないとPHPファイルにアクセスがエラー(Internal Server Error)になってしまうためです。
実際、Internal Server Errorになったことで新サーバにDNSが浸透したことが分かりました。
10.mt-config.cgiの修正
独自ドメインで新サーバにアクセスできるようになったら、mt-config.cgiのCGIPathとStaticWebPathを独自ドメインでアクセス可能な内容に修正します。
修正前
CGIPath /xxxxx/cgi-bin/xxxxx/
StaticWebPath /xxxxx/cgi-bin/xxxxx/mt-static/
修正後
CGIPath /cgi-bin/xxxxx/
StaticWebPath /cgi-bin/xxxxx/mt-static/
11.パフォーマンスログのパス修正
システム管理画面の「設定」→「全般」で「パフォーマンスログを有効にする」をチェックしている場合は、「ログパス」が旧サーバのパスになっているので修正します。
ということで、2012年3月31日未明にサーバ移転完了しました。午前3時~午後4時頃まで約1時間アクセスできない状態が続き、ご迷惑をおかけ致しました。
2012.04.07
11項を追加しました。
- さくらインターネットのメーリングリストで警告が表示される・届かない場合の対処
- さくらインターネットのサーバで無料SSLを設定する方法
- ロリポップにムームードメインで取得した独自ドメインを設定する方法
- SSHが使えないレンタルサーバにLinuxコマンドを入力する方法
- さくらインターネット+FFFTPでファイル転送に失敗する場合の対処
- さくらインターネットでディレクトリ一覧を非表示にする方法
- VALUE-DOMAINのドメインをさくらインターネットに移管する方法
- さくらインターネットのレンタルサーバ仮登録時のアクセス数制限について
- さくらのマネージドサーバ Core 2 Duo ブロガーレビュー
- ロリポップにcron機能追加
- XREA に Movable Type をインストールする(自動広告挿入対処まとめ)