「Moodleの移行」の版間の差分

提供:MoodleDocs
移動先:案内検索
(ページ Moodle移行Moodleの移行 へ移動)
(整形)
 
1行目: 1行目:
あなたのMoodleサイトを別のサーバに移動する必要が生じる場合もあることでしょう。例えば、共有ホスティングから専用サーバに移行する場合等です - これは、Moodleサイトの移行 (migration) として知られています。よくやってしまう間違いで、気を付ける必要があるのは、あなたのMoodleの設定ファイル「config.php」詳細を忘れずに変更することです。
あなたの Moodle サイトを別のサーバに移動する必要が生じる場合もあることでしょう。例えば、共有ホスティングから専用サーバに移行する場合等です - これは、Moodle サイトの移行 (migration) として知られています。よくやってしまう間違いで、気を付ける必要があるのは、あなたの Moodle の設定ファイル「config.php」詳細を忘れずに変更することです。


==完全なMoodleサイトを移行する - 方法1==
==完全な Moodle サイトを移行する - 方法1==


ここでは、サイト全体を1台のサーバから別のサーバに移行することも含みます。あなたが新しいサーバに対して、新しいドメイン/IPアドレスを変更する場合、以下のステップを実行してください:
ここでは、サイト全体を1台のサーバから別のサーバに移行することも含みます。あなたが新しいサーバに対して、新しいドメイン/IPアドレスを変更する場合、以下のステップを実行してください:
* '''メンテナンスモード''' - Moodleデータベースにデータが新たに追加されることを防ぐため、あなたの現在のMoodleサイトをメンテナンスモードに変更してください。移行中は、メンテナンスモードに影響を受けない管理者をログインさせないでください。
* '''メンテナンスモード''' - Moodle データベースにデータが新たに追加されることを防ぐため、あなたの現在の Moodle サイトをメンテナンスモードに変更してください。移行中は、メンテナンスモードに影響を受けない管理者をログインさせないでください。
* '''あなたのMoodleデータベースをバックアップする''' - MySQLダンプの説明を含む、[[Moodleのアップグレード]]ページのインストラクションに従ってください。
* '''あなたの Moodle データベースをバックアップする''' - MySQL ダンプの説明を含む、[[Moodleのアップグレード]]ページのインストラクションに従ってください。
* '''Moodleソフトウェアをコピーする''' - Moodleコード自体を新しいサーバにコピーしてください - 可能でしたら、コードを最新のものにアップグレードしてください。
* '''Moodle ソフトウェアをコピーする''' - Moodle コード自体を新しいサーバにコピーしてください - 可能でしたら、コードを最新のものにアップグレードしてください。
* '''<code>$CFG->wwwroot</code>を変更する''' - あなたの (可能であれば新しい) Moodleディレクトリ内で、「config.php」ファイルの<code>$CFG->wwwroot</code>変数を新しいサーバに合わせて変更してください。
* '''<code>$CFG->wwwroot</code> を変更する''' - あなたの (可能であれば新しい) Moodle ディレクトリ内で、「config.php」ファイルの <code>$CFG->wwwroot</code> 変数を新しいサーバに合わせて変更してください。
* '''データディレクトリ (moodledata) のコンテンツをコピーする''' - あなたのデータディレクトリのコンテンツ (<code>$CFG->dataroot</code>の設定値を確認してください) を新しいサーバにコピーしてください。新しいデータディレクトリにおいてもファイルのパーミッションが同じになっているか確認してください。また、あなたが新しいサーバでデータディレクトリの場所を変更した場合、<code>$CFG->dataroot</code>の設定値を変更してください。
* '''データディレクトリ (moodledata) のコンテンツをコピーする''' - あなたのデータディレクトリのコンテンツ (<code>$CFG->dataroot</code> の設定値を確認してください) を新しいサーバにコピーしてください。新しいデータディレクトリにおいてもファイルのパーミッションが同じになっているか確認してください。また、あなたが新しいサーバでデータディレクトリの場所を変更した場合、<code>$CFG->dataroot</code> の設定値を変更してください。
* '''あなたのMoodle URIを変更する''' - あなたが新しいURIを使用する場合、Moodleデータベースを新しいURI用に変更する必要があります。この作業は、写真、ファイルへのリンク等、古い<code>$CFG->wwwroot</code>の設定値を参照する絶対リンクとして保存されたデータを変更するため必要です。Moodleサーバに関するMySQLバックアップダンプをそのまま読み込む場合、絶対参照リンクが壊れてしまいます。新しいURIに変更するには、2つの方法があります:
* '''あなたの Moodle URI を変更する''' - あなたが新しい URI を使用する場合、Moodle データベースを新しい URI 用に変更する必要があります。この作業は、写真、ファイルへのリンク等、古い <code>$CFG->wwwroot</code> の設定値を参照する絶対リンクとして保存されたデータを変更するため必要です。Moodle サーバに関する MySQL バックアップダンプをそのまま読み込む場合、絶対参照リンクが壊れてしまいます。新しい URI に変更するには、2つの方法があります:
:(a) 最初の方法では、Moodleデータベースをバックアップする直前、あなたのサイトが稼動している場合、Moodleスクリプト「replace.php」を使用して、Moodle URIを変更します。あなたのブラウザに次のURIを入力してください: <nowiki>http://yourserver.com/admin/replace.php</nowiki>
:(a) 最初の方法では、Moodle データベースをバックアップする直前、あなたのサイトが稼動している場合、Moodle スクリプト「replace.php」を使用して、Moodle URI を変更します。あなたのブラウザに次の URI を入力してください: <nowiki>http://yourserver.com/admin/replace.php</nowiki>


