2014年5月2日

Joomla!サイトの引越し(移転)手順

Joomla!サイトを別のサーバに移転する場合のデータベースのエクスポート設定と移転先サーバのパーミッション設定、インポート、各種設定についてまとめます。

1. ファイルのFTP転送

移転元サーバの全ファイルを移転先サーバにFTPで転送します。通常はいったんFTPソフトでローカルのPCにダウンロードしてから、移転先サーバにアップロードします。お使いのサーバにサーバ間コピー機能があれば、その機能を使うとローカルPCを経由せずに転送することができます。

例)Coreserverのサーバ間転送

  1. 管理画面から「サーバー間コピー
  2. 転送元のFTPユーザー名を入力
  3. 転送元のFTPパスワードを入力
  4. 転送元のFTPサーバー名を入力
  5. 転送元のディレクトリを入力
  6. 転送先のディレクトリを入力
  7. 選択
  8. 変更」して設定を確認(設定に誤りがあると既存のサイトを壊しかねないので厳重にご確認を)
  9. 実行

2. 移転先のデータベースの作成・設定

移転先サーバでデータベースを作成します。テキストエンコーディングはUNICODEに。

FTPソフトで移転先サーバの「Joomla!サイトのディレクトリ」にアクセスして、configuration.phpを開き、データベースに関する4項目を編集、保存します。
  1. var $host = ' 移転先のデータベースのホスト '
  2. var $user = ' 移転先のデータベースのユーザー名 '
  3. var $db = ' 移転先のデータベース名 '
  4. var $password = ' 移転先のデータベースのパスワード '
【注意】データベースの設定を怠ると、移転先サイトも移転元のデータベースに接続します。

3. データベースの転送

移転元サーバのphpMyAdminからデータベースにアクセスします。
  1. データベースを選択
  2. エクスポート
  3. エクスポートするテーブルが全選択されていることを確認
  4. SQLが選択されていることを確認
  5. DROP TABLE / DROP VIEWを追加」、「IF NOT EXISTSを追加」にチェック
  6. ファイルを保存する」にチェック
  7. 実行する
ここまでが移転元の設定です。次に、Joomla!サイトを別のサーバに引っ越す(移転)する場合の移転先サーバの設定をまとめます。

4. データベースのインポート

移転先サーバのphpMyAdminからデータベースにアクセスし、インポート先のデータベースを選択。
インポート」タブを開きます。「インポート」画面で「アップロードファイル」に前述の操作で書き出したSQLファイルを指定し、デフォルトの設定のまま「実行」。

5. 移転先サーバでのJoomla!サイトと管理画面へのアクセス

移転先サーバのURLでアクセスします。このとき、間違えて移転元のURLでログインしがちですが、移転先サーバのURLをきちんと確認してアクセスしましょう。
移転先サーバのURL http:// [レンタルサーバから割り当てられたドメイン名] / [ディレクトリ名]
エラーが出たら、configuration.phpの設定を見直しましょう。それなりに表示されている場合は、そのURLの末尾に /administrator を追加して管理画面にアクセスしましょう。

管理画面で設定を確認しながら、「ディレクトリのパーミッション設定」と「グローバル設定」を変更しましょう。

6. パーミッション設定

Joomla!サイトを別のサーバに引っ越すときに問題になるのが、フォルダやファイルのパーミッションの再設定です。再設定が必要になる理由は、パーミッションが引越し先のサーバのデフォルトになるためです。

Joomlaは豊富なエクステンション(機能拡張)が魅力のCMSです。エクステンションの中には、作業領域のパーミッション設定を伴うものがあります。その設定を一元的に管理しておけば引っ越しの時は楽ですが、(私も含めて)多くのJoomla!サイトのオーナーは引っ越しなど想定しません。そのため、パーミッション設定の必要なエクステンション探しは不可避です。

ここからは、パーミッション再設定と、その必要な箇所の探し方をまとめます。
サイト全体 管理画面の「ヘルプ」→「システム情報」→「ディレクトリ・パーミッション」
テンプレート 管理画面の「テンプレート」から、お使いのテンプレートを開いて、パーミッションに関する注意書きがあれば、それに従って設定しましょう。
コンポーネント 画像や動画を自動生成するコンポーネントやサイトのデータをバックアップするコンポーネント(例:AkeebaBackup)では作業領域のパーミッション設定を伴うことがあります。そのようなコンポーネントをお使いでしたら、管理画面の「コンポーネント」から、お使いのコンポーネントを開いて、パーミッションに関する注意書きがあれば、それに従って設定しましょう。
モジュール 画像や動画を自動生成するモジュール(例:JSN Image Show)では作業用のディレクトリのパーミッション設定を伴うことがあります。そのようなモジュールをお使いでしたら、管理画面の「モジュール管理」から、お使いのモジュールを開いて、パーミッションに関する注意書きがあれば、それに従って設定しましょう。

7. 基本設定

管理画面にアクセスし、「基本設定」→「サーバ」→「サーバ設定」のうち、「Tempフォルダーパス」「FTPホスト」「FTPユーザ名」「FTPパスワード」「FTPルート」を引越し(移転)先サーバの設定に変更して保存
移転先サーバのURLでJoomla!サイトの動作を確認しましょう。移転元のURLを移転先に割り当てる場合は、最後にドメイン管理サイトの管理画面でDNSレコード設定を書き換える必要があります。

8. 動作確認とDNSレコード設定の切り替え

移転先サーバのURLでJoomla!サイトの動作を確認しましょう。移転元のURLを移転先に割り当てる場合は、ドメイン管理会社の管理画面にアクセスして、DNSレコード設定を書き換えます。

移転先サーバをメールサーバとしても利用している場合は、予め移転先サーバのメール関連の設定も済ませておく必要があります。DNSレコードを書き換える前にメールサーバが設定できていないと、DNS切り替え後にメールの送受信ができなくなります

DNSレコードは設定してもすぐには反映されません。ドメイン管理会社やドメインの種類にもよりますが、だいたい3~12時間程度かかります。商用サイトの場合は、DNSレコードを深夜に設定し、翌朝に反映されるよう狙います。(下図は、Value-domainの例)

0 件のコメント:

コメントを投稿