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