サーバー管理の基本

2008年9月5日(金)
伊藤 千光

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などで確認し、選択の基準にするとよいでしょう。

白髪になってもプログラムを組んでいたい、元ゲームプログラマーのWebエンジニア。いくつかのゲーム会社を渡り歩いた後、2007年にWebの世界に転身。現在はRuby on Railsを用いた業務システムの開発に従事している。ブログでの情報発信も精力的に展開。WebOS Goodies : http://webos-goodies.jp

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています