「Apache」の版間の差分

提供:MoodleDocs
移動先:案内検索
編集の要約なし
 
(2人の利用者による、間の17版が非表示)
1行目: 1行目:
作成中です - [[利用者:Mitsuhiro Yoshida|Mitsuhiro Yoshida]] 2008年6月24日 (火) 02:35 (CDT)
{{Moodleのインストール}}
'''この記事は 'Apache HTTPサーバ' '''に言及しています


'''Apache'''に関して言及される場合、ほとんどの人は「Apache HTTPサーバプロジェクト」のことを考えます。実際、Apacheは多くのプロジェクトを運営する「Apacheソフトウェア財団」を指し、良く知られているにもかかわらず、HTTPサーバはそのプロジェクトのひとつでしかありません。
Apache HTTPサーバは、(PHPスクリプト言語とともに)Moodleを実行するソフトウェアです。代替手段(WindowsのIIS、LinuxのNginx、MacOSなど)がありますが、ApacheHTTPサーバはすべてのプラットフォームで非常に人気があることに注意してください。


Apache HTTPサーバでは、ウェブページをインターネット上 (またはイントラネット、単体のテストマシン上) に公開することができます。Moodelの開発に使用されている[[PHP]]スクリプト言語は、 Apache HTTPサーバに堅く統合されています。Moodleのインストールにおいて、ウェブサーバは必須の構成要素です。Apache HTTPサーバには、バージョン1およびバージョン2の異なる2つのバージョンがあります。バージョン2はバージョン1に置き換えられるべきだったのですが、アーキテクチャが大幅に異なるため、バージョン1も継続してサポートされています。両者ともPHPおよびMoodleでサポートされます。
== Apacheのインストール==
インストーラーは、ほとんどのプラットフォームで http://httpd.apache.org/download.cgi から入手できます。公式のインストール手順は次のとおりです: http://httpd.apache.org/docs/2.0/install.html 。 Linuxを実行している場合は、可能であればパッケージバージョンを使用することをお勧めします。たとえば、Debian/Ubuntuでは、次のようになります。
<pre>
sudo apt-get install apache2
</pre>


Apache HTTPサーバプロジェクトは、以下のように説明されています:


「Apache HTTPサーバプロジェクトは、 UNIXおよびWindows NTを含む、最新オペレーティングシステムのためのオープンソースHTTPサーバを開発および保守する取り組みです。プロジェクトのゴールは、最新のHTTP標準に準拠した、安全で効率の高い拡張可能なサーバを提供することです。
手順については、特定のプラットフォームのドキュメントを参照してください。 Apacheは、必要に応じてソースから簡単にビルドできます。PHPのドキュメントには、ApacheとPHPの両方を一緒にビルドする方法に関する記事が含まれていますが、そうする必要はめったにありません。
 
1996年より、Apacheは最も人気のあるウェブサーバです。2005年11月、Netcraft Web Server Surveyの調査では、インターネット上の70%のウェブサーバがApacheを使用していることが分かりました。このように、Apacheは他の全てのウェブサーバを合わせた数より、さらに幅広く使用されています。」
 
== Apacheのインストール ==
 
通常、Apacheは[[PHP]]および[[MySQL]]と共にインストールされ、この組み合わせはAMPとして知られています。詳細は、[[AMPのインストール]]をご覧ください。
 
Debian/Ubuntu:
apt-get install apache2


==パフォーマンス==
==パフォーマンス==


'''キャッシング'''
[[パフォーマンスの推奨]]を参照してください
 
Apacheでは、イメージのような各種ページ要素をローカルメモリでキャッシュして、ページがリクエストされるたびにApacheに要求しないようブラウザに指示することができます。この設定をどのようにするかOS間で若干異なりますが、以下2つの基本的なステップがあります:
 
# mod_expiresをインストールおよび有効化してください - 詳細はドキュメントまたはmanページをご覧ください。
# 次のコードをバーチャルサーバのconfigファイル内のrootディレクトリ用<directory>セクションに追加してください (または、AllowOverridesが有効の場合、.htaccessファイル):
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 1 week"
  ExpiresByType image/jpeg "access plus 1 week"
  ExpiresByType image/png "access plus 1 week"
  ExpiresByType text/css "access plus 1 week"
  ExpiresByType text/javascript "access plus 1 week"
  ExpiresByType application/x-javascript "access plus 1 week"
  ExpiresByType text/xml "access plus 1 seconds"
