Webサーバー「Apache」

Webサーバー「Apache」

 本連載では主にWebサーバーの活用方法を扱っていきますが、ひと口にWebサーバーといってもいろいろな製品があります。その中でも最も多くのWebサイトで使われているのが、オープンソースのApache HTTPサーバー(http://httpd.apache.org/)(以下、Apache)です。最近は多少シェアを落としているものの、Netcraft社の直近の調査(http://news.netcraft.com/archives/2008/07/07/july_2008_web_server_survey.html)では、全世界の49%のドメインで採用されているそうです。

 Apacheは豊富な設定項目を持ち、柔軟なカスタマイズが可能なことから、特に安価な共有レンタルサーバーでは圧倒的な支持を得ています。この連載の主なターゲットもそういったレンタルサーバーですので、これ以降はApacheを前提として設定方法を解説することにします。

 そのほかのWebサーバーとしては、エンタープライズ分野に強いMicrosoft社のIIS(http://www.microsoft.com/japan/windowsserver2003/iis/default.mspx)や、動作が軽く高負荷なサイトに適しているlighttpd(http://www.lighttpd.net/)などの採用が多いようです。また、近年ではmongrel(http://mongrel.rubyforge.org/)やTomcat(http://tomcat.apache.org/)などの開発言語に特化したWebサーバーや、Apacheと高い互換性を保ちつつ高速に動作するLiteSpeed(http://litespeedtech.com/)など、新しいWebサーバーも多く開発されています。要求の多様化に合わせて、今後はさまざまなWebサーバーが適材適所で使われるようになっていくのかもしれません。

.htaccessの概要

 Apacheは非常に柔軟性の高いWebサーバーであると書きましたが、それを象徴する機能が「.htaccess」です。.htaccessはApacheの設定をディレクトリ単位で変更できる設定ファイルで、多くのレンタルサーバーで設定変更の手段として利用されています。この連載で紹介するテクニックの多くもこれを利用しますので、ここで概要を解説しておきます。

 ApacheはWebブラウザからのアクセスがあると、サイトのルートディレクトリからアクセスされたURLまで、順番に.htaccessの存在をチェックしていきます。.htaccessが見つかると、そこに記述された設定を適用し、さらに下層のディレクトリの検索を続けます。このプロセスですべての.htaccessを適用した後に、実際にファイルにアクセスしてWebブラウザにデータを返します。

 CGIの実行許可を例にして.htaccessの動作を図示したのが図2です。Webサイトのルートにある.htaccessがCGIの実行を禁止しているため、「aaa.cgi」は実行できません。しかし、サブディレクトリ内の.htaccessがそれを上書きするので、「bbb.cgi」は実行可能です。このように、Webサイトの階層構造を利用して、わかりやすく柔軟な設定が可能です。

 .htaccessの優れている点は、設定を記述するファイル(.htaccess)がWebサイトのコンテンツと同じディレクトリに存在することです。これなら.htaccessをFTPなどの通常の手順で作成・更新できますので、安価な共有レンタルサーバーでも柔軟な設定変更ができるというわけです。

 なお、一部のレンタルサーバーサービスでは、さまざまな理由で.htaccessの機能の一部、もしくはすべてを無効にしていることがあります。レンタルサーバーを選ぶ際には、事前にどのような機能が利用できるかを機能表やFAQなどで確認し、選択の基準にするとよいでしょう。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30