Drupalで作ったフリー写真素材サイトを、別のサーバーに移転しました。
モジュールを使う事で思ったより簡単にスムーズな引越しが完了したので備忘録です。
要件(やりたい事)
独自ドメインのサーバーで、ドメインはそのまま変更せずにサーバーを移転します。
もちろん、これまでに投稿したコンテンツやカスタマイズした内容も丸ごと移す必要があります。
サイトでDrupal7を使用している場合の手順です。
事前に必要な物
サーバーを移転する時には、事前に以下を準備しておきましょう。
・移転先となる新しいサーバー
・移転元サーバーにインストール済みのモジュールとテーマのバックアップ
・移転元と同じバージョンのDrupalインストールファイル一式
・画像など、サイトにアップロードしたファイル
(パブリックファイルやプライベートファイル)
・(あれば)その他、デフォルトから変更しているファイル
・「Backup and Migrate」モジュール
(オフィシャルサイトからダウンロードしておきます)
事前準備が済んだら、新しいサーバーで以下の手順を行います。
手順1:元サーバーへの「Backup and Migrate」モジュールのインストール
今回の移転のキモになるのは「Backup and Migrate」モジュールです。
データベース等といったコンテンツの中身の移転に使用するので、まず既存サーバーに「Backup and Migrate」モジュールをインストールします。
手順2:新サーバーへのDrupalのインストール
FTP等の手段で、移転先となる新しいサーバーに現在と同じバージョンのDrupalをインストールします。
念のため、マイナーバージョンも現在と揃えておいた方がいいでしょう。
この段階ではモジュール等のインストールや設定の変更は必要ありません。
Drupalだけをクリーンインストールしておく形になります。
手順3:新サーバーへの「Backup and Migrate」モジュールのインストール
移転先の新サーバーのDrupalに「Backup and Migrate」モジュールをインストールします。
管理画面から、モジュールを有効化しておきましょう。
元サーバーでこのモジュールを使って取得したバックアップを、新サーバーで同じくこのモジュールを使って読み込む形になります。
手順4:元サイトで使用中のモジュールとテーマをアップロード
事前準備で用意しておいた、元サーバーでインストール済みのモジュールファイル一式を「sites」>「all」>「modules」にアップロードします。
後の手順で自動的に元サイトと同じモジュールが有効化されるので、アップロードするだけで問題ありません。
デフォルト以外のテーマを使っている場合には同様に、「sites」>「all」>「themes」にアップロードしておきます。
手順5:その他変更したファイルのアップロード
元サイトにパブリックファイルやプライベートファイルがある場合、新サーバーにも同様にアップロードしておきます。
もしコアファイル等をカスタマイズしている場合には、同様に新サーバーに該当ファイルを上書きします。
手順6:元サーバーからのデータベースバックアップの取得
移転元サーバーの管理画面にログインして、「環境設定」メニューの「システム」セクションにある「バックアップと移動」のリンクを開きます。
(管理画面を日本語で使用している場合の文言になります)
「バックアップと移動」画面の「クイックパックアップ」以下を下記の通り設定し、「今すぐバックアップ」を押下します。
・Backup my 「Entire Site(code, files & DB)」 to 「Download」 using「デフォルト設定」にプルダウンを設定
・2つのチェックボックスはチェックを外した状態(デフォルト)
tar.gzファイルのバックアップダイアログが表示されるので、任意の場所に保存します。
手順7:移転先サーバーへのデータベースバックアップのアップロード
移転先となる新サーバーで同様に「バックアップと移動」のリンクを開きます。
上部のタブより「復元」を選び以下の通り設定します。
・ラジオボタンで「Restore from an uploaded file」を選択
・「バックアップファイルのアップロード」に手順6で取得したtar.gzファイルを選択
・「以下に復元」のプルダウンメニューで「Entire Site(code, files & DB)」を選択
・「詳細オプション」は変更しない
全ての設定が完了したら「今すぐ復元」を押下します。
これでサイトの移行は完了です。
サイトの見た目が崩れている場合には、一旦テンプレートをデフォルトの物に戻した後、再度設定するようにしましょう。
手順8:ファイルシステムパスの変更
ファイルシステムを使って外部ファイルを保存している場合、新しいサーバーの設定に合わせて「パブリックファイルシステムパス」と「プライベートファイルシステムパス」を変更します。
(管理画面の「環境設定」>「ファイルシステム」)
レンタルサーバーの仕様によってはpublic_html等のフルパスが異なる場合があるので、以前のサーバーと同じ設定ではファイルを読み込めない場合があるため注意が必要です。
アップロードしたファイルを読みだせない場合には、この部分を確認するようにしましょう。
最後に
上記手順で、問題なくスムーズにサーバーの移転が完了しました。
基本的には「Backup and Migrate」モジュールで完結する手順です。
使用可能なサーバーであればphpMyAdminでデータベースを移す方法もあるかと思いますが、今回の手順の方がモジュールベースで行えるため、考えなければならない事は少なく簡単で安全なように感じます。
今回のように、目的に応じた色々なモジュールがある事もまたDrupalの大きなメリットであると思います。