動作確認 を するのですが まず ディレクトリを 作成しましょう。
今回は ユーザー aite について行う
$ pwd /home/aite/public_html $ mkdir cgi-bin $ mv test/smp-time-test.cgi cgi-bin/ $ ls -l cgi-bin/ | sed 1d -rw-r--r-- 1 aite users 1588 9月 26日 14:10 smp-time-test.cgi $ chmod 755 cgi-bin/smp-time-test.cgi $ ls -l cgi-bin/ | sed 1d -rwxr-xr-x 1 aite users 1588 9月 26日 14:10 smp-time-test.cgi* $ head -1 cgi-bin/smp-time-test.cgi #!/usr/local/bin/perl -w $ vi cgi-bin/smp-time-test.cgi $ head -1 cgi-bin/smp-time-test.cgi #!/usr/bin/perl -w
ここで ファイルの構成を 見ておきます
# pwd /home/aite/public_html # ls -l | sed 1d -rw-r--r-- 1 aite users 628 Sep 27 15:16 003_test.html drwxr-xr-x 2 aite users 4096 Sep 27 15:16 cgi-bin/ drwxr-xr-x 5 aite users 4096 Sep 27 15:25 u_data/ # ls -l cgi-bin/ | sed 1d -rwxr-xr-x 1 aite users 1563 Sep 27 10:41 smp-time-test.cgi*
まだ index.html は 存在していません 003_test.html の 内容は
# cat 003_test.html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=EUC-JP"> <title>cgi test</title> </head> <body> <p class="small fright"><a href="../index.html">up</a> <h1>cgi test</h1> <p>ほな 試験して 見ましょう</p> <form action="cgi-bin/smp-time-test.cgi" method="post">試験 <input type="submit"> <input type="reset"> </form> <hr> <p class="small fright" ><a href="../index.html">up</a></p> <address class="centf small">Copyright © 2007. <span class="color-gb"><b>fdopstm</b></span> All Rights Reserved. </address> </body> </html>
試験用ですので index.html に 帰りませんが 良しと しましょう。
ブラウザにてアクセス する前に httpd の 再起動を 行わないと いけません
# ps ax | grep http 214 ? S 0:00 /var/data/www/apache2/bin/httpd -k start 217 ? S 0:00 /var/data/www/apache2/bin/httpd -k start 218 ? S 0:00 /var/data/www/apache2/bin/httpd -k start 219 ? S 0:00 /var/data/www/apache2/bin/httpd -k start 220 ? S 0:00 /var/data/www/apache2/bin/httpd -k start 221 ? S 0:00 /var/data/www/apache2/bin/httpd -k start # /etc/rc.d/rc.httpd stop # ps ax | grep http # /etc/rc.d/rc.httpd start # ps ax | grep http 471 ? S 0:00 /var/data/www/apache2/bin/httpd -k start 472 ? S 0:00 /var/data/www/apache2/bin/httpd -k start 473 ? S 0:00 /var/data/www/apache2/bin/httpd -k start 474 ? S 0:00 /var/data/www/apache2/bin/httpd -k start 475 ? S 0:00 /var/data/www/apache2/bin/httpd -k start 476 ? S 0:00 /var/data/www/apache2/bin/httpd -k start # :>error_log # :>access_log # pwd /var/data/www/apache2/logs
ほんじゃ アクセスするべ”http://192.168.0.9/~aite/003_test.html” に アクセス そうして log を みると
# ls -l | sed 1d -rw-r--r-- 1 root root 191 Sep 27 15:45 access_log -rw-r--r-- 1 root root 0 Sep 27 15:44 error_log -rw-r--r-- 1 root root 4 Sep 27 15:34 httpd.pid # cat access_log 192.168.0.5 - - [27/Sep/2007:15:45:12 +0900] \ "GET /~aite/003_test.html HTTP/1.1" 200 628 192.168.0.5 - - [27/Sep/2007:15:45:16 +0900] \ "POST /~aite/cgi-bin/smp-time-test.cgi HTTP/1.1" 200 370
画面に正常に 予定のものが 表示されました。
あと ここでは わざわざ html を 介して cgi に アクセスしていますが 今回の様な cgi では 直接 アクセス しても 期待の 結果は 得られます この様にしたのは データーを 他の ブラウ ザにて 入力された データーを 加工して 色々処理を する というために 行っ ているのであって、 データーを 入手してそれを 加工するということでは 無け れば 、直接 cgi に アクセス すれば 良い事に なります。
にゃんたろう 拝!
2007年 9月24日 (月) 21:12:24 JST 作成