Apache/ja

Apache HTTPサーバは、ウェブサーバーで、インターネット上で最も人気のあるもののひとつです. ]]

マルチプロセッシングモジュール
Apacheのeventまたはworker MPMを使用したい場合にはApacheのthreads USEフラグを有効にしてください:

Apache event MPM を使いたい場合、以下を make.conf に追加します:

Apache worker MPM を使いたい場合、以下を make.conf に追加します:

マルチプロセッシングモジュール(MPM)が何も選択されていない場合はデフォルトのMPMが使用されます. デフォルトのMPMはプラットフォームの機能(threadsサポートなど)によります. 詳細についてはApache の公式ドキュメントを参照してください.

Apache を emerge します:

グローバルなサポート
グローバル USE フラグを有効化することで、他のパッケージの Apache サポートの提供を受けられます. これにより、Apache に依存するパッケージが emerge された場合に が自動的にインストールされます.

USEフラグを設定した後には、システムをアップデートして変更を適用させます:

ファイル
システム上のApache2の動作を設定する、2つの主要なファイルがあります:


 * Gentoo の Apache2 用 init スクリプトの設定ファイル


 * Apache2 サーバーで一般的に用いられている設定ファイル

に配置されている ファイルは Gentoo の init スクリプトの設定ファイルです. このファイルで唯一有効な行は APACHE2_OPTS 変数の行です:

この行のオプションは、全体の設定において特定の部分を有効にしたり無効にしたりするために様々な設定ファイルが利用する記述  を解釈するための定義です. これについては後ほど触れます.

ファイルは Apache サーバーの伝統的な設定ファイルです. 実際には、このファイルは設定の入り口に過ぎません. 設定全体は にある多くのファイルに分割されており、それらは   ディレクティブを使って統合されます. たとえば、 内の  という文は、 にあるファイルのうち名前が  で終わるものをすべて取り込みます.

上記で見たように、またモジュールの設定ファイル(内のファイル)のほとんどが から開始することから、対応する というフラグがの APACHE2_OPTS 変数に設定されていなければ、内のファイルの内容は有効にはなりません. という設定ファイルは例外で から開始しておらず、そのため常に有効になります.

デフォルト
Apache サーバの新規インストール後には、以下のような、異なる設定ファイル類を集約した設定ができあがっています. その入口である から始めましょう.

稼働の第一歩
上記初期設定にあるように、インストール済みのバーチャルホストの  ディレクトリが  にあり、サーバ名は「localhost」です. にはさらに、index.html ファイルがひとつ生成されていますので、正常にインストールができたかどうかを確認するためには http://localhost/ にブラウザでアクセスしましょう.

そのウェブページには「It works!」のメッセージが表示されているはずです.

mod_securityを有効にする
ModSecurity is a rule-based web application firewall that monitors web service traffic, to block attacks exploiting known vulnerabilities.

のインストール:

ファイルの APACHE2_OPTS 変数で モジュールを有効にする:

このモジュールを制御するには、 と ファイルを編集します. ファイルにおすすめの設定が含まれています( https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#A_Recommended_Base_Configuration ). ベースとなる設定を にコピーし、必要に応じて設定を微調整します. ファイルを適当な場所、たとえば に解凍して微調整し、解凍したファイルを  で読み込みます. 最後に Apache を再起動します. サイトの Apache ログファイルでエラーをチェックし、状況に応じて対処してください.

PHP サポートを有効にする
の USE フラグを付けて PHP をインストールし、モジュールを有効にします:

PHP モジュールが動作しているかテストする前に、 ファイルが存在し、以下の定義が記載されているか、確認しましょう.

もしこのファイルがないようなら、作りましょう.

PHPモジュールが動作しているか確認するために、テストページを作成:

そして、を削除するかリネームして、テストページを開きましょう:

PHPの設定が記述された表が見られるでしょう.

PHPのバージョンを変更する
Apache によって処理される PHP のバージョンを変えるには、まず  Server Application Programming Interface (SAPI) で利用可能なバージョンをリストアップします:

選択したバージョンに変更するには:

上の例の  は、先ほど表示したような  の出力の中から選択した番号で置き換えてください.

バーチャルホスト
それぞれのバーチャルホストごとに、  ディレクトリを用意し Apacheデーモンが見つけられアクセス可能なようにしましょう. ディレクトリ内にバーチャルホスト設定ファイルを追加し、その中には この  とホストサーバ名を指定します. また、このホストサーバ名の項目を に追記することも忘れないでください.

apache ユーザ/グループ の所有者権限を、バーチャルホストのファイル群に割り当てます. 以下の例のように コマンドで:

以下に、2つのバーチャルホスト定義例があります. 1つは domainname1.com で、もう1つは domainname2.com です. 本来のホスト自体（ ）は同じでも、 と  のディレクティブがそれぞれ異なります.

IPアドレスベースのバーチャルホスト定義を行うこともまた推奨されています. 管理者はユーザに対して、IPアドレスを通じてサイトへアクセスさせメッセージを掲げられます.

バーチャルホストを挿入したあとには、新たなウェブサイトを有効にするために、ウェブサーバを（完全に）再起動する必要があります.

fcgid 経由の PHP を有効にする
と をインストール. PHP パッケージには、 USE フラグの設定が必要:

ファイルを編集:

必要なディレクトリの作成:

PHP ラッパーへのシンボリックリンクを張る:

モジュールの有効化:

最後に、Apache を再起動して、すでに作成された サイトを確認します. の値は CGI/FastCGI になるはずです.

Apache 2.4でmod_proxy_fcgiを使ってPHP-FPMを使う
PHP-FPM をmod_proxy_fcgi を通じて有効にするには以下の要件を満たす必要があります:
 * >= PHP 5.3
 * >= Apache 2.4

さらに、Apache 2.4 での機能の利用にはいくつかの制限があります:
 * UNIX ソケット経由で PHP-FPM と通信する には >= Apache 2.4.9 が必要です.
 * ProxyPassMatch ではなく SetHandler を使用するには >= Apache 2.4.10 が必要です.

以下の設定は Apache 2.4.10 以降でのみ動作します. この手法は、 ディレクティブに基づいており、メインのサーバー設定か   の設定の中に記載します. UNIX ソケットの場所は、 という設定ファイル内の  ディレクティブによって決まり、サイトや機能ごとに別々に定めることが可能です.

以下の例では、 を Apache の PHP モジュールの設定ファイルに記述しています:

また、ProxPassMatch を使用することもできます -- Apache のバージョンが 2.4.0 から 2.4.8 (これらを含む) の場合はこれが唯一の選択肢です.

デフォルトでは  ディレクティブはソケットに設定されていません. まずソケットファイル用のディレクトリーを作成します:

次に ファイルを以下のように変更します:

そして、 および   のモジュールを有効にします:

Web frameworks and Apache
Some of the web frameworks that can work with Apache are covered on the wiki:


 * Rails
 * Django

HTTPS with TLS certificates from Let’s Encrypt
It is important that any public-facing web server provide "secure" HTTPS access. Often, sites providing HTTPS will be configured to redirect HTTP requests to the HTTPS equivalent URL.

Let’s Encrypt is a not-for-profit certificate authority that issues free TLS certificats. is a utility available in the Gentoo repository for easily requesting and installing TLS certificates, and automatically setting up HTTPS access for Apache.

See the Let’s Encrypt article for information about using. The EFF also have specific instructions on using on Gentoo to configure Apache.

OpenRC
Apache サーバを起動:

Apache を default ランレベルに追加:

Apache サービスを再起動:

Apache の設定ファイルの再読込:

systemd
Apache サーバを起動:

Apache を default ランレベルに追加:

Apache サービスを再起動:

資料
Apache サーバーを適切に設定するのは難しいこともあります. 以下の資料は問題が起こったときに役に立つかもしれません:


 * トラブルシューティングガイド

テスト
Apache2 が動作し listen している IP インターフェースとポートの確認:

localhost で Apache サーバに接続できるかテスト:

接続テストを中断するには + と を入力します.

apr_sockaddr_info_get failed for 
エラー:

apache2: apr_sockaddr_info_get failed for System_Hostname

対処法:

これが発生したら、 ファイルにホスト名を追加してください:

外部の情報

 * Slicehostの記事: Installing Apache on Gentoo
 * Slicehostの記事: Apache configuration files on Gentoo
 * Slicehostの記事: Configuring the Apache MPM on Gentoo
 * Slicehostの記事: Apache configuration on Gentoo
 * Slicehostの記事: Apache Virtual Hosts on Gentoo
 * Slicehostの記事: Enabling and using apache's mod_status on Gentoo
 * apache.org documentation
 * Apache2 mod_pagespeed