</IfModule>
 
この設定の効果は、動的に変わるHTMLおよびXMLを除いて、すべてをキャッシュに保持します。このようにして、ロードタイムを大幅に減らすことが可能です。どのくらいの頻度であなたのイメージが変更されるか等を考慮しながら、キャッシュタイムを調整してください。


詳細は次のサイトをご覧ください: [http://www.metaskills.net/blog/heuristics/sysadmin/how-to-control-browser-caching-with-apache-2 www.metaskills.net]
==スラッシュ引数==


'''サーバ'''
[[スラッシュ引数の使用]]で説明されているように、Moodleのさまざまな機能が正しく機能するには、関数 ''スラッシュ引数'' が必要です。


Apacheサーバは、新たな子プロセス (小さなサブプログラム) を発生させることで、それぞれのコネクションを処理します。実行およびリザーブのため、あなたが許可するこれらの数値は、あなたのサーバがいかに速く動作するかという点に対して、大きなインパクトを与えます。リスク (特にVPSのような、小さなメモリを搭載したサーバ ) は、利用可能なRAMを使い果たして、システムが、はるかに遅いハードディスクのスワップメモリを代わりに使用することになることです。これを避けるため、あなたはサーバに必要な数値のみ伝えるようにする必要があります。以下、128MBラム (最大 384までバースト可能) を搭載したVPSサーバの設定ディレクティブです。この設定で、かなり良く動作します (詳細は [http://www.agnivo.com/tech/vps-mysql-and-apache-optimization-guide-27.html こちら]をご覧ください)。
オンにするには、次の行を ''httpd.conf''、またはローカルディレクトリの ''.htaccess'' ファイルに追加します。


Make a back up of your httpd.conf first. It’s generally found at /etc/httpd/conf/httpd.conf, then open the file with your editor e.g.
AcceptPathInfo On


nano /etc/httpd/conf/httpd.conf
注:ローカルのMoodleインストールフォルダで ".htaccess" を使用する場合は、最初に "httpd.conf" に "AllowOverrideDirective" を含めて有効にする必要があります。
また .htaccessファイルを使用すると、サーバのパフォーマンスが低下することに注意してください。


Then look for these values, which may be spread about a little and change them:
1and1をホスティング会社として使用している場合、上記は機能しません。解決策は、moodleディレクトリに次のコンテンツを含むphp.iniファイルを作成することです。


  Timeout 200
  cgi.fix_pathinfo = 0
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 3
MinSpareServers 5
MaxSpareServers 15
StartServers 5
MaxClients 20
MaxRequestsPerChild 2000
HostnameLookups Off


If you find that you are running out of memory (type
PHPをCGIとして使用する場合、これは既知のバグでした。


top
== SSL ==


if using Linux and look at the swap figure), just lower some of the numbers. Similary, if you have extra memory, you can afford to raise them a bit. Remember to combine tuning of Apache with tuning of your database app.
Moodleには、サイト全体またはログインページのみに対してHTTPSを有効にするオプションがあります。どちらのオプションでも、WebサーバがSSL用に構成されている必要があります。


==SSL==
* config.phpの 'wwwroot' パラメーターでhttp:// を<url>https://<url>に変更すると、サイト全体のHTTPSが有効になります。
*ログインのみのHTTPSは、'loginhttps' パラメータを設定することで有効になります。wwwrootスキーマはhttp://のままにする必要があります。


If you want your website not to be hackable, you need to enable SSL so that your moodle password cannot be easily read by others as it is transmitted (as normal internet communications normally can be). There are 2 options - generate a self-signed certificate, which stops casual network sniffing, but which can ultimately be compromised with enough effort, or purchase a certificate from a vendor (about $35 per year from the cheap ones). Below are instructions for install of a self-signed certificate.
注:ログインのみのhttpsは非推奨になり、Moodle 3.4から削除されました: https://tracker.moodle.org/browse/MDL-42834


'''Debian and Apache2'''
ログインのみのhttpsは、Moodle3.3以前の管理インターフェースの管理 > セキュリティ > HTTPセキュリティでボタンをチェックすることで利用できます。 (警告に注意し、以下のsslセクションを参照してください)


1. generate a certification:
Moodle 2.3より前は、クライアント側のキャッシュに関するレガシー制限のため、HTTPSを介してサイト全体を実行することはお勧めしませんでした。これは、クライアントブラウザが 'Cache-Control:public' メソッドをサポートしていると仮定すると、もはや当てはまりません。これは、このバージョンのMoodleでサポートされているすべてのブラウザがサポートしています。
      apache2-ssl-certificate


for debian etch, apache2-ssl-certificate is no longer available, use make-ssl-cert instead:
HTTPSを使用するには、SSL証明書を取得する必要があります。2つのオプションがあります。
          make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem


2. edit /etc/apache2/ports.conf:
*自己署名証明書を生成します。これは(たとえば)イントラネットでは問題ありませんが、パブリックインターネットには適していませんが、パブリックで使用する場合、証明書は信頼できないと警告されます。
      Listen 80
*ベンダーから証明書を購入します。驚くべき範囲の価格と付加価値サービスが利用可能です。一部のホスティング会社は無料の証明書さえ提供しています。
      Listen 443
3. copy /etc/apache2/sites-available/default to /etc/apache2/sites-available/default-ssl, and change /etc/apache2/sites-available/default:
      NameVirtualHost *:80
      <VirtualHost *:80>
      ...
      </VirtualHost>


and also /etc/apache2/sites-available/default-ssl:
Debianは、自己署名証明書をインストールするための手順を提供し [https://wiki.debian.org/Self-Signed_Certificate on their wiki]、SSL用にApacheを構成するための一般的な情報を含みます。
      NameVirtualHost *:443
ベンダー証明書を購入すると、通常、インストールの手順が表示されます。
      <VirtualHost *:443>
      ...
              SSLEngine on
              SSLCertificateFile /etc/apache2/ssl/apache.pem
      ...
      </VirtualHost>
4. symbolic link the ssl file:
      a2ensite default-ssl
5. don't forget to symbolic link the ssl module:
      a2enmod ssl
6. restart apache and test the connection (e.g. https://localhost/):
      /etc/init.d/apache2 restart


[http://edin.no-ip.com/html/?q=ssl_apache2_2_virtualhost_debian_automatically_https_forwarding reference]
基本的なApacheSSL構成は、次のように要約できます。


== 関連情報 ==
Listen 443
NameVirtualHost *:443
<VirtualHost *:443>
    SSLEngine On
    SSLCertificateFile /path/to/your/certificate.crt
    SSLCertificateKeyFile /path/to/your/certificate.key
    ...
</VirtualHost>


* [http://httpd.apache.org/ The Apache HTTP Server Project homepage]
* [http://en.wikipedia.org/wiki/Apache_HTTP_Server Wikipedia article on the Apache HTTP Server]
* [http://httpd.apache.org/docs/2.0/misc/perf-tuning.html Apache Performance Tuning article at the official homepage]


[[Category:管理者]]
==関連項目==
[[Category:開発者]]


* [http://httpd.apache.org/ ApacheHTTPサーバプロジェクトのホームページ]
* [http://en.wikipedia.org/wiki/Apache_HTTP_Server ApacheHTTPサーバに関するWikiペディアの記事]
* [http://httpd.apache.org/docs/2.0/misc/perf-tuning.html 公式ホームページのApache PerformanceTuningの記事]
* [https://els.earlham.edu/cayaraa/weblog/1468.html MoodleをSSLで動作させる]
* [http://www.krufix.de/ ローカルネットワークとSSLプロキシ経由のインターネットで同じMoodleを2回使用する](ドイツ語)


[[en:Apache]]
[[en:Apache]]
<!--[[pl:Apache]]-->
[[de:Apache]]
[[es:Apache]]

2021年2月8日 (月) 05:23時点における最新版

この記事は '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>


関連項目