:あなたの古いサーバのURI (<nowiki>http://oldserver.com/</nowiki>) および新しいサーバのURI (<nowiki>http://newserver.com/</nowiki>) を入力した後、「Yes, do it now」ボタンをクリックしてください。MySQLテーブルが修正されます。また、ウェブサーバを再起動することで、キャッシュされているリンクをクリアしてください。次に、もう一度Moodleデータベースをバックアップします - このバックアップには、正しいURIが含まれています。
:あなたの古いサーバの URI (<nowiki>http://oldserver.com/</nowiki>) および新しいサーバの URI (<nowiki>http://newserver.com/</nowiki>) を入力した後、「Yes, do it now」ボタンをクリックしてください。MySQL テーブルが修正されます。また、ウェブサーバを再起動することで、キャッシュされているリンクをクリアしてください。次に、もう一度 Moodle データベースをバックアップします - このバックアップには、正しい URI が含まれています。


:(b) 2番目の方法では、最初のMoodleデータベースをバックアップします。次に、あなたのテキストエディタの検索および置換機能 (または、sedのようなUnixnツール) を使用して、MySQLバックアップファイル内の古いURIを新しいURIに入れ替えます。以下、sedコマンドの例です:
:(b) 2番目の方法では、最初の Moodle データベースをバックアップします。次に、あなたのテキストエディタの検索および置換機能 (または、sed のような Unix ツール) を使用して、MySQL バックアップファイル内の古い URI を新しい URI に入れ替えます。以下、sed コマンドの例です:


: <code>#sed -e 's/oldserver.com/newserver.com/g' oldmysqldump.sql > newmysqldump.sql</code>
: <code>#sed -e 's/oldserver.com/newserver.com/g' oldmysqldump.sql > newmysqldump.sql</code>


:'''ヒント''': mysqldumpファイルで古いサーバがどのように参照されているのか確認しても良いでしょう。:URIの変更後、MySQLデータベースをリストアしてください。
:'''ヒント''': mysqldumpファイルで古いサーバがどのように参照されているのか確認しても良いでしょう。:URI の変更後、MySQLデータベースをリストアしてください。
* '''移行をテストする''' - 新しいインストールをテストするには、ブラウザを使用して、新しいサーバのMoodleのURIにアクセスしてください。あなたが多数のコースワーク内のリンクを確認できた場合、新しいMoodleサイトのメンテナンスモードを解除してください。
* '''移行をテストする''' - 新しいインストールをテストするには、ブラウザを使用して、新しいサーバの Moodle のURIにアクセスしてください。あなたが多数のコースワーク内のリンクを確認できた場合、新しい Moodle サイトのメンテナンスモードを解除してください。
'''関連情報''': [http://moodle.org/mod/forum/discuss.php?d=85812 フォーラムディスカッション (英語)] Windowsシステム内のMoodleデータの移行
'''関連情報''': [http://moodle.org/mod/forum/discuss.php?d=85812 フォーラムディスカッション (英語)] Windowsシステム内の Moodle データの移行


==完全なMoodleサイトを移行する - 方法2==
==完全な Moodle サイトを移行する - 方法2==


あなたは、両方のサーバでシェルアクセスできますか? もしそうでしたら、以下の方法は、*nixベースのサイトでMoodleを移行するための、非常に素早い効率的な方法です。
あなたは、両方のサーバでシェルアクセスできますか? もしそうでしたら、以下の方法は、*nix ベースのサイトで Moodle を移行するための、非常に素早い効率的な方法です。


また、スナップショットまたはテストサイトの作成も有用です。
また、スナップショットまたはテストサイトの作成も有用です。
*新しい空のデータベースを'''新しい'''サーバにセットアップしてください。
*新しい空のデータベースを'''新しい'''サーバにセットアップしてください。
*あなたのMoodleサイトをメンテナンスモードに変更してください。
*あなたの Moodle サイトをメンテナンスモードに変更してください。
*'''古い'''サーバのシェルにログインしてください。
*'''古い'''サーバのシェルにログインしてください。
*'''moodledata'''および'''public_html''' (または、あなたのMoodleがインストールされているディレクトリ) を新しいサーバにコピーするには、rsyncを使用してください - それぞれのディレクトリでrsyncを実行します (あなたの環境に従って、大文字の部分を入れ替えてください。SOURCE = あなたがコピーしたいディレクトリです):
*'''moodledata''' および '''public_html''' (または、あなたの Moodle がインストールされているディレクトリ) を新しいサーバにコピーするには、rsync を使用してください - それぞれのディレクトリで rsync を実行します (あなたの環境に従って、大文字の部分を入れ替えてください。SOURCE = あなたがコピーしたいディレクトリです):
::<code>rsync -av -e ssh SOURCE/ USERNAME@NEW_SERVER.COM:/PATH/TO/DESTINATION/</code>
::<code>rsync -av -e ssh SOURCE/ USERNAME@NEW_SERVER.COM:/PATH/TO/DESTINATION/</code>
*次のコマンドを実行することで、既存のデータベースをダンプして、新しいデータベースにデータをインポートしてください:
*次のコマンドを実行することで、既存のデータベースをダンプして、新しいデータベースにデータをインポートしてください:
::<code>mysqldump --allow-keywords --opt -uMySQL_USERNAME -pPASSWORD DATABASE | ssh USER@DOMAIN "mysql -uMySQL_USERNAME -pPASSWORD DATABASE"</code>
::<code>mysqldump --allow-keywords --opt -uMySQL_USERNAME -pPASSWORD DATABASE | ssh USER@DOMAIN "mysql -uMySQL_USERNAME -pPASSWORD DATABASE"</code>
*'''新しいサーバ'''の'''config.php'''ファイルを適切に修正してください。
*'''新しいサーバ'''の'''config.php'''ファイルを適切に修正してください。
*内部のMoodleリンクを修正するには、あなたの新しいMoodleにログインした後、'''admin/replace.php'''を使用して、古いURIを新しいURIに変更してください。
*内部のMoodleリンクを修正するには、あなたの新しいMoodleにログインした後、'''admin/replace.php'''を使用して、古い URI を新しい URI に変更してください。
*すべてが動作していることを確認してください。
*すべてが動作していることを確認してください。


15分ほどかかります。
15分ほどかかります。


すべての作業が正常に完了した場合、必要に応じてDNSの設定を変更してください。新しいMoodleサイトのメンテナンスモードを解除して、古いサイトから新しいサイトへ移行してください。
すべての作業が正常に完了した場合、必要に応じて DNS の設定を変更してください。新しい Moodle サイトのメンテナンスモードを解除して、古いサイトから新しいサイトへ移行してください。


==他に考慮すべきポイント==
==他に考慮すべきポイント==


===Moodleをアップグレードする===
===Moodle をアップグレードする===


Moodleを移行する場合、Moodleを最新バージョンにアップグレードすることは、良いアイディアです。もし、あなたがサーバを管理しているのでしたら、[[アップグレード|Moodleアップグレード]]のインストラクションに従ってください。そうでない場合、あなたのホストでMoodleをアップグレードできるかどうか確認してください。
Moodle を移行する場合、Moodle を最新バージョンにアップグレードすることは、良いアイディアです。もし、あなたがサーバを管理しているのでしたら、[[アップグレード|Moodleアップグレード]]のインストラクションに従ってください。そうでない場合、あなたのホストで Moodle をアップグレードできるかどうか確認してください。


===サーバ間の単一コースリストア===
===サーバ間の単一コースリストア===
56行目: 56行目:
修正したファイルをリストアする場合、新しいコースの正しいファイルパスが使用されます。
修正したファイルをリストアする場合、新しいコースの正しいファイルパスが使用されます。


===DNSおよびマスカレーディングの変更===
===DNS およびマスカレーディングの変更===


あなたは、新しいMoodleサイトのために、DNSエントリを修正しなければならなかったかもしれません。もしそうでしたら、DNSの変更がレプリケーションされるまで時間がかかります。我慢してください。あなたのサーバがファイアウォールの背後に設置されている場合、新しいサーバにアクセスできるよう、ファイアウォールのルールを変更する必要があります。詳細は、[[マスカレーディング]]をご覧ください。
あなたは、新しい Moodle サイトのために、DNS エントリを修正しなければならなかったかもしれません。もしそうでしたら、DNS の変更がレプリケーションされるまで時間がかかります。我慢してください。あなたのサーバがファイアウォールの背後に設置されている場合、新しいサーバにアクセスできるよう、ファイアウォールのルールを変更する必要があります。詳細は、[[マスカレーディング]]をご覧ください。


===内部および外部アクセス===
===内部および外部アクセス===


あなたのMoodleサイトを内部ネットワークおよびインターネットからアクセスできるよう設定している場合、新しいサイトに内部および外部からアクセスできるかどうか確認してください。
あなたの Moodle サイトを内部ネットワークおよびインターネットからアクセスできるよう設定している場合、新しいサイトに内部および外部からアクセスできるかどうか確認してください。


==関連情報==
==関連情報==


Using Moodleフォーラムディスカッション:
Using Moodle フォーラムディスカッション:
* [http://moodle.org/mod/forum/discuss.php?d=62959 Moodle URIを変更する] - 英語  
* [http://moodle.org/mod/forum/discuss.php?d=62959 Moodle URIを変更する] - 英語  
* [http://moodle.org/mod/forum/discuss.php?d=57477 サイトアドレスを変更する] - 英語  
* [http://moodle.org/mod/forum/discuss.php?d=57477 サイトアドレスを変更する] - 英語  

2012年9月16日 (日) 04:42時点における最新版

あなたの Moodle サイトを別のサーバに移動する必要が生じる場合もあることでしょう。例えば、共有ホスティングから専用サーバに移行する場合等です - これは、Moodle サイトの移行 (migration) として知られています。よくやってしまう間違いで、気を付ける必要があるのは、あなたの Moodle の設定ファイル「config.php」詳細を忘れずに変更することです。

完全な Moodle サイトを移行する - 方法1

ここでは、サイト全体を1台のサーバから別のサーバに移行することも含みます。あなたが新しいサーバに対して、新しいドメイン/IPアドレスを変更する場合、以下のステップを実行してください:

  • メンテナンスモード - Moodle データベースにデータが新たに追加されることを防ぐため、あなたの現在の Moodle サイトをメンテナンスモードに変更してください。移行中は、メンテナンスモードに影響を受けない管理者をログインさせないでください。
  • あなたの Moodle データベースをバックアップする - MySQL ダンプの説明を含む、Moodleのアップグレードページのインストラクションに従ってください。
  • Moodle ソフトウェアをコピーする - Moodle コード自体を新しいサーバにコピーしてください - 可能でしたら、コードを最新のものにアップグレードしてください。
  • $CFG->wwwroot を変更する - あなたの (可能であれば新しい) Moodle ディレクトリ内で、「config.php」ファイルの $CFG->wwwroot 変数を新しいサーバに合わせて変更してください。
  • データディレクトリ (moodledata) のコンテンツをコピーする - あなたのデータディレクトリのコンテンツ ($CFG->dataroot の設定値を確認してください) を新しいサーバにコピーしてください。新しいデータディレクトリにおいてもファイルのパーミッションが同じになっているか確認してください。また、あなたが新しいサーバでデータディレクトリの場所を変更した場合、$CFG->dataroot の設定値を変更してください。
  • あなたの Moodle URI を変更する - あなたが新しい URI を使用する場合、Moodle データベースを新しい URI 用に変更する必要があります。この作業は、写真、ファイルへのリンク等、古い $CFG->wwwroot の設定値を参照する絶対リンクとして保存されたデータを変更するため必要です。Moodle サーバに関する MySQL バックアップダンプをそのまま読み込む場合、絶対参照リンクが壊れてしまいます。新しい URI に変更するには、2つの方法があります:
(a) 最初の方法では、Moodle データベースをバックアップする直前、あなたのサイトが稼動している場合、Moodle スクリプト「replace.php」を使用して、Moodle URI を変更します。あなたのブラウザに次の URI を入力してください: http://yourserver.com/admin/replace.php
あなたの古いサーバの URI (http://oldserver.com/) および新しいサーバの URI (http://newserver.com/) を入力した後、「Yes, do it now」ボタンをクリックしてください。MySQL テーブルが修正されます。また、ウェブサーバを再起動することで、キャッシュされているリンクをクリアしてください。次に、もう一度 Moodle データベースをバックアップします - このバックアップには、正しい URI が含まれています。
(b) 2番目の方法では、最初の Moodle データベースをバックアップします。次に、あなたのテキストエディタの検索および置換機能 (または、sed のような Unix ツール) を使用して、MySQL バックアップファイル内の古い URI を新しい URI に入れ替えます。以下、sed コマンドの例です:
#sed -e 's/oldserver.com/newserver.com/g' oldmysqldump.sql > newmysqldump.sql
ヒント: mysqldumpファイルで古いサーバがどのように参照されているのか確認しても良いでしょう。:URI の変更後、MySQLデータベースをリストアしてください。
  • 移行をテストする - 新しいインストールをテストするには、ブラウザを使用して、新しいサーバの Moodle のURIにアクセスしてください。あなたが多数のコースワーク内のリンクを確認できた場合、新しい Moodle サイトのメンテナンスモードを解除してください。

関連情報: フォーラムディスカッション (英語) Windowsシステム内の Moodle データの移行

完全な Moodle サイトを移行する - 方法2

あなたは、両方のサーバでシェルアクセスできますか? もしそうでしたら、以下の方法は、*nix ベースのサイトで Moodle を移行するための、非常に素早い効率的な方法です。

また、スナップショットまたはテストサイトの作成も有用です。

  • 新しい空のデータベースを新しいサーバにセットアップしてください。
  • あなたの Moodle サイトをメンテナンスモードに変更してください。
  • 古いサーバのシェルにログインしてください。
  • moodledata および public_html (または、あなたの Moodle がインストールされているディレクトリ) を新しいサーバにコピーするには、rsync を使用してください - それぞれのディレクトリで rsync を実行します (あなたの環境に従って、大文字の部分を入れ替えてください。SOURCE = あなたがコピーしたいディレクトリです):
rsync -av -e ssh SOURCE/ USERNAME@NEW_SERVER.COM:/PATH/TO/DESTINATION/
  • 次のコマンドを実行することで、既存のデータベースをダンプして、新しいデータベースにデータをインポートしてください:
mysqldump --allow-keywords --opt -uMySQL_USERNAME -pPASSWORD DATABASE | ssh USER@DOMAIN "mysql -uMySQL_USERNAME -pPASSWORD DATABASE"
  • 新しいサーバconfig.phpファイルを適切に修正してください。
  • 内部のMoodleリンクを修正するには、あなたの新しいMoodleにログインした後、admin/replace.phpを使用して、古い URI を新しい URI に変更してください。
  • すべてが動作していることを確認してください。

15分ほどかかります。

すべての作業が正常に完了した場合、必要に応じて DNS の設定を変更してください。新しい Moodle サイトのメンテナンスモードを解除して、古いサイトから新しいサイトへ移行してください。

他に考慮すべきポイント

Moodle をアップグレードする

Moodle を移行する場合、Moodle を最新バージョンにアップグレードすることは、良いアイディアです。もし、あなたがサーバを管理しているのでしたら、Moodleアップグレードのインストラクションに従ってください。そうでない場合、あなたのホストで Moodle をアップグレードできるかどうか確認してください。

サーバ間の単一コースリストア

特に移行をテストしている場合、あなたは古いサイトの単一コースを新しいコースにリストアしてみることもあるでしょう。バックアップしたサーバとは異なるサーバにMoodleバックアップをリストアする場合、ファイルに対する絶対参照リンクが壊れてしまいます。この問題を修正するには、「backup-coursename.zip」ファイルを開いて、「moodle.xml」のリンクを $@FILEPHP@$ と置換してください。

例えば、「http://yourserver.com/file.php/243/」と「$@FILEPHP@$」を置換します。

修正したファイルをリストアする場合、新しいコースの正しいファイルパスが使用されます。

DNS およびマスカレーディングの変更

あなたは、新しい Moodle サイトのために、DNS エントリを修正しなければならなかったかもしれません。もしそうでしたら、DNS の変更がレプリケーションされるまで時間がかかります。我慢してください。あなたのサーバがファイアウォールの背後に設置されている場合、新しいサーバにアクセスできるよう、ファイアウォールのルールを変更する必要があります。詳細は、マスカレーディングをご覧ください。

内部および外部アクセス

あなたの Moodle サイトを内部ネットワークおよびインターネットからアクセスできるよう設定している場合、新しいサイトに内部および外部からアクセスできるかどうか確認してください。

関連情報

Using Moodle フォーラムディスカッション: