#X-SendFileを使う理由
通常MoodleでファイルをダウンロードするときはPHPでファイルをメモリに読み込んでから出力するが、X-SendFileを使えばPHPを経由せずにファイルをダウンロードさせられる。
#X-SendFileの設定
##メモ
こちらのメモによりMoodleをインストール済みだとする。mod_xsendfileはメモの手順の途中でインストールしている。
##手順
mod_xsendfile側でX-SendFileを利用可能なディレクトリを指定するため、下記のように2行追加する。
# vi /etc/httpd/conf.modules.d/xsendfile.conf
/etc/httpd/conf.modules.d/xsendfile.conf
LoadModule xsendfile_module modules/mod_xsendfile.so
XSendFile on
XSendFilePath /var/www/moodledata
設定変更後はhttpdを再起動する。
# systemctl restart httpd.service
Moodle側でもX-SendFileを利用するよう明示するする必要があるため、下記の設定をconfig.phpの途中に追記する。
/var/www/html/config.php
$CFG->xsendfile = 'X-Sendfile';
##動作確認
X-SendFile設定後にMoodle上のファイルがダウンロード出来ればOK。今までダウンロード出来ていたファイルがダウンロードできなくなった場合はxsendfile.confの設定を疑う。