2020-11-06に更新

【Bitnami Moodle】活動完了のレポート出力時にInternal Server Errorが発生する場合の解決方法

事象

Moodleでコース受講者の進捗を確認する為に、活動完了のレポートを活用していました。
ところが、参加者が20人を超えたコースでは「500 Internal Server Error」が発生してレポートが見られない状況が発生してしまいました。

スクリーンショット 2020-11-06 9.57.20.png

発生環境

  • Amazon EC2 T2 (t2.micro)
  • Bitnami Moodle 3.8.2-0 (AWS marketplace版)
  • Apache 2.4.41

サーバから出力されるログ

/opt/bitnami/apache2/logs/error_log

[Thu Nov 05 08:54:06.187727 2020] [substitute:error] [pid 22741:tid 139735763379968] [client 172.31.9.125:3026] AH01328: Line too long, URI /report/progress/index.php, referer: https://hogehoge/course/admin.php?courseid=2
[Thu Nov 05 08:54:06.187877 2020] [proxy_fcgi:error] [pid 22741:tid 139735763379968] (12)Cannot allocate memory: [client 172.31.9.125:3026] AH01075: Error dispatching request to : (passing brigade to output filters), referer: https://hogehoge/course/admin.php?courseid=2

エラーログでググったところ、以下の情報にたどり着きました
[proxy_fcgi:error] - (12)Cannot allocate memory: Latest Bitnami AWS WordPress Stack

こちらはbitnamiのWordPressですが、ログの内容はほぼ同じでした

解決策

とりあえずbitnamiコミュニティ通り、SubstituteMaxLineLengthの値を変更する策をやってみることにしました。

httpd.confの修正

/opt/bitnami/apache2/conf/httpd.confへ以下を追記
SubstituteMaxLineLengthの値を10mに変更します。
ここを見るとデフォルト値は1mぽいですね。

<Location "/">
    SubstituteMaxLineLength 10m
</Location>

Apacheの再起動

> sudo /opt/bitnami/ctlscript.sh restart apache

上記スクリプト実行時に以下のようなメッセージが出力されました。
問題なく再起動できているようです。

Unmonitored apache
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80
Monitored apache

解消したか確認してみる

コースの参加者が20人を超えたコースでも「500 Internal Server Error」にならず、無事活動完了のレポート画面が表示できました!めでたしめでたし。

スクリーンショット 2020-11-06 10.34.30.png

ツイッターでシェア
みんなに共有、忘れないようにメモ

arohajiro

しがない元インフラエンジニアです

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント