□ CGI/Perlの開発環境を整える

  動的コンテンツを配信する上でもっとも良く利用されるのがCGI(CommonGatewayInterfaceの略)と呼ばれるプログラムです。わかりやすく言えばインターネット上のどの端末からでも利用可能な サービスということになります。基本的にはサーバースクリプトと言われるプログラムによってテキストファイルを出力するもので、C言語やRubyあるいはPerlなどのプログラミング言語で書かれています。一般的に、Linuxサーバーで開発されることが多いのでテキスト処理が容易でUNIXコマンドの機能を取り入れたPerlが広く使われています。

通常はローカルでCGIを作成することはあまりありませんが、自作CGIのテストやフリーCGIの動作確認などアップロードする前に必ず行うのが基本マナーということで、以下に開発環境の設定について解説します。MacOSXでは、Perl・Apacheを標準搭載しているので、既にCGIの開発環境が整っています。Windows上でCGIの動作確認をするためにはPerl環境およびWebサーバーが必要となります。PerlおよびWebサーバーアプリケーションは、以下のURLからダウンロードしてください

☆ Apache のインストール

  □APACHEのホームページ http://httpd.apache.org/

 *Apacheは世界中で最も利用されているWebサーバーのことで、httpデーモンと呼ばれるサービスプログラムのことを指します。

Apacheの最新版は下記のURLからダウンロードしてください

  • http://archive.apache.org/dist/httpd/binaries/win32/
  • インストール

    apache_2.2.9-win32-x86-no_ssl-r2.msi(※08年8月時点での最新版)
    ダウンロードしてできたアイコンをクリックするとインストールウィザードがスタートします。

    インストール

    インストール

    インストール

    ※「Network Domain」にlocaldomain 「Server Name」にlocalhost
    「Administrator's Email Address」にはrootを入力します。
    インストール

    ※インストール内容はTypical(標準インストール)を指定すればOKです。 インストール

    ※インストール先を指定します。デフォルトはC:\Program Files\…となります。 インストール

    インストール

    インストール

    インストール

    ※インストールが完了したら、念のため一旦再起動しておきましょう。  次にブラウザを立ち上げ、アドレスバーに http://localhost/ と入力してアクセスしてください。「Apache」のテストページが表示されていればインストールは成功です。

    Apacheの設定はウィンドウシステムと違ってコントロールパネルなどがありません。 全ての設定はCONFファイルを編集して行うので、苦手な方はフリーソフトウェアとして配布されているAnHttpdをお奨めします。

     □AN HTTPD  http://www.st.rim.or.jp/~nakata/

    AN HTTPD は Windows95/98/Me/NT/2000/XP用の HTTP サーバ(Webサーバ)です。 LANにつながっている自宅のWindows マシンからホームページを提供できる他 SSI/CGIをローカルでテストすることができます。 また、設定もGUIボタンの操作で行うことが可能です

    ※AN HTTPDを使用する場合の注意点
     シンガポールのセキュリティ対策団体・SIG^2が明らかにしたところによると、フリーのWebサーバー「AN HTTPD」の最新版であるv1.42nに、同梱の“cmdIS.dll”に起因する2つの脆弱性が存在するとのこと。1つ目の脆弱性は、異常に長い User-Agentなどのヘッダー情報を受け取るとバッファ・オーバーフローが発生し、任意のコードを実行される可能性があるという。2つ目の脆弱性は、ログを偽装できてしまうというもの。これらの脆弱性を修正したバージョンはまだ公開されておらず、同団体や「AN HTTPD」の作者である中田昭雄氏は対応策として、2つの脆弱性の原因となる“cmdIS.dll”の削除を強く勧めている。
    □SIG^2 G-TEC - http://www.security.org.sg/vuln/anhttpd142n-jp.html からの引用
    ※現在の「最新版 AN HTTPD 1.42p」において、この問題は解消されています。

     *AN HTTPDは上記のサイトの関連リンクや付属のREADMEテキストなどを参考に設定をしてください
     インストールが完了し適切な設定がなされていれば、ブラウザを立ち上げURLにhttp://localhost/
    またはhttp://127.0.0.1/と打ち込みENTERキーを押すと最初にインデックスファイルが表示されます。
    この最初にインデックスされるHTMLファイルは一般にホームページと呼ばれ、そのファイルまでの パスをドキュメントルート、ファイルのあるフォルダをドキュメントルートディレクトリと言います 。

    Anhttpd

    通常は、このドキュメントルートディレクトリにホームページを作成しますが 既にローカル内にホームページ用のフォルダがある場合は、パスの設定を変更します。

    ANHTTPDでPHP5を設定する

    ☆ActivePerlのインストール

    ActiveState社のホームページへアクセスし以下の順序に従ってインストールをしてください

    http://www.activestate.com/Products/ActivePerl/

    *ActivePerlは最新版をインストールしてください。現行の最新版はActivePerl5.8.8 Build 822です

     ☆インストールの解説

    1.ダウンロードをクリックして次のページへ進みます

    ActiveState

    2.最新バグレポートやニュースを購読する場合は登録をしてください。
        ダウンロードのみ場合は、特に何も入力せず次へ進んでください

    ActiveState

    3.現行の最新版は ActivePerl5.8.8 です。Windows MSIをクリックしてダウンロードしてください
    *MSIはインストーラ付属、AS Packageはインストーラなしのダウンロードとなります

    ActiveState

    4.ダウンロードが完了するActivePerl-5.8.8.822-MSWin32-x86-280952.msi
     のアイコンが保存先に表示されますので、クリックして実行してください。

      セットアップウィザードに従ってインストールを進めてください
    
      *使用許諾条件は「I accept the terms in the License Agreement」にチェックを入れます
      *PPM3は管理機能やセキュリティアップのためにユーザー情報を送信する機能の追加です
       必要であれば「Enable PPM3 to send profile info to ASPN」にチェック入れて次に進みます
      *「Add Perl to the PATH environment variable」と「Create Perl file extension association」
       の2項目は環境変数にPerlのパスを追加し関連付けを行いますので必ずチェックを入れてください
      *その他はデフォルトのままでウィザードを進めインストールを完了してください
    
    

    5.Perlのインストールを確認するには?

      インストールが完了したらコマンドプロンプト(98/MeはMS-DOSプロンプト)を起動し
      プロンプト上で  perl -v  と入力しENTERキーを押します
      Perlのバージョン情報(英文)が表示されていれば、インストールの成功です

    □C:/Home/ftp/help.html □□□

      Artopix D:\Home>perl -v

     This is perl, v5.8.6 built for MSWin32-x86-multi-thread
     (with 3 registered patches, see perl -V for more detail)

     Copyright 1987-2004, Larry Wall

     Binary build 811 provided by ActiveState Corp. http://www.ActiveState.com
     ActiveState is a division of Sophos.
     Built Dec 13 2004 09:52:01

     Perl may be copied only under the terms of either the Artistic License or the
     GNU General Public License, which may be found in the Perl 5 source kit.

     Complete documentation for Perl, including FAQ lists, should be found on
     this system using `man perl' or `perldoc perl'. If you have access to the
     Internet, point your browser at http://www.perl.org/, the Perl Home Page.