アパッチ
この記事は「Apache HTTPサーバー」を参照しています
Apache HTTPサーバは(PHPスクリプト言語と共に)Moodleを「実行」するソフトウェアです。他の方法(例えばWindows上のIIS)もありますが、Apache HTTPサーバーはすべてのプラットフォームで非常に人気があります。
Apacheのインストール
インストーラは、ほとんどのプラットフォームでhttps://httpd.apache.org/download.cgiから入手できます。公式のインストール手順はこちらです: http : //httpd.apache.org/docs/2.0/install.html Linuxを使用している場合は、可能であればパッケージ版を使用することをお勧めします。例えばDebian / Ubuntuではそれは単純です:
sudo apt-get apache2を入手してください。
手順については、ご使用のプラットフォーム用の資料を参照してください。 Apacheは必要ならばソースから構築するのが簡単で、PHPのドキュメントにApacheとPHPの両方を一緒に構築するための記事があります - そうする必要はめったにありませんが。
パフォーマンス
スラルカメント
スラッシュ引数の 使用で説明されているように、関数スラッシュ引数はMoodleのさまざまな機能が正しく動作するために必要です。
有効にするには、この行をhttpd.conf 、またはローカルディレクトリの.htaccessファイルに追加します。
AcceptPathInfoがオン
注意:あなたのローカルMoodleインストールフォルダで ".htaccess"を使用する場合、まず "httpd.conf"に "AllowOverride Directive"を含める/有効にする必要があります。また! .htaccessファイルを使用すると、サーバーでパフォーマンスが低下することがあります。
あなたがホスティング会社として1and1を使っているなら、上記はうまくいきません。解決策は、以下の内容でmoodleディレクトリにphp.iniファイルを作成することです。
cgi.fix_pathinfo = 0
PHPをCGIとして使用する際の既知のバグでした。
SSL
Moodleには、サイト全体またはログインページだけでHTTPSを有効にするオプションがあります。どちらの方法でも、WebサーバーがSSL用に構成されている必要があります。
- config.phpの 'wwwroot'パラメータでhttp:// <url>をhttps:// <url>に変更すると、サイト全体のHTTPSが有効になります。
- wwwrootスキーマはhttp://のままにする 'loginhttps'パラメータを設定することで、HTTPSのみのログインが有効になります。
注:https://tracker.moodle.org/browse/MDL-42834:ログインのみのhttpsは非推奨となりMoodle 3.4から削除されました。
ログインのみのhttpsはMoodle 3.3以前の管理画面で[管理]> [セキュリティ]> [HTTPセキュリティ]を選択してボタンをチェックすることで利用できます。 (警告に注意し、下記のsslセクションを参照してください)
Moodle 2.3より前のバージョンクライアントサイドキャッシングのレガシー制限により、サイト全体をHTTPSで実行することはお勧めできませんでした。クライアントブラウザが 'Cache-Control:public'メソッドをサポートしていると仮定すると、これはもはや当てはまりません。これは、このバージョンのMoodleでサポートされているすべてのブラウザがサポートしています。
HTTPSを使用するには、SSL証明書を取得する必要があります。2つの選択肢があります。
- 自己署名証明書を生成します。これはイントラネット上では問題ありませんが、公衆インターネットには適していませんが、公的に使用された場合、ユーザーは認証されたものが信頼できないと警告します。
- ベンダーから証明書を購入します。驚くべき範囲の価格と利用可能な付加価値サービスがあります。無料の証明書を提供しているホスティング会社もあります。
Debianは自分のWikiに自己署名証明書をインストールするための手順を提供し、ApacheをSSL用に設定するための一般的な情報を含んでいます。ベンダー証明書を購入した場合は、通常それをインストールするための指示を受け取ります。
基本的なApache SSL設定は次のようにまとめることができます。
聞く443 NameVirtualHost *:443 <VirtualHost *:443> SSLEngineオン SSLCertificateFile /path/to/your/certificate.crt SSLCertificateKeyFile /path/to/your/certificate.key ... </VirtualHost>