ローカルサーバーテストの方法


  1. まずは、AN HttpdをDLしてきましょう。http://www.st.rim.or.jp/~nakata/
  2. 保存先はコンパイルの時に作った「homepage」フォルダを指定しましょう。そこで解凍すればOKです。
  3. 次にAN Httpdの設定をしましょう。解凍して出てきたファイル(Httpd.exe)をダブルクリックして実行しましょう。
    そしたら、常駐のところにHttpdのアイコンが現われるはずです。そこで右クリックをして、「オプション一般」を選択しましょう。
  4. 設定ウィンドウが開いたら、そこにある、「ドキュメントルート」という部分のテキストボックスに「C:\homepage」と入力して、「CGIを実行する」にチェックを入れて、OKを押しましょう。これで、AN Httpdの設定は終了です。
  5. 次に「homepage」フォルダ内にテストとして、index.htmlを作りましょう。内容としては
    <HTML>
    <BODY>
    <H1>
    テスト♪
    </H1>
    </BODY>
    </HTML>
    ぐらいでいいと思います。
  6. ここで、インターネットの接続設定を変更します。インターネットエクスプローラーの場合しか分からないのですが、インターネットエクスプローラーであれば、ツール→インターネットオプション→接続タブをクリック→LANの設定で「LANにプロキシサーバーを使用する」にチェックが入っていたら、設定の変更が必要です。入っていなかったらそのまま次へ進んでください。
    入っていた場合は詳細設定をクリックして、「次で始まるアドレスにはプロキシを使用しない」という欄に「127.0.0.1」(もちろん半角です)と入力してください。
    そして、OKで閉じていけばOKです。
  7. んじゃ、ローカルテストをします。インターネットエクスプローラーなどのブラウザソフトを立ち上げ、アドレスバーに「127.0.0.1」(もちろん半角です)と入力しましょう。ここで、index.htmlの内容が立ち上がってくると思いますが、いかがでしょうか?
  8. 次に、CGIが動作するかのテストを行います。「homepage」フォルダ内にテストとして、hello.cgiを作りましょう。内容としては
    #!/usr/local/bin/perl
    print "Content-type: text/html\n\n";
    print "<HTML><BODY>\n";
    print "<H2>Hello! WORLD</H2>\n";
    print "</BODY></HTML>\n";
    exit;
    です。そして、先ほどと同様に、アドレスに「127.0.0.1/hello.cgi」と入力すればOKです。
    Hello!WORLDと出てきたでしょうか?
  9. 以上で、動作確認は終了です。次にFFAを起動します。「FFAいく修正バージョン」を起動するにはアドレスに「127.0.0.1/ffaicu/」と入力するだけでOKです。FFAいく修正バージョンは起動したでしょうか?お気に入りに追加してたら、Httpdを起動している状態で、簡単にローカルテストを行えるようになりますよ。
    あとは、自分の思うままに改造をし、ローカルテストでじゃんじゃんテストをして、エラーを出しまくったりしながら、色んな改造をしてきましょう!
  10. 上記でうまくいかない方は以下の中田さんのFAQ集を参照してください。
    (当ページの内容に関する質問を絶対に中田さんへ質問などしないようにしてください。大変迷惑をかけることになります)
    AN HTTP Server FAQ
    (上記はKENT WEBのHPの内容をコピーしたものです。)

    (参考HP:KENT WEB
  11. FFAでのエラーの主な原因を挙げます。
    EVAL ERROR: Unrecognized character \201 at (eval 2) line 204. (main::html_top)
    はsub html_topの中に、全角のスペースが入っていたり、print構文内でないのに何か全角の平仮名が入っていたりするときに出るエラーです。

    EVAL ERROR: Can't modify constant item in scalar assignment at (eval 2) line 279, at EOF (main::html_top)
    はsub html_topの中に命令ではない単語が含まれる時に出てきます。例えば「$」が抜けていたりする時に出るエラーです。

    EVAL ERROR: syntax error at (eval 2) line 280, at EOF syntax error at (eval 2) line 502, near "; }" (main::html_top)
    はsub html_topの中のどこかで「;」が抜けている時に出る、エラーの代表例ですね。これは探すのに苦労します。

    EVAL ERROR: syntax error at (eval 2) line 29, near "; else" syntax error at (eval 2) line 502, near "; }" (main::html_top)
    これは括弧の閉じ忘れの時に出るエラーなんですが、「29行目の; else」となっていることから、29行目のelseの前に括弧を閉じ忘れているとすぐにエラーの箇所が分かるエラーです。また、if文がないのに、いきなりelsifやelseを書いている時もこのエラーが出てきますね.

    EVAL ERROR: Missing right bracket at (eval 2) line 504, at end of line syntax error at (eval 2) line 504, at EOF (main::html_top
    も同じく括弧の閉じ忘れです。ただし、こっちはやっかいです。504行目とありますが、これはsub html_topの最後を示し、どこで括弧を閉じ忘れているのかが断定できないエラーです。一番悩まされるエラーだと思います。こういう場合はsub内を5分割ぐらいして、それぞれを消した状態で作動するかとか、しらみつぶしに探すしかありません。

    定義されていない関数(main::get_cookie)が呼ばれました。
    これは、sub get_cookieがファイル内にないため、呼び出せないと言われるエラーです。ファイル内にsub get_cookieを作るか、&get_cookie;を削除するだけで解消されるエラーです。


    とりあえず、代表的なエラーを挙げてみましたが、他にもいろんなエラーがあると思います。
    「サーバーが見つかりません」と「連打禁止」しか出ないエラーはそのファイルに致命的なエラーがあることを示します。
    これは新たに追加した場所、もしくはそのファイル全体を何分割かして、それぞれを削除して、そのファイルが実行されるかどうかを確認したらいいと思います。