Apache Webサーバー_________ |
Apache Web Server |
Apache(アパッチ)は今日のインターネットで最も人気が高いWebサーバーソフトウエアです。その利点はその高速性はもちろん、誰でも無償でダウンロードして使えること、Windows環境でも利用可能であること、絶えずアップグレードと改善が行われている等が挙げられます。反面、UNIXにルーツを持ち商用プログラムとは異なるため、インストールや設定が必ずしも簡単ではありません。ここではWindows環境にこのApacheをインストールして動作させるまでをみてみましょう。またそれぞれの設定ファイルの詳細に付いてもみていくことにしましょう。 実行に必要な動作環境 実行にはCPUの速度よりも、可能な限り大容量のRAM(メモリ)を搭載していることが有利となります。また、TCP/IPが使用可能なネットワークデバイス(LANボード等)を装着していなければなりません。OSはWindows95/98/Me/NT/2000/XPどれでも構いませんが、Windows版ApacheはもともとNT4向けに開発されたため、NT4での実行に最高のパフォーマンスを得られます。また、NT4で実行の場合にはServicePack3以上をインストールしておきます。 Apacheの入手先 ・Apache Webサイト http://httpd.apache.org/download.cgi2003年11月現在の最新バージョンは apache_1.3.29-win32-x86-src.msi です。尚、MSI形式をインストールするにはWindowsインストーラーを必要とする場合があります。同ページ下部にインストーラーの配布先へのリンク(Microsoft公式Webサイト)がありますので、一緒にダウンロードしておきます。 また、CGIの実行環境を構築するためにPerlインタープリタも入手しておきます。ここではActivePerlという人気の高いPerlインタープリタを入手します。 ActivePerlの入手先 ・ActivePerl Webサイト http://www.activestate.com/activeperl2013年3月現在の最新バージョンは ActivePerl 5.16.2 です。Windows用のMSIバイナリをダウンロードします。 Apacheのインストール ダウンロードが完了したらMSIバイナリをダブルクリックして実行します。ダイアログボックスの確認メーセージに従ってセットアップしていきます。[Typical]を選択するとソースコードはインストールされませんが特に問題はないのでこちらを選択します。デフォルトのインストール先は C:\Program Files\Apache Group\Apache となりますが、C:\Apache にインストールしたほうがよいでしょう。これはWindowsNTのサービスとして実行するためと、名前に空白が入っているディレクトリから実行できないバグのあるCGIの存在報告があるためです。 インストールが完了したら念のためマシンを再起動します。 インストール完了後のディレクトリ基本構造は
で構成されます。 ActivePerlのインストール こちらもMSIバイナリをダブルクリックして実行します。一番上の[Modify]を選択し、ダイアログボックスの確認メーセージに従ってセットアップしていきます。インストール先は C:\Perl とするとよいでしょう。 インストールが完了したらWindows95/98/Meはマシンを再起動します。NT/2000/XPでは再起動の必要はありません。その後、パスが通っているかどうか確認するためDOS窓を開いて perl -v と入力します。Perlのバージョン情報が表示されたらインストールは成功です。尚、この環境(C:\Perlにインストール)ではPerlインタープリタバイナリまでのパスは C:\Perl\bin\perl.exe となり、Perlスクリプト作成時の先頭行は #!C:/Perl/bin/perl または #!C:\Perl\bin\perl.exe と指定する必要があります(大文字小文字は問わない)。どうしてもUNIXと同じPerlのパスで使いたい場合(#! /usr/local/bin/perl等)は、まずCドライブ直下にusrというディレクトリを作成し、さらにその中にlocal、さらにbinと作成し(C:\usr\local\bin)、作成したbinディレクトリの中にC:\Perl\binディレクトリ中にある「Perl.exe」、「Perl5.16.2.exe」、「Perl56.dll」、「PerlEz.dll」、「PerlMSG.dll」、「PerlSE.dll」をそれぞれコピーします。その後、Autoexec.batでパス指定されている"SET PATH=C:\Perl\bin"のところを"SET PATH=C:\usr\local\bin"と修正し、再起動します。(但し、**.pmなどのライブラリは使用できません)ApacheでCGIスクリプトを実行するにはApacheでCGIを参照ください。 Apacheの起動 Apacheを起動するには[スタート]-[プログラム]-[Apache httpd Server]-[Control Apache Server]-[Start]を選択します。同様に終了するには[Stop]、再起動するには[Restart]を選択します。無事にスタートするといわゆるDOS窓が開いて Apache/1.3.27 (Win32) running....... と表示されます。うまく起動できない場合にはコマンドラインでの起動を試みます。 ・Apacheのコマンドライン機能一覧
ここまででApacheの準備は完了しました。ここから更に詳しくApacheの設定をみていきますが、そんな暇はない、何が何でも取りあえず今直ぐ動かしたいという方は簡単Apacheを参照してください。 Apacheの設定 Apacheはテキスト形式の設定ファイルをWindowsのメモ帳などを使って編集します。WindowsスタイルのGUI(グラフィカルユーザーインターフェイス)はありません。設定ファイルを編集して保存したらその設定を有効にするためにApacheを再起動します。設定ファイルは C:\Apache\conf ディレクトリ内のhttpd.conf、srm.conf、access.confの3つで構成され、それぞれコメントと指示子の2要素で成り立っています。ただ、srm.conf、access.confは現在使用することを推奨されていません。全ての要素をhttpd.confにまとめたほうが混乱も少ないだろうとの理由です。従って編集が必要なのはhttpd.confのみとなります。
指示子と引数の間は空行で区切ります。尚、Perlと同様#(シャープ)はコメントとして扱われます。またパスを表示する\マークは/(スラッシュ)を使い、パスを指定するときは安全のためパス全体を引用符(")で囲みます。
各指示子を良く見ると、先頭が大文字で始まり、残りは小文字という規則性に気づくかも知れません。しかし、これは一般的な申し合わせ事項であり、特に絶対に守らなければならないということではありません。 httpd.conf httpd.confは指示子と呼ばれるコマンドとその引数で設定され、指示子とその引数を追加したり、削除したり、あるいは組み合わせたりして、Apacheの動作を制御していきます。この指示子には大きく分けて2種類のカテゴリに分類されます。
コア指示子 コア指示子には、サーバー全体の設定に影響するサーバー設定指示子と、特定のディレクトリ、ファイル、ロケーション等にのみ適用するコンテナ指示子があります。そして更に適用範囲の狭い、ディレクトリごとの指示子もあります。 サーバー設定指示子 サーバー設定指示子は、サーバーを設定するためと、サーバー上のファイルや他のオブジェクトを処理する方法を管理します。この指示子はコンテナ指示子内以外の場所ならどこにでも指定することができます。各指示子についての詳細はApacheの設定ファイル(httpd.conf)を参照ください。 コンテナ指示子 コンテナは<Directory ディレクトリ>・・・</Directory>というHTMLタグに似たタグの組み合わせから成り、サーバーの特定のファイルやディレクトリにのみ適用され、Apache全体には適用されません。コンテナ指示子に関しての詳細はコンテナ指示子を参照ください。またこの中のOptions指示子ではさまざまなオプションを指定することができます。 ディレクトリごとの指示子 ディレクトリごとの指示子はサーバー上の個々のディレクトリに適用できます。対象となるディレクトリを指定するには<Directory>ブロックを使うか、対象ディレクトリ内に特別な設定ファイルをおきます。この特別な設定ファイルの名前を .htaccess といいます。つまり、対象ディレクトリに.htaccessという名前のファイルがあれば、Apacheはその中に書かれてある指示子はそのディレクトリだけに適用される設定とみなします。デフォルトでは、Apacheは全ての.htaccessファイルを検索し、その中に特別な指示子が指定されていないかどうかを調べます。この一連の処理はサーバーパフォーマンスの大幅な低下を招く可能性があり、従ってこれを無効にするには明示的に AllowOverride None と指定する必要があります。 モジュール指示子 Apacheにはサーバー設定指示子以外にサーバーの機能を拡張するために指定できるサーバー処理系指示子(モジュール指示子)というものがあります。デフォルトでは20個近いモジュールが組み込まれており、それ以外にも多くのモジュールが用意されてあり、LoadModule指示子によりそれらを追加することができます。モジュール指示子とその機能についての詳細はApacheのモジュール一覧を参照ください。(モジュール:Apacheに機能を追加する小さなプログラムのこと) ・モジュールはこれ以外にも世界中の開発者がそれぞれ独自に開発しており、それらはApacheモジュールの登録サイトであるApache Module Registry https://modules.apache.org/ にて配布されています。MIME(マイム) Apacheはファイルをファイル名拡張子によって判断します。例えば ・名前が.htmまたは.htmlで終わるファイルはHTMLファイルである。・名前が.jpegまたは.jpgで終わるファイルはJPEG画像ファイルである。 Apacheはこのような情報(MIME)をmime.typesというファイルに格納しています。このファイルはhttpd.conf等と同様に C:\Apache\conf ディレクトリにあります。もしもここに指定されていない未知のファイル名が発生した場合にはDefaultType指示子で指定されたファイル(text/plain:プレーンテキスト)として認識します。
尚、Windows版では拡張子の前に.(ドット)を指定しますが、UNIXの場合は指定してはいけません。 また、同じようなものにmagicというファイルがあります。こちらはApacheがファイルの内容を見てその種類を判別できるようにするための情報が収められています。 Apacheのログファイル Apacheではデフォルトでlogsディレクトリにアクセスログとエラーログが記録されます。ログファイルには
があり、これらによりサーバーへのアクセス状態、サーバーの動作状態を監視することができます。ログファイルはApacheの稼動中は開いたままになるため注意が必要です。データがどんどん蓄積されて、急速に大きくなり、ハードディスク領域を大きく占有する可能性があるからです。ログファイルは定期的にローテーションさせるべきです。残念ながらWindows版Apacheには自動でローテーションさせるための機能が備わっていませんので、サーバーを一旦停止してログファイルを別のディレクトリ等に移動し、サーバーを再起動させる必要があります。サーバーが起動するとログファイルは新規作成されます。ログファイルのカスタマイズ等詳細についてはApacheのログファイルを参照ください。 ここでもう一度Apacheの設定ファイル(httpd.conf)を見てみましょう。それぞれの指示子がどういった役割を果たしているのか理解できるはずです。 |
CopyRight (C) 2000-2013 by T.Shiraishi All right reserved 無断転載禁止/リンクフリー |