良くある質問 (FAQ)

このページにはMoodleのインストールにおいて最も尋ねられる質問を記します。 インストールマニュアルに従ってインストールを 行って尚且つ問題が発生した場合、このページは恐らく最良の手助けになることでしょう。

答えが見つからない場合は、moodle.orgのUsing Moodleコースを参照してください。あなたの問題が既に議論されている可能性がありますので、少数のキーワードを 使ってフォーラム内を検索してください。 答えが見つからない場合は、適切なフォーラムに問題を投稿してください - 通常は誰かが助けてくれます。

様々な方法を試してみても問題が解決しない場合で、ファイアーウォールの背後でMoodleを動かしている場合は、必須の機能または 必要なコミュニケーションをブロックしないように、ファイアーウォールを再設定されることをお勧めします。 ファイアーウォールがMoodleに影響を及ぼすことはほとんどありませんが、ファイアーウォールの設定ミスにより Moodleの機能に影響を及ぼすことがあります。

該当する答えを閲覧する時は下記のリンクをお使いください:

アップロードしたファイルへアクセスまたは閲覧する時に、いつも「File not Found」というメッセージが表示されます。

例えば: Not Found: The requested URL /moodle/file.php/2/myfile.jpg was not found on this server. と表示される場合。

スクリプト以下のURLが、直接スクリプトへ渡されるようにウェブサーバを設定する必要があります。 Apache 1では通常この設定がなされていますが、Apache 2では設定されていません。 この設定を行うには、httpd.confまたローカルディレクトリの.htaccessファイルに下記の行を追加してください (詳細はインストールマニュアルをご覧ください):

AcceptPathInfo on

注意: この設定はApache versions 2.xのみに有効です。

Apache 2を使用せずに、この問題が発生する場合は別の方法を使用するためにMoodleを設定変更することができます。 この方法を使用する上でのデメリットは、パフォーマンスが若干落ちることおよびHTMLリソースにおいて相対リンクを使用できないことです。

この代替的な方法を使用する場合は: 管理者でログインして、「詳細設定」ページで「slasharguments」を 変更してください。これで、アップロードしたファイルへアクセスできるようになります。

 

PHP - どのバージョンがインストールされていますか?

ウェブサイトに、下記の内容を含むinfo.phpというファイルを作成した後にブラウザでアクセスしてください:

<?PHP phpinfo() ?>

何も起きない場合は、PHPがインストールされていません。PHPのダウンロード情報に関してインストールマニュアルをご覧ください。

 

なぜ、全てのページが真っ白ですか?

config.phpにあるdirroot変数の内容を確認してください。dirrootには絶対パスを使用する必要があります。例:

$CFG->dirroot = "d:\inetpub\sites\www.yoursite.com\web\moodle";

 

Redhat Linuxの場合はこちらをご覧ください: Redhat Linux

 

次のような致命的エラーが表示されます : call to undefined function: get_string()

下記のようなエラーが表示される場合は:

Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp\www\moodle\config.php on line 94
Fatal error: Call to undefined function: get_string() in c:\program files\easyphp\www\moodle\mod\resource\lib.php on line 11

config.php(94行目より前)で、セミコロンまたは閉じクオートが抜けている可能性があります。

その他の原因として、config.phpをWordのようなプログラムで開いて編集した後に、テキストファイルとして保存せずに、 HTMLページとして保存している可能性が考えられます。

 

なぜ、「headers already sent」というエラーが表示され続けるのですか?

下記のようなエラーが表示される場合は:

Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1322

Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1323

Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/login/index.php on line 54

config.phpの最後の?>の後に空白行またはスペースがあります。いくつかのテキストエディタ(例えばWindowsのワードパッド)は、空白行やスペースを追加することがありますので、 空白行やスペースを完全に取り去るために他のテキストエディタをお使いください。

 

次のエラーが表示され続けます: Failed opening required '/web/moodle/lib/setup.php'

config.phpのdirroot変数には、サーバのハードディスクのルートからの絶対パスを設定してください。

時々、ホームディレクトリからのパスや、ウェブサーバディレクトリのルートへの相対パスを書き込む人がいます。

 

アポストロフィー(')またはクオート(")を追加したテキストは、エラーを生じるかスラッシュが追加されます。

アポストロフィーによって生じる問題は、「magic quotes」の設定ミスが原因しています。 Moodleでは次の設定を必要とします(通常デフォルトです):

magic_quotes_gpc = On
magic_quotes_runtime = Off

詳細に関しては、インストールマニュアルのウェブサーバ設定の確認をご覧ください。

 

session_startに関するエラーメッセージが表示され続けます。

下記のようなエラーが表示される場合は:

Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123

Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\web\moodle\lib\setup.php:1) in G:\web\moodle\lib\setup.php on line 123

... これらのエラーはPHPが「セッション」をハードディスク(tmpディレクトリ)に保存できないことに関係しています。 これは、/tmpディレクトリが存在しないことが原因となっています。通常、WindowsにMoodleをインストールする場合に生じることがあります。

解決方法は、実在するディレクトリを指し示すようにPHPの設定を変えることです。php.iniファイルを変更することで設定を変更できます:

session.save_path = C:\temp

または、moodleディレクトリにある.htaccessファイルに下記の行を追加します:

php_value session.save_path "/home/moodle/sessions"

 

管理ページにアクセスした時に、dirrootを空白にするように警告されます!

Moodle 1.0.9で下記のようなエラーが表示される場合は:

Please fix your settings in config.php:

You have:

$CFG->dirroot = "/home/users/fred/public_html/moodle";

but it should be:

$CFG->dirroot = "";

いくつかのサーバで発生する小さなバグだと思われます。実際のパスでは無く、エラーチェックメカニズムにエラーの原因があります。これを修正するには、admin/index.phpで下記の行(66行目)を見つけて:

if ($dirroot != $CFG->dirroot) {

次のように変更してください:

if (!empty($dirroot) and $dirroot != $CFG->dirroot) {

 

ログインしてもログインリンクが変わりません。ログインして自由にサイトを閲覧できます。

$CFG->wwwrootのURL設定が、サイトにアクセスするURLと同じであるかを確認してください。

 

リソースを追加する時にエラーメッセージが表示されます。

あなたはApacheを使用していると考えられます。その場合、config.phpの$CFG->wwwroot設定が実際のURLと異なっている可能性があります。 また、管理画面にある詳細設定の"secureforms"を「No」にすることを試してみてください。

 

初期設定プロセスにおいて、管理者アカウントの作成を聞かれません!

これは、Moodleバージョン1.0.9までの既知のバグです。現在は、メインコードおよびバージョン1.1において修正されています。

これは全ての人に影響する訳ではなく、Moodleをインストールする際に他のプログラムによって書き出された「user」「admin」「teacher」 という名称のクッキーがブラウザ内にある場合に生じます。

対処方法として、インストールの前にブラウザよりこれらのクッキーを削除する、別のブラウザを使う、moodle/admin/user.phpファイルの先頭近くに次の行を挿入する方法があります:

unset($user);
unset($admin);
unset($teacher);

これらの修正を行った後は、データベースのテーブルをドロップして、Moodleを再度インストールされることをお勧めします。

 

全くログインできません - ログイン画面より先に進みません。

多くは、あなたのコンピュータ(Moodleサーバでは無く)がリファラ情報を取り除くファイアーウォールを使用している場合に起こります。 Norton firewall製品をMoodleが動作するように設定変更する場合の説明はこちらをご覧ください。

サーバの管理者は、管理画面の詳細設定にある「secureforms」を「No」にすることで、全てのユーザのためにこの問題を解消することができます。

別の可能性として、サーバにおいてセッションに関する設定が正しく行われていないことが挙げられます。http://yourserver/moodle/lib/session-test.php を実行することで、セッションの設定をテストすることができます。

 

Moodleサイト全体のバックアップ方法は?

バックアップ対象には2つ主要なのものがあります:データベースのバックアップとアップロードしたファイルのバックアップです。 必要であれば、いつでも最新のファイルをダウンロードできますのでMoodleのスクリプト自体は重要ではありません。

バックアップには数多くの方法があります。Unixでデータベースをバックアップする小さなスクリプト例を記します。 これはcronを使用した毎日のバックアップに向いています。

cd /my/backup/directory

mv moodle-database.sql.gz moodle-database-old.sql.gz

mysqldump -h example.com -u myusername --password=mypassword -C -Q -e -a mydatabasename > moodle-database.sql

gzip moodle-database.sql

ファイルに関しては、更新したファイルのみを別のホストにバックアップすることができるrsyncコマンドを定期的に使うことができます:

rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/

 

なぜ、Moodleサイトが正確に時間と日付を表示しないのですか?

各言語は、日付を正確に表示するために、特定の言語コード(ロケールコードと呼ばれます)を必要とします。 言語パックは、標準的なロケールを含んでいますが、Windowsサーバでは正常に動作しない場合があります。

次の2つのページでWindows用の正しいロケールに関する情報を得ることができます: 言語コード および 国/地域コード。 (例 スペイン語は「esp_esp」)

新しいロケールコードは、管理 -> 設定 -> 詳細設定にて登録することができます。このロケールコードは、現在選択されている言語のロケールコードに優先します。

 

内容を記載したメールがフォーラムより送信されません。

Moodleのフォーラム、課題より自動的にメールを送信させるには、cronを正しく設定する必要があります。 同じプロセスで、登録未承認ユーザの削除や古い学生の登録抹消等の、多くのクリーンアップタスクを実行します。

基本的に、スクリプトhttp://yoursite/admin/cron.phpを定期的に呼ぶ設定をする必要があります。 インストールマニュアルのcronの設定セクションをご覧ください。

ヒント: Moodleの詳細設定ページで、デフォルト設定の使用を試してください。また、smtphostを空白のままにしてください。 この設定はほとんどのユーザの条件を満たしています。

 

 


新しいFAQの提案 (答えもお願いします!)


このFAQの整備にご協力頂いたJohn Eyre氏に感謝します。

Moodleドキュメンテーション

Version: $Id: faq.html,v 1.6 2003/03/30 13:54:28 moodler Exp $