Mahara日本語ドキュメント/システム管理者ガイド/Maharaのインストール/トラブルシューティング

From Mahara Wiki
Jump to: navigation, search

以下、一般的な質問およびMaharaインストール時に発生する可能性のあるトラブルの一覧です。また、一般的なトラブル一覧フォーラム (英語) は、あなたの手助けとなるでしょう。

Q: ページにアクセスすると、500 Internal Server Errors が表示されます。

A: これは恐らく、あなたの共有ホスティングおよびあなたのホストが.htaccessファイル内のいくつかのディレクティブを無効にしているか、.htaccess自体を無効にしているからだと考えられます。

.htaccessファイルは、htdocs/ディレクトリ内にあります。このファイルは、 (ファイル名の最初に . があるため) 「隠し」ファイルで、Apacheがどのように動作するか伝えます。Maharaでは、.htaccessファイルが危険なPHP設定の無効化、およびあなたのMaharaサイトが速く動作するよう、キャッシングを設定します。残念ですが、あなたのホストが.htaccessファイルを無効にしている場合、これらのいくつか、またはすべての利点を失うことになります。

この問題を解決するには、ファイル内のphp_flagまたはphp_valueで始まる行をコメントアウトして、ページを再度読み込んでください。この方法でも動作しない場合、.htaccessファイルを完全に削除してください。

あなたがまだこの問題に遭遇している場合、あなたのApacheエラーログを確認してください。ログファイルには、なぜあなたが500内部サーバエラーに遭遇しているか、明確な理由を伝えるエラーメッセージが残っているはずです。ほとんどのホスティングサービスでは、少なくともログに対する基本的なアクセスを提供しています。もし、ログが提供されていない場合、他のホスティングサービスへの移行を考えてください。なぜなら、あなたの問題を探し出すことのできないホスティングサービスは、許容できる最低限のサービスを提供しているとは言えないからです。

Q: インストールに成功した後、「あなたは危険なPHP設定、magic_quotes_gpcをonにしています。Maharaは、この問題の対処を試みますが、設定の修正を強くお勧めします。」というメッセージが表示されます。

A: これらのメッセージでは、あなたが無効にすべきPHP設定に関して、警告しています。Maharaが、.htaccessファイル経由で、これらの設定を無効にしようと試みています。この設定を無効にできない場合、恐らくあなたが共有ホスティングを使用しているため、設定を無効にするよう、Maharaが警告を発しています。あなたのconfig.phpファイルで、次の行を見つけてください:

$cfg->log_environ_targets = LOG_TARGET_SCREEN | LOG_TARGET_ERRORLOG;

そして、次のように変更してください。

$cfg->log_environ_targets = 0;

Q: 下記のようなメッセージが表示されます:

Parse error: syntax error, unexpected '{' in .../htdocs/init.php on line 79

A: 恐らく、あなたは、PHP4でMaharaを動作させていると考えられます。Maharaでは、PHP 5.1またはそれ以上のPHPバージョンの使用が必須です。

Q: すべてのページにおいて、Maharaは、私に再度ログインしてくださいと言います!

A: この問題の原因として、下記2つの可能性があります:

  1. あなたは、Maharaにサーバエイリアスを設定できたはずです。これが間違いの元です。サイトがexample.orgおよびwww.example.orgの両者に応答するよう、サーバエイリアスが使用されます。Maharaのコンテクストにおける問題点は、ここから実行されるよう、Maharaがwwwroot設定を持っていることです。換言すれば、Maharaは常に同じドメイン名より実行されることを要求します。これには、いくつかの理由があります。まず第一に、MNETのSSLキーは、ホスト名から生成されます。ですから、あなたのサイトが、1つ以上のホスト名を返すことで、他のホスト名とのMNETのコミュニケーションが壊れることを意味します。これは、あなたのユーザに対して、一貫性のないMNETの経験を提供することになります。次に、あなたがwww.exapmle.orgにログインして、その後ログインしていないexample.orgへアクセスできてしまうというトラブルを避けるため、クッキーは1つのドメインのみ設定することができます。あなたは、まだ好きなだけエイリアスを提供することができます - しかし、多くのサーバエイリアスを提供する代わりに、バーチャルホストを追加設定してください。以下、バーチャルホストの正しい設定方法です:
     ServerName example.org
     # Definitely, absolutely, NO ServerAliases in here
     DocumentRoot /path/to/mahara/htdocs


     ServerName www.example.org
     # NOTE: ServerAliases are OK in this vhost block - if a client hits any host in this block they'll be redirected to the "main" wwwroot
     ServerAlias mahara.example.org
     Redirect permanent / http://example.org/


  1. 別の可能性としては (少ないですが)、あなたがデータルート (dataroot) を間違って指定しているかも知れません。データルートは、ファイルシステムに関する絶対パスです。URIまたは、その一部でもありません。データルートが相対パスの場合も、正常に動作しません。他の方法 (FTP等) で見つけることができず、あなたのMaharaがインストールされているファイルシステムを把握するには、index.phpに「echo getcwd();」のような行を入れてください。そして、config-dist.phpに記載されているように、標準的なルールに従って、あなたのデータルートパスを記述してください。

Q: SMTPからの送信を除いて、私のサーバがPHPのメール送信を許可しません。どのように設定して、テストすれば良いですか?

A: 次の作業により、Mahara 1.1.1から送信されるSMTPベースのEメールメッセージ設定およびテストに関して、あなたを導きます:

