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

提供:MoodleDocs
移動先:案内検索
(整形)
 
(他の1人の利用者による、間の34版が非表示)
1行目: 1行目:
作成中です - [[利用者:Mitsuhiro Yoshida|Mitsuhiro Yoshida]] 2008年10月4日 (土) 11:35 (CDT)
あなたの 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ファイルで古いサーバがどのように参照されているのか確認しても良いでしょう。:After changing the URL, restore the mysql database
:'''ヒント''': mysqldumpファイルで古いサーバがどのように参照されているのか確認しても良いでしょう。:URI の変更後、MySQLデータベースをリストアしてください。
* '''移行をテストする''' - To test the new install, access Moodle using your browser and the new server's URL. When you have tested that a number of links in the courses work, take the new Moodle site out of maintenance mode.
* '''移行をテストする''' - 新しいインストールをテストするには、ブラウザを使用して、新しいサーバの Moodle のURIにアクセスしてください。あなたが多数のコースワーク内のリンクを確認できた場合、新しい Moodle サイトのメンテナンスモードを解除してください。
'''関連情報''': [http://moodle.org/mod/forum/discuss.php?d=85812 Forum discussion] on migrating Moodle's data directory on a Windows system.
'''関連情報''': [http://moodle.org/mod/forum/discuss.php?d=85812 フォーラムディスカッション (英語)] Windowsシステム内の Moodle データの移行


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


Do you have shell access on both servers? If so, the following method is a very quick and efficient method to migrate a *nix based site.
あなたは、両方のサーバでシェルアクセスできますか? もしそうでしたら、以下の方法は、*nix ベースのサイトで Moodle を移行するための、非常に素早い効率的な方法です。


It is also useful for creating snapshots or test sites.
また、スナップショットまたはテストサイトの作成も有用です。
*Set up a new empty database on the '''new''' server.
*新しい空のデータベースを'''新しい'''サーバにセットアップしてください。
*Place your Moodle site into maintenance mode.
*あなたの Moodle サイトをメンテナンスモードに変更してください。
*Login to shell on the '''old''' server.
*'''古い'''サーバのシェルにログインしてください。
*Use rsync to copy '''moodledata''' and '''public_html''' (or whatever directory your Moodle install is in) to the new server - execute (replacing caps with your details; SOURCE = the directory you want to copy) for each directory:
*'''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>
*Dump existing database and move and import into database on new server by executing:
*次のコマンドを実行することで、既存のデータベースをダンプして、新しいデータベースにデータをインポートしてください:
::<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>
*On the '''new server''', update '''config.php''' with relevant details.
*'''新しいサーバ''''''config.php'''ファイルを適切に修正してください。
*To fix any internal Moodle links, login to your "new" Moodle install on your new server and use '''admin/replace.php''' to search and replace the old uri for the new.
*内部のMoodleリンクを修正するには、あなたの新しいMoodleにログインした後、'''admin/replace.php'''を使用して、古い URI を新しい URI に変更してください。
*Make sure everything is working.
*すべてが動作していることを確認してください。


Takes about 15 minutes.
15分ほどかかります。


When happy all has gone well, set up redirects/make DNS changes if required, take new site out of maintenance mode and "switch off" old site.
すべての作業が正常に完了した場合、必要に応じて DNS の設定を変更してください。新しい Moodle サイトのメンテナンスモードを解除して、古いサイトから新しいサイトへ移行してください。


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


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


When migrating Moodle it is often a good idea to take the opportunity to upgrade Moodle to the latest version. If you manage your own server, follow the instructions in [[Upgrading | upgrading moodle]], otherwise check if your host can upgrade for you.
Moodle を移行する場合、Moodle を最新バージョンにアップグレードすることは、良いアイディアです。もし、あなたがサーバを管理しているのでしたら、[[アップグレード|Moodleアップグレード]]のインストラクションに従ってください。そうでない場合、あなたのホストで Moodle をアップグレードできるかどうか確認してください。


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


You may need to restore a single course from an old site to a new one, especially if you are testing the migration. When restoring a Moodle backup file to Moodle on a different server than the one used to create the backup, the absolute referenced links to files maybe broken. To fix this problem open the ''backup-coursename.zip'' file and edit the ''moodle.xml'' file replacing links with <code>$@FILEPHP@$</code>.
特に移行をテストしている場合、あなたは古いサイトの単一コースを新しいコースにリストアしてみることもあるでしょう。バックアップしたサーバとは異なるサーバにMoodleバックアップをリストアする場合、ファイルに対する絶対参照リンクが壊れてしまいます。この問題を修正するには、「backup-coursename.zip」ファイルを開いて、「moodle.xml」のリンクを <code>$@FILEPHP@$</code> と置換してください。


For example, replace <nowiki>http://yourserver.com/file.php/243/</nowiki> with <code>$@FILEPHP@$</code>
例えば、「<nowiki>http://yourserver.com/file.php/243/</nowiki>」と「<code>$@FILEPHP@$</code>」を置換します。
   
   
When the file is restored it will use the correct file path for the new course.
修正したファイルをリストアする場合、新しいコースの正しいファイルパスが使用されます。


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


You may have had to change the DNS entries for the new Moodle site. If you have done so, it will take some time for the changes to replicate, so be patient. If your server is located behind a firewall, you may also have to change your firewall rules to allow access to the new server. See the [[Masquerading | masquerading docs]].
あなたは、新しい Moodle サイトのために、DNS エントリを修正しなければならなかったかもしれません。もしそうでしたら、DNS の変更がレプリケーションされるまで時間がかかります。我慢してください。あなたのサーバがファイアウォールの背後に設置されている場合、新しいサーバにアクセスできるよう、ファイアウォールのルールを変更する必要があります。詳細は、[[マスカレーディング]]をご覧ください。


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


If you have a set up where your Moodle site can be accessed via a network and via the internet, ensure you check that the new site can be accessed internally and externally. 
あなたの 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 フォーラムディスカッション: