Moodleサイトをあるサーバから別のサーバに移動する必要がある場合があります。たとえば、Moodleサイトを共有ホスティングサービスのサーバから専用サーバに移動します。
推奨される方法
これには、サイト全体を1つのサーバから別のサーバに移動することが含まれます。ドメイン/ IPアドレスを新しいサーバに変更する場合は、次の手順を実行する必要があります。
メンテナンスモードをオンにします
Moodleデータベースへのそれ以上の追加を防ぐために、 サイト管理 > サーバ > メンテナンスモード を介して現在のMoodleサイトをメンテナンスモードにします。管理者はメンテナンスモード設定の影響を受けないため、移行中に管理者にログインさせないでください。
古いサーバにMoodleデータベースをバックアップする
データベースをバックアップする正しい方法は、使用しているデータベースシステムによって異なります。以下の手順は、MySQLデータベースをバックアップする1つの方法です。もう1つのオプションは、phpMyAdminなどのツールを使用して手動でバックアップを作成することです。データベースのドキュメントには、より多くのオプションがあります。このようなバックアップを実行する方法はたくさんあります。これは、Unixのコマンドラインから実行してデータベースをバックアップできる小さなスクリプトの概要です。
cd /my/backup/directory mv moodle-database.sql.gz moodle-database-old.sql.gz mysqldump -h example.com -u myusername -p'mypassword' -C -Q -e --create-options mydatabasename > moodle-database.sql
パスワードなしで -p と書くだけの場合は、プロンプトが表示されます。
データベースのバックアップを新しいサーバに復元します
データベースバックアップファイルを新しいサーバにコピーし、新しいデータベースサーバにリストアします。
新しいサーバに新しいデータベースを作成したら、次のようにします。
mysql -p new_database < moodle-database.sql
その他のデータベースについては、バックアップを復元するための指示に従ってください。
古いサーバから新しいサーバにmoodledataをコピーします
データディレクトリの内容をコピーして( $CFG->dataroot
値を確認してください)、新しいサーバにコピーします。これは大量のデータになる可能性があるため、[1]などの優れたデータコピーツールの使用を検討してください。 FTPクライアントを使用している場合、 filedirフォルダの転送は BINARY モードである必要があります。そうでない場合、ファイルは処理中に破損します。
注意:これらのディレクトリの内容をコピーする必要はありません。
- /moodledata/cache
- /moodledata/localcache
- /moodledata/sessions
- /moodledata/temp
- /moodledata/trashdir
これらのファイルを省略すると、転送時間が大幅に短縮されます。
コピーしたファイルのファイルパーミッションを確認してください。 Webサーバには読み取りおよび書き込みアクセスが必要です。
古いサーバから新しいサーバにMoodleコードをコピーします
Moodleコード自体を新しいサーバにコピーする必要があります(これは、WebrootフォルダにあるMoodleフォルダです(例:/var/www または public_html)。
コピーしたファイルのファイルパーミッションを確認してください。 Webサーバには読み取りアクセスが必要です。
新しいサーバのURLでconfig.phpを更新します
移行によってMoodleが新しいURLに移動する場合は、config.phpの$CFG->wwwrootを更新して新しい場所を指すようにします。
そこにある他のプロパティも確認してください。パス$CFG->moodledataはまだ正しいですか?データベース接続設定を変更する必要がありますか?
コピーしたサイトをテストする
これで、管理者として新しいサイトにログインし、ほとんどのものが機能していることを確認できるはずです。
データベース内のwwwrootを含むリンクを更新します
修正していないのは、データベースに保存されている内部リンクです。これらを修正するには、{wwwroot}/admin/tool/replace/index.phpにアクセスして検索および置換ツールを使用します。
古いサーバのURLを入力します( http://oldserver.com/ )および新しいサーバ( http://newserver.com/ )そしてそれはデータベースに保存されているリンクを修正します。
サイトをメンテナンスモードから解除します
移行をもう少しテストし、満足したら、サイトをメンテナンスモードから解除することを忘れないでください。
迅速でハッキーな方法
両方のサーバにシェルアクセスがある場合は、コマンドラインベースの簡単な方法を次に示します。
- 新しい サーバに新しい空のデータベースをセットアップします。
- 既存のMoodleサイトをメンテナンスモードにします。
- 古い 既存のサーバのシェルにログインします。
- rsyncを使用して、moodledata および public_html または moodle フォルダ(またはMoodleがインストールされているディレクトリ)を新しいサーバにコピーします - 実行します(キャップをあなたの詳細に置き換える。 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"
- 完全なサイトURLを継続するデータベース内のリンクを置き換えます。
#sed -e 's/oldserver.com/newserver.com/g' oldmysqldump.sql > newmysqldump.sql
- 新しいサーバ 、config.php、該当する場合は関連する詳細(データベース名とユーザの詳細、wwwrootとdatarootなど)で更新します。
- moodleコードとmoodledataディレクトリの両方で所有権とパーミッションが正しいことを確認してください。
- すべてが機能していることを確認してください。
小さなサイトの場合、約15分かかります。ただし、ネットワーク接続とハードドライブの読み取り/書き込み速度によっては、大規模なサイトに数ギガバイトのデータを転送するのに数時間かかる場合があります。
すべてが順調に進んだことを確認したら、リダイレクトを設定し、必要に応じてDNSを変更し、新しいサイトをメンテナンスモードから解除して、古いサイトを オフ にします。
- IPアドレスを古いサーバから新しいサーバに切り替える場合は、IPアドレスの競合や混乱を避けるために、新しいサーバを起動する前に古いサーバの電源を切る必要があります。
その他の考慮事項
Moodleを同時にアップグレードしますか?
Moodleを移行する作業をしている間、あなたは Moodleを同時に最新バージョンにアップグレードします。一方、それを行って何かが壊れた場合、どの変更が問題の原因であるかわからないため、より慎重なアプローチは、一度に1つずつ変更し、その間にテストしてすべてが正常であることを確認することです 。
DNSとマスカレードの変更
新しいMoodleサイトのDNSエントリを変更しなければならなかった可能性があります。これを行った場合、変更が複製されるまでに時間がかかるため、しばらくお待ちください。サーバがファイアウォールの背後にある場合は、新しいサーバへのアクセスを許可するようにファイアウォールルールを変更する必要がある場合もあります。 マスカレードドキュメント。
内部および外部アクセス
ネットワークおよびインターネットを介してMoodleサイトにアクセスできるように設定している場合は、新しいサイトに内部および外部からアクセスできることを確認してください。
reCAPTCHA
新しいドメインに移行してEメールによる自己登録を設定している場合は、Googleで新しいAPIキーを作成する必要があります。 Eメールによる自己登録にGoogleへの説明とリンクがあります。
関連項目
質問はありますか?
moodle.orgのインストールおよびアップグレードヘルプフォーラムに投稿してください。