Apacheとは
Apache HTTP Server (アパッチ エイチティーティーピー サーバ)は、世界中でもっとも使われている Webサーバ ソフトウェア であり、大規模な商用サイトから 自宅サーバ まで幅広く利用されている。単に Apache とも称されている。
開発は、 Apacheソフトウェア財団 のApache HTTPサーバプロジェクトで行われている。 Apacheライセンス の下で ソースコード が公開および配布されており、代表的な オープンソース・ソフトウェア の一つである。
特徴
複数のバージョンのサポート
Apacheは、従来の1.3系、新しく開発された2.0系、最新の2.2系の3バージョンをサポートしている。1.3系はセキュリティ関係の修正パッチのみの更新で、2.2系への移行が推奨されている。
- 1.3系
- 安定志向を好むユーザーに利用されている。ノウハウも蓄積されていて十分に“枯れた”バージョンである。
- 2.0系
- 新しい機能を使いつつ安定志向も好むユーザーに利用されている。
- 2.2系
- 最新の機能を好むユーザーに利用されている。
複数のOSに最適化 (MPM)
Apacheは数多くのOSをサポートするために、MPM(マルチ プロセッシング モジュール)という仕組みをとっている。これにより、利用するOSに最適化されたApacheを容易に組み込むことができる。
モジュールによる機能追加
Apacheの機能はモジュールを追加することで拡張できる。Apacheの核となる「Core」がまずあり、そこへモジュールを追加して機能を拡張する。モジュール名は慣習的に「mod_XXX」と付けられる。XXXは機能の概要名である。例えば「mod_dir」「mod_alias」「mod_setenvif」などとなる。
モジュールは「 静的リンク 」または「 動的リンク 」により追加できる。 静的リンク とは、Apacheの実行ファイルそのものにモジュールを組み込む方式である。つまりApacheとモジュールはバイナリ的に一体化して動作する。 動的リンク とは、モジュールを別ファイルとして作成し、必要に応じてモジュールのファイルから機能を呼び出す方式である。この機能を「DSO(Dynamic Shared Object=動的共有オブジェクト)」と呼ぶ。動的リンクの機能を利用するためには、あらかじめ「mod_so」モジュールを静的リンクしておく必要がある。
動的リンクはモジュール機能の呼び出しで静的リンクよりも負荷が高くなる(オーバーヘッドがかかる)デメリットがあるが、再起動のみでモジュールを組み入れたり外したりできるメリットがある。逆に静的リンクは高速にモジュール機能を呼び出せるが、モジュールを入れたり外すためにはApache本体を再コンパイルする必要がある。
プロセスの挙動
Apacheはプロセスの挙動として3つの方式を持っている。
- prefork...






