Apache 2.0の新機能とその実力
Webサーバはどこまで進化するのか

一志 達也<ichishi@pochi.tis.co.jp>
TIS株式会社
2001/5/12

Apache 2.0の入手とインストール

 公開されたベータバージョンの入手は、別段難しいことではない。http://www.apache.org/またはhttp://httpd.apache.org/にアクセスすれば、容易にベータバージョンの場所が分かるだろう。

 もし、それも面倒だというのであれば、以下のリンクをクリックすればダウンロードが始まるはずだ。ただし、Apacheは進歩が速く、こうしている間にも新しいバージョンが公開されるかもしれない。

gzipで圧縮されたファイル
http://httpd.apache.org/dist/httpd/httpd-2_0_16-beta.tar.gz
compressで圧縮されたファイル
http://httpd.apache.org/dist/httpd/httpd-2_0_16-beta.tar.Z

 ところで、上記のリンクはLinux/UNIX用に作られたソースファイルとコンパイルに必要なファイルの一式である。ApacheといえばLinuxやUNIXのものというイメージが強いのだから、わざわざ説明するまでもないじゃないか、などと思われたのであれば、それはもはや間違いである。

 まだ開発中で最適なパフォーマンスを提供できていない、とされてはいるのだが、少し前からWindows用のApacheが公開されているのだ。Apache 2.0でも今回のベータバージョンからWindows用のファイルが公開されるようになった。以下のリンクをクリックすれば、Windows用のApache 2.0をダウンロードできる。

http://httpd.apache.org/dist/httpd/httpd-2_0_16-beta.zip

 それでは、Apache 2.0をインストールしてみよう。インストール手順は従来とあまり変わらないが、「README」や「INSTALL」といったファイルにはひととおり目を通しておくべきだろう。

autoconfとlibtoolのインストール

 先にも少し触れたとおり、Apache 2.0はビルド・システムが一新されたため、インストールのためにautoconfとlibtoolが必要になる。これらは、いずれもGNUのプロダクトだから、GNUのミラーサーバから入手できる。http://www.gnu.org/order/ftp.htmlにアクセスして、最寄のミラーサーバからダウンロードする。

 インストールはどちらも簡単で、入手したファイルを解凍したらconfigureしてmake、rootユーザーでmake installするだけである。

Apache 2.0のconfigureとmake

 準備ができたところで、Apache 2.0のconfigureを行おう。基本的にこれまでと変わらないから、以前のバージョンをコンパイルした環境が残っているなら、その「config.status」を参考にするとよいだろう。筆者も、1.3.19をコンパイルしたときのconfig.statusを開き、それを編集して流用することにした。

 Apache 2.0で特に違うところがあるとすれば、新しいモジュールとマルチスレッドについてのオプションが用意されていることであろう。モジュールについては、これまで同様「INSTALL」ファイルを参考に、インストールしたいモジュールを選べばよい。

 マルチスレッドについては、「--enable-mpm=」に続いて、利用したいマルチスレッドのタイプを記述する。UNIXの場合は以下の3タイプが用意されているほか、WindowsやBeOS用のタイプも用意されている。

  • mpmt_pthread
    このタイプは、アクセスが集中するとプロセスの数が増えていく。スレッドは、各プロセスごとに決められた数だけ用意される。ちなみに、筆者の環境では、このパラメータだけは、どうしてもうまくインストールできなかった。

  • perchild
    このタイプは、プロセスの数は固定で、スレッドの数がダイナミックに増えていく。もちろん、スレッドの数は最小値と最大値を設定できる。

  • prefork
    このタイプは、従来のApacheと同様の動作を行う。つまり、マルチスレッドではない。

 無事にconfigureの作業が終了したら、あとはmakeしてインストールするだけだ。慣れた方であれば、ダウンロードから始めても1時間足らずですべて完了するだろう。

設定の確認と起動

 インストール後、ディレクトリの構成を見るとこれも1.3.x系との違いは特に見当たらない。設定に関するファイルも同様だ。もちろん、中身に多少の違いはあるし、マルチスレッド関係のパラメータが増えている。

 必要であればこれらのパラメータを調整し、Apache 2.0を起動してみよう。起動の方法も、これまでと変わりなく、「apachectl start」だ。

 もしうまく動いていないようならば、logsディレクトリにあるerror_logをチェックしてみよう。

既存環境からのアップグレード

 最後に、既存環境(Apache 1.3など)から、Apache 2.0への移行について触れておこう。

 残念なことに、以前のApacheからApache 2.0にマイグレーションを行うようなツールは、いまのところ提供されていない。ただ、先にも触れたとおり、Apache 2.0になってもディレクトリ構成や設定に大きな変更はない。従って、既存の設定を参考に、Apache 2.0を設定することはそれほど難しいことでもないだろう。

 また、Apache 2.0とともに配布されているドキュメントを参照すれば、Apache 2.0で変更されたり削除されたディレクティブを知ることもできる。

3/4

Index
Apache 2.0の新機能とその実力
  待ちに待ったベータ版の登場
  2.0の新機能概説
 コアの変更
 マルチスレッドへの対応
 マルチプロトコルのサポート
 IPv6のサポート
 フィルタリング機能の追加
 APIの変更
 新しいビルド・システムの採用
  モジュールの変更
Apache 2.0の入手とインストール
 autoconfとlibtoolのインストール
 Apache 2.0のconfigureとmake
 設定の確認と起動
 既存環境からのアップグレード
  マルチスレッド・モードの検証
 実験開始直後の問題
 高負荷状態における2つのApache
 チューニングはしてみたが
  Apache 2.0は大規模サイトで威力を発揮

Linux Square全記事インデックス


 Linux Squareフォーラム サーバ構築・運用関連記事
連載:Heartbeatでかんたんクラスタリング(連載中)
オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します
特集:Apache 2.2でWebサイトをパフォーマンスアップ!
最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する
連載:実用 Apache 2.0運用・管理術(全8回)
本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える
連載:実用 BIND 9で作るDNSサーバ(全15回)
本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく
連載:実用qmailサーバ運用・管理術(全14回)
本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで
特集:Samba 3.0の全貌 改訂版
Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間