WEBデザイン・開発講義WEB Design&Development Lecture

WEBサーバーの開発環境:ApacheのPerlスクリプト設定

「WEBサーバーの開発環境」ApacheのPerlスクリプト設定

WEBサーバーでActivePerlスクリプト言語が実行するためのApacheの『httpd.conf』修正とPerl実行動作の確認

『Apache』のコマンドプロンプト『httpd.exe』の操作※画像クリックで拡大表示(リンク)

  1. Apache 2.4のドキュメント参照先は、
    http://httpd.apache.org/docs/2.4/から、「リファレンスマニュアル」などの詳細内容を確認できます。
    Apache 2.4のドキュメント参照先URL
  2. 「httd」用「環境変数」の「path」設定
    コマンドプロンプトの操作を容易にするため、パソコンの「環境変数」の「path」項目に「C:\WEBserver\bin\;」を追加します。(「;」は、設定パスの区切り)
    「環境変数」の「path」項目設定
  3. 「httd」コマンドプロンプトは、「windows」キーを押しながら「R」キーで、『ファイル名を指定して実行』が立ち上がり「cmd」を確認して起動する。
    コマンドプロンプトを起動して「httd」コマンド入力
    「httd」の主なコマンド内容の解説】
    コマンドApacheサーバの制御・機能
    httpd -k install
    httpd -k uninstall
    Windowsサービスの登録/解除
    httpd -k start
    httpd -k stop
    httpd -k restart
    Apacheの起動/停止/再起動
    httpd -vバージョン番号とビルドした日付を表示
    httpd -t設定ファイル『httpd.conf』の文法的なチェック
    OKのとき、「Syntax OK」を表示
    httpd -Vビルドパラメータの確認
    httpd -M組み込まれているモジュール一覧表示
    httpd -L組み込まれているモジュールのディレクティブ一覧表示
    httpd -t -D DUMP_VHOSTS
    httpd -S
    仮想ホストに関する情報表示

  4. 「httd」コマンド実行
    「httd -k stop」(Apache停止)、「httd -k start」(Apache起動)、「httd -k restart」(Apache再起動)、「httpd -v」(Apacheバージョン情報表示)、「httpd -t」(『httpd.conf』の文法的なチェック)のコマンド実行した内容。 「httd」コマンド実行

Apache『httpd.conf』設定ファイルの記述ルール

  1. 「ディレクティブ」(1行の指示子)の記述ルールは、
    ・『#』以降は、コメント扱い
    ・ディレクティブの大文字と小文字の区別なし
    ・ディレクティブと引数は、空白文字又はTABで区切る。
    ・引数に空白文字がある場合は、ダブルクォーテーションで括る
  2. 「コンテナ・ディレクティブ」の記述は、サーバーの一部分だけの設定を有効にしたい場合に利用します。
    
    <コンテナ指示子 引数>
        設定内容
    </コンテナ指示子>
    
    
  • コンテナ・ディレクティブの解説
  • 「IfModule xxx」のコンテナ・ディレクティブは、『特定モジュール(xxx)が組み込まれているかどうか条件判断を行う』ことを意味します。特定モジュール(xxx)の前に『!』があると否定を表します。
  • 「Directory xxx」のコンテナ・ディレクティブは、『特定ディレクトリ(xxx)にディレクティブを適用する』を意味します。'xxx'は、絶対パスを適用します。
    (注)特定ディレクトリ(xxx)は、Perl互換の正規表現の指定も可能です。

『httpd.conf』の設定内容

  1. 「ScriptAlias」ディレクティブは、特定のディレクトリを『CGI』プログラムが動作するディレクトリにしたうえで、仮想ディレクトリとして公開するものです。仮想ディレクトリ「/cgi_bin/」は、
    「"C:/WEBserver/cgi-bin/"」フォルダに設定されていることを確認します。(358行目)
  2. 仮想ディレクトリ「/cgi_bin/」のスクリプト実行指定「Options ExecCGI」を追加する。
    コンテナ・ディレクティブの<Directory "c:/WEBserver/cgi-bin">内のディレクティブを変更。
    
    [1]「Options None」をコメント化(376行目)
        Options None
      →#    Options None に変更して、コメント化
    
    [2]「Options ExecCGI」を追加(378行目)
      →    Options ExecCGI を追加
    
    
    仮想ディレクトリ「/cgi_bin/」のスクリプト実行指定「Options ExecCGI」の追加
  3. 『index.cgi』を追加
    Perlスクリプト言語に対するデフォルトファイル名の登録として、拡張子『.cgi』の『index.cgi』を登録するには、コンテナ・ディレクティブの<IfModule dir_module>内の「DirectoryIndex」ディレクティブに追加。
    
    [1]「index.cgi」を追加(275行目)
        DirectoryIndex index.php index.html
      →DirectoryIndex index.php index.html index.cgi
       のように空白区切りで『index.cgi』を追加
    
    
    Perlスクリプト言語に対するデフォルトファイル名の登録
    (注)1つのフォルダ内に複数のデフォルトファイル名が登録された場合の優先順は、左側からの順になります。
  4. 「AddHandler cgi-script」を有効化して拡張子を追加
    「ScriptAlias」の指定フォルダ以外で『cgi-script』を動作するようにするためには、『AddHandler cgi-script』を有効化して、Perl対象の拡張子「.cgi」「.pl」「.pm」を追加する。
    
    [1]「.cgi」の後に「 .pl .pm」を追加(415行目)
        #AddHandler cgi-script .cgi
      →AddHandler cgi-script .cgi .pl .pm
       のように空白区切りで『 .pl .pm』を追加
    
    
  5. 「Apache」の再起動
    『httpd.conf』の内容を変更・更新した場合には、コマンドプロンプト『httpd -k restart』又は、「Open Apache Monitor」から『Restart』ボタンをクリックして「Apache」の再起動をします。

perlスクリプト設定『httpd.conf』のダウンロード

「Apache」上で『Perl』プログラムの動作確認

  1. 仮想ディレクトリ「C:\WEBserver\cgi_bin\」に『print_env.cgi』プログラムを設置する。
    「/cgi_bin/」に『print_env.cgi』プログラムを設置
  2. 『print_env.cgi』プログラムの内容は、
    「Perl」スクリプト言語の場合、先頭行に「ActivePerl」のインストール場所(パス)の指定が必要ですから、『#!c:/perl/bin/perl』を指定します。プログラムの内容は、環境変数を表示するものです。
    『print_env.cgi』プログラムの内容
  3. 「print_env.cgi」のプログラム実行結果で『httpd.conf』のperlスクリプト設定の動作確認ができます。
    『httpd.conf』のperlスクリプト設定の動作確認

Perlスクリプトの環境変数表示プログラムの
『print_env.cgi』のダウンロード

WEB開発環境の補足説明

WEB開発環境のリンク

参考資料の表示

pagetopへ