いまや、ApacheがWebサーバのデファクトスタンダードであることに異論を唱える人はいないだろう。しかし、ほとんどの人は「デファクトスタンダードだから」Apacheを使っているのではないだろうか。なぜApacheなのか? まずはこの点を再確認してみよう。
日本のインターネット利用者数はすでに2000万人(全世界では約2億人)を突破し、世帯普及率は約25%に達したが、なお急成長を続けている。従って、それだけの利用者に応じられるだけのWebサーバが必要であり、いうまでもなくインターネットに欠かせない存在となっている。
ちなみに、日本国内のサーバ数(JPドメインDNSへの登録数:Webに限らない)は、いまや236万台を超えて世界で第2位を誇っている。もちろん、この数にいまはやりの.com(ドットコム)で登録しているサイト(企業)やDNSに登録されていないサーバは含まれない。
Webサーバの大半を所有するのは、個人でなく法人(企業)になるわけだが、社外への情報発信手段としてWebは欠かせないものとなっている。特に新興企業では、何はともあれWebサイトを立ち上げることが自社のアピールや信頼につながるとさえいわれているほどである。それを裏付けるかのように、中小規模の企業でもインターネット普及率は高水準になり、大企業ではもはや当然のごとく100%に達している。
また、すでにインターネットに接続され、自社内で(Webやメール)サーバを有する企業は軒並み回線速度やサーバを増強している状況である。人気サイトのサーバ構成においては、複数のサーバコンピュータを負荷分散機で連携させ、あたかも1台のサーバコンピュータのように振る舞わせることも珍しくなくなった(図1)。
このように、インターネット(特にWeb)に対する投資が重要なものとなれば、少なからずWebサーバ自体への投資も必要になることはいうまでもない。数年前ならいざ知らず、いまとなってはWebサーバは当たり前の存在であり、必要性などを語る必要さえなくなっているといえる。
そうなると、Webサーバで発信する情報の質、つまり内容が重視されるのが必然の流れだろう。利用者が必要としない情報を並べ立てたところで、そんなサイトは見向きもされなくなるだけだ。そのうえ、利用者はスピーディに情報を獲得することを重要視しているから、高いレスポンスを確保しなくてはならない。
レスポンスが良く、内容が充実していて、必要としている情報を素早く取り出せる。そんなWebサイトを素早く構築し、低いコストで維持することが最も重要な課題とされていることであり、これからのWebサーバに求められていることなのだ。
Webサーバとは、本稿のようなHTMLファイルや、それに付随する画像などのファイルをクライアントコンピュータに配信するサーバコンピュータのことを指す。このとき、クライアントコンピュータではNetscape NavigatorやInternet ExplorerのようなWebブラウザが動作している。サーバコンピュータから配信されるHTMLファイルを解析し、そのほかのファイルと組み合わせて画面上にWebページを表示するためだ。
順序は前後してしまうが、Webブラウザの利用者は閲覧したい情報をURLで指定する。URLには、情報を取得するサーバコンピュータ(www.atmarkit.co.jpなど)と、そのサーバコンピュータから配信してもらうファイル(index.htmlなど)の指定が含まれている。URLによるリクエストを受信したサーバコンピュータは、自分の保存しているファイルの中から指定されたファイルを取り出し、クライアントコンピュータに配信する。このとき、クライアントコンピュータとサーバコンピュータの間では、HTTPやHTTPSと呼ばれるプロトコルが使われているのである(図2)。
当然のことながら、ただサーバコンピュータを用意しただけでこうしたサービスを提供できるわけではない。サーバコンピュータ上に、Webのサービスを提供するソフトウェアをインストールし、適切な設定を施してやる必要がある。本稿で解説するApacheは、Webサーバ上で稼働し、Webサービスを提供するソフトウェアなのである。
ところで、本稿を読んでいただいているからには、皆さんも少なからずApacheに興味があるのだろうと思う。そして、すでにご存じのことと思うが、Apacheは多方面から大きな注目を集めている。では、なぜそれほどまでに注目されるのか。Apacheの特徴とは何かをここでご紹介しよう。
Apacheは、簡単にいってしまえばタダで使えるソフトウェアである。Linuxの普及によって、ライセンスフリーのソフトウェアも珍しくなくなってきたが、コストがかからないのは非常にありがたいことだ。なにしろLinuxとApacheを使えば、ハードウェアと人件費だけでWebサーバを構築できるのだ。
ちなみに、Apacheに次いでよく利用されているMicrosoft IISは、ライセンスフリーとはいいきれない。確かにIIS自体は無償で入手できるが、Windows NT Server(Windows 2000 Server)を購入しなければ利用できないわけで、Windows NT Serverのライセンス料に含まれているとも考えられるからである。それに将来にわたって無償で提供されるという保証もない。
無料である代わりに、Apacheの品質について保証する団体もなければ、問題を解決する義務を持つ組織もない。疑問点があったとしても、それに対して責任を持って回答してくれる機関もない。すなわちApacheは無保証で、ノンサポートのソフトウェアでもあるのだ。
とはいえ、この点をそれほど問題視する必要はない。Apacheのソースコードは、Linuxと同じく多くのボランティアによってメンテナンスされている。疑問や問題点があれば、Apacheのコミュニティに相談すれば、素早く確実な回答と対応が得られるだろう。
こうした対応の早さや蓄積された多くのノウハウは、世界的に大手のベンダでもかなわないほどだ。それでも心配で、ちゃんとしたサポートを得たいのであれば、有料でサービスを提供している企業に相談してみるといい。すでに、日本でもいくつかの企業がApacheの有償サポートサービスを提供している。
筆者も実際にApacheを顧客に導入した実績を持っているが、その信頼性に疑問を感じたことはない。むしろ有償で提供されているソフトウェアよりも信頼でき、圧倒的に便利だと感じることの方が多いくらいだ。
Apacheがいかに優れたソフトウェアで高い信頼性を誇っているのかは、6割を超えるといわれる圧倒的なシェアが一番の証拠になるだろう。もちろん、多くの文献やWebで公開された資料を見ても、その信頼性の高さを裏付けるものばかりだ。そうした資料の1つとして、Netcraftのサイト(http://www.netcraft.co.uk/Survey/)を紹介しておこう(画面1)。
それでもまだ信じられないという方や、自分の目で確かめてみたいという方は、こちらのページ(http://uptime.netcraft.com/graph/)を訪ねてみるといい。このページでは、入力したホスト(「www.atmarkit.co.jp」など)で稼働しているWebサーバの種類を調べ、そのホストの連続稼働時間までも表示してくれる(画面2)。
頻繁にリブートしているからといっても、一概にソフトウェアの問題とは限らないが、いくつかの有名なサイトについて調べてみれば傾向が見えてくる。その結論は自分自身で導き出していただくとして、ここではApacheが高い信頼性を持ち、連続稼働に耐え得るソフトであると主張しておきたい。
高い安定性と軽快な動作。この2つも加わるからこそ、これだけの注目を集めているともいえる。そして、これだけの実績を作れるのも、高い安定性に支えられてのことなのである。これら2つの特徴に関しては、簡単に実証できないためここで説明するのは難しい。やはり、導入実績こそが最大の証拠、といわざるを得ない。もし機会があれば、皆さんも実際に導入して、その軽快さと安定性を試していただきたい。
Apacheの機能については後ほど詳しく紹介するが、その機能は実に豊富で決して不足を感じさせない。それどころか、Microsoft IISやiPlanet Web Server(旧Netscape)のような、市販の製品をも凌駕するほど高機能なのである。
一般的なソフトウェアのように、推奨CPUやメモリ量の提示はないものの、Apacheが非常に軽量なソフトウェアであることに違いはない。OSが起動した状態で、多少なりともマシンの資源に余力があれば、間違いなく起動してくれるだろう。
しかし、起動したからといって、安定した動作をするとは限らない。Webサーバというものは、外部から大量のアクセスを受けるからである。Apacheは、大量のアクセスがあっても軽快に動作するように作られてはいるが、それでもやはり限界がある。大量のアクセスを受ければ、それだけCPUパワーやメモリを必要とするのだ。
Apacheは、LinuxやUNIXプラットフォームはもちろんのこと、MacやWindows NT、OS/2でも動作する。後で紹介するJAPACHE(ジャパッチ)の言葉を借りれば、「VAXとDOS以外なら何でもOK」ということだから、それこそ動作環境の心配はないといえる。
イントラネットのように、限られた人数で使うのであれば少々無理のあるサーバでも構わないだろう。しかし、インターネット上に公開し、一般からのアクセスを受け入れるのであれば、できる限り余裕のある構成をとっておくべきだろう。
このように動作環境を選ばないという特徴は、遅かれ早かれ大きなメリットとしてわれわれに報いてくれることになる。なぜならば、動作環境の違いによって、設定や動作の違いを意識する必要がなくなるからだ。
例えば、Windows NT環境で動作させていたサイトが、アクセスの増加で限界に達してしまったとしよう。このとき考えられるのは、ハードウェアを交換するか、冒頭で述べたように負荷分散機を使ってハードウェアを増設するかだ(図3)。このときApacheを使っていれば、どちらの手段であってもWebサイトに与える影響は軽微なものだ。ディレクトリの表現手法の違いなど、ごくわずかな修正を行うだけである。これがLinuxからSolaris、Linux(PC)からLinux(UNIX)への移行であれば、修正などはまったく必要ない。
また、もう1つのメリットとして、ノウハウを共有できることも挙げられる。イントラネット用(社内)のWebサーバはWindows NT、インターネット用(社外)のサーバはUNIXという場合であっても、どちらかで蓄えた知識がそのまま通用する。このことは、多数の顧客と契約し、それぞれの環境でサイトを構築しなければならないSI業者にとっても大きなメリットになるはずだ。
Copyright © ITmedia, Inc. All Rights Reserved.