1. まず最初に、あなたがやるべきことは、onfig-default.phpのコンテンツを確認して、あなたのMaharaサイトのルートフォルダを探すことです。メインconfig.phpファイルに次の行を追加して、あなたのサーバまたはホスティングサービスの設定に従って、3つのSMTP設定を修正してください:

// mail handling -- copied this over from config-defaults.php 3/8/2009 so I can use smtp email
// if you want mahara to use smtp servers to send mail, enter one or more here
// blank means mahara will use the default PHP method.
$cfg->smtphosts = 'smtp.youremailhost.com';
// If you have specified an smtp server above, and the server requires authentication,
// enter them here
$cfg->smtpuser = 'youremailuser';  
$cfg->smtppass = 'youremailpassword';

最後の2行は、あなたが認証を必要とする場合のみ使用してください。そうでない場合、「//」でコメントアウトしてください。

2. 設定終了後、あなたのMaharaサイトからテストメールを送信する前、SMTPサーバから直接メール送信できるかどうか確認してください。あなたのメールボックスをホスティングサービスのメールサーバに作成した場合、あなたは、ユーザ名およびパスワードを指定します。あなたのウェブメールサービスまたは類似のサービスを使用して、SMTPメールボックスに入った後、例えばGmailアカウントのような、他のメールアカウントにメールを送信してください。この処理を正常に実行できるようになった場合、次の手順に進むだけです。

3. 内蔵されたcronシステムに設定した後、様々な時間間隔で送信されない限り、あなたのEメールは、Maharaサイトから自動的に送信されません。Mahara独自の組み込みcronプログラムが毎分実行されるよう、あなたのサーバのcronを設定する方法に関して、すでにインストラクションでカバーされています。初回インストールのため、あなたはcronが正常に動作しているかどうか確信が持てないことでしょう。あなたがメールに関してトラブルを抱えている場合、SMTP、cronまたは両者に原因があるのか、切り分けるのに混乱してしまうことになります。最初に次のように入力して、あなたのMaharaのcronを手動で実行させることができます:

/usr/bin/curl -s -v http://yoursite/lib/cron.php

上記で使用されている -v または冗長フラグにより、現在何が実行されているか、あなたに表示することができます。また、あなたのサイトのcron.phpファイルにアクセスしていることも表示されます。

ホスティングサービスの一般的なcronシステムは、次のようなコマンドで編集することができます:

EDITOR=nano crontab -e

このコマンドにより、あなたのcronファイルが、使いやすいnanoエディタで開かれます。あなたが後ろに何も指定しない場合、nanoエディタは、空白の状態で起動します。上記コマンドが動作しない場合、特定の手順を探すため、あなたのホスティングサービスに相談してください。上記コマンドが動作しない場合、または、あなたがエディタに入ることができる、似たようなコマンドを使用したい場合、次の行を入力してください:

* * * * * /usr/bin/curl -s http://yoursite/lib/cron.php

ファイルを保存するため、の順でキーを押した後、 の順でキーを押して、エディタを終了してください。

4. これで、cronの動作が設定されました。MaharaのEメール送信をテストする最良の方法は、「お問い合わせ」フォームを使用して、あなた自身にメッセージを送信することです。「お問い合わせフォーム」を使用する理由は、すぐにMaharaのcronシステムから実行されて、あなたの管理者メールに対して、1分以内または短い時間でメール送信されるからです。新しいフォーラム投稿のような、システムからの他のメールは、Maharaのcronから実行されるまでに、さらに時間を要することに留意してください。

5. 十分な時間を与えても、メールの送信および受信が実行されない場合、以下の内容を確認してください:

a. 管理者メールアカウントが正常に動作しているかどうか確認してください - Gmailアカウントまたは他のアカウントから、管理者メールアドレス宛にテストメールを送信してください。

b. メールが動作している場合、あなたの「お問い合わせ」メッセージに関して、JunkまたはSpamフォルダを確認してください - あなたのInboxにメールが入る前に、これらのフォルダへメールが移動される可能性があります。

c. サイト管理ユーザとしてログインした後、「設定」タブメニューをクリックして、サブメニュー内の「通知」をクリックしてください。ここには、管理ユーザに送信されたメッセージすべてのコピーが保存されています。あなたのメッセージが正しく表示されているか、確認してください。

d. 最初に、私たちがすでにSMTPおよびcronに実施している設定を確認、修正してください。それぞれの設定を変更した後、手動でMaharaのcronスクリプトを実行してください。そして、「お問い合わせ」フォームを再度テストしてください。最後に、あなたのメールInbox、Spamボックスおよび通知ログを再度確認してください。あなたが原因を解明できるまで、この処理を繰り返してください。恐らく、タイプミスまたはSMTPの認証設定に何らかの問題があると考えられます。

e. あなたが体系的に作業するのでしたら、実施したすべての組み合わせに関して、記録を取ってください。このことにより、問題を探し出すことが簡単になりますし、フォーラムでの質問も投稿しやすくなります。フォーラムでは、あなたの設定および実施したテストに関して、十分な詳細情報を与えてください。しかし、あなたのパスワードをフォーラムで晒すことは控えてください。

Q: まだ問題を解決できません。さらにサポートを受けるにはどうすればよいですか?

A: あなたには、利用できる下記2つのオプションがあります:

  • mahara.orgのフォーラムを利用する
  • irc.freenode.orgの#mahara IRCチャネルを利用する