ローカルマシンにウェブサーバの実行環境をつくる(2)Apacheのインストール

ホーム>Information>ローカルマシンにウェブサーバの実行環境をつくる(2)Apacheのインストール

この情報はお役に立ちましたか?よろしければ皆様にもお知らせください。

  このエントリーをはてなブックマークに追加 mixiチェック  

ウェブサーバソフトをローカルマシンにインストールすることで、自分のコンピュータ上で実際の動作・表示を確認することができるようになります。

ウェブサーバソフトでは定評のあるApache(アパッチ)を利用します。Apacheは無料で配付されているソフトで、レンタルサーバなどにも広く使われるほど信頼と実績があります。

今回は、Apache2.2.15をインストールします。

Apacheのダウンロード

The Apache Software FoundationTheApacheSoftwareFoundationを別ウィンドウで開くにアクセスします。

[HTTP Server]をクリックします。

TheApacheSoftwareFoundationにアクセス

左側[Download!]から、[from a mirror]をクリックしてダウンロードページにジャンプします。

from a mirrorからダウンロードページへ

一番上に最新バージョンが表示されています。alpha版まだまだ安定していないので、その下に書かれている安定版(現時点での最新版Apache 2.2.15)をクリックします。

現時点での最新版が表示されている

[Apache HTTP Server (httpd) 2.2.15 is the best available version]という欄にある、[Win32 Binary without crypto (no mod_ssl)(MSI Installer)にある、[httpd-2.2.15-win32-x86no_ssl.msi]をクリックすると、ダウンロードが始まります。

Apache2.2.15Windows版をダウンロード

Apacheのインストール

ダウンロードしたファイル[httpd-2.2.15-win32-x86-no_ssl.msi]をダブルクリックして実行します。
「Welcome to the Installation Wizard for Apache HTTP Server 2.2.15」が表示されたら、[Next]をクリックします。

Apacheのインストール開始

「Please read the following license agreement carefully.」と表示されます。これは、Apacheを使うにあたっての規約を表示しており、このライセンスに同意しなければインストールはできません。
[I accept the terms in the license agreement]にチェックを入れて、[Next]をクリックします。

ライセンスに同意する

「Read This First」が表示されます。Apacheについての情報が表示されています。[Next]をクリックします。

ReadThisFirstがでたらNextをクリック

「Server Information」が表示されます。

[Network Domain]には、[localhost]と入力します。
[Server Name]には、[localhost]と入力します。
[Administrator's Email Address]には、適当なメールアドレスを入力します。ここを空欄にすると、Apacheの起動エラーとなるので、必ず入力します。

「Install Apache HTTP Server 2.2 programs and shortcuts for」では、[for All Users, on Port 80, as a Service -- Recommended.]をチェックします。

[Next]をクリックします。

ServerInformationを入力

「Setup Type」では、[Typical]を選択します。
[Next]をクリックします。

SetupTypeを指定

「Destination Folder」では、インストール先のフォルダを指定します。
わかりやすく、「C:\Apache」に変更します。

インストール先を指定

「Ready to Install the Program」と表示されたら、[Install]をクリックすると、インストールが始まります。

インストール準備を完了したらインストール開始

下のような表示がされている間は何もせずに待ちます。

Apacheのインストール中の画面

「Installation Wizard Completed」と表示されたらインストールは成功です。
[Finish]をクリックします。

インストール完了

Apacheの設定

Apacheの設定は、「C:\Apache\conf\httpd.conf」のファイルで行います。このファイルをまずテキストエディタで開きましょう。

ドキュメントルートの設定

ドキュメントルートとは、ブラウザに「http://localhost/」と入力したときに、表示されるページが保存してある場所のことです。
つまり、ローカルマシン内でウェブサーバが最初に参照するところで、httpd.confで「DocumentRoot」という文字列を検索します。通常では、

DocumentRoot "C:\apache\htdocs"

と設定されています。例えばこれを、

DocumentRoot "C:\data"

と、変更すれば、Cドライブ直下にある「data」というフォルダ内を参照します。
この場所に、「index.html」を置くと、そのファイルの内容が「http://localhost/」で表示されるようになります。

なお、ドキュメントルートを変更する場合は、

<Directory "~">

の"~"の部分も、同じ内容に設定する必要があります。

<Directory "C:\data">

CGIの許可

PerlでつくったCGIファイルを動作させる場合には、httpd.confファイルを変更しなければなりません(初期設定ではCGIは動作しません)。以下の行を検索します。

Options FollowSymLinks

この行に以下のように文字を追加します。

Options FollowSymLinks ExecCGI

また、以下の行も検索します。

Options Indexes FollowSymLinks

これも同様に文字を追加します。

Options Indexes FollowSymLinks ExecCGI

さらに、以下の行を検索します。

#AddHandler cgi-script .cgi

コメントアウト(#)を削除して、「.cgi」の後に半角スペースを空けてから、「.pl」を追加します。

AddHandler cgi-script .cgi .pl

CGIの設置場所変更

初期設定では、CGIのファイルを設置できる場所が限定されており、それ以外の場所にファイルをおいてもCGIは動作しないようになっています。
ローカルではそのような制限は必要ないので、その制限を解除します。以下の行を検索します。

<Directory "C:\apache\cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

これらの行すべてに先頭に#を挿入してコメントアウトします。

#<Directory "C:\apache\cgi-bin">
#AllowOverride None
#Options None
#Order allow,deny
#Allow from all
#</Directory>

コメントアウトせずに、<Directory "~">の"~"の部分のパスを変更すれば、CGIの設置場所を任意の場所に変更することができます。

インデックスファイルの指定

ブラウザでURLを入力して表示させる場合に、通常はファイル名まですべて入力しなければ表示エラーとなってしまいますが、「http://www.xxx.com/」と末尾をスラッシュにしただけで表示される場合があります。

これは、「URLに特にファイル名の指定がない場合には、このファイルを参照する」というような設定をウェブサーバにしているからです。

このようなファイルの指定がない場合に、最初に参照されるファイルのことを「インデックスファイル」と呼びます。以下の行を検索します。

DirectoryIndex index.html index.html.var

「index.html」と「index.html.var」が、初期設定で決められているインデックスファイル名です。先に書かれている名前のファイルの方が優先的に表示されます。
ここに他のファイル名を追加すれば、それらもインデックスファイルとして認識されます。ここでは、以下のように追加します。

DirectoryIndex index.html index.htm index.php index.cgi index.html.var

これで、ブラウザに「http://localhost/」と入力したときに、「index.html」がなければ、「index.htm」が、それがなければ「index.php」が、それがなければ「index.cgi」が・・・という風に参照されます。

ディレクトリパスを出力させない

Apacheの初期設定では、ブラウザにファイル名を指定せずに「http://www.xxx.com」と入力したときに、インデックスファイルが存在しなかった場合、そのディレクトリに格納されている全てのファイルのリストが表示されてしまいます。

ローカルで動作させるだけならば問題ないかもしれませんが、社内LANや自宅にウェブサーバを構築して公開するような場合には、セキュリティ面からファイルのリストが表示されないようにするべきです。

インデックスファイルがない場合に、ディレクトリリストを表示させず、エラー表示にするには、以下のように設定します。以下の行を検索します。

Options Indexes FollowSymLinks

このIndexesを削除します。

Options FollowSymLinks

関連リンク

よく読まれている記事

UpDate:2010-5-1