- ベストアンサー
Apacheでcgiができないんです。
以下のホームページと同じように、設定したのですが。。。 http://www.futomi.com/lecture/apache/config.html 下のcgiは実行できます。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Apache</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<H2>Welcome to my computer, Apache Server!</H2>\n"; print "</BODY>\n"; print "</HTML>\n"; しかし、下のcgiは実行できません。htmlファイル、cgiファイル共に、あるホームページからコピペしたので、間違いないと思います。ここではhtmlファイルは書きませんが、以下のURLです。 http://www2j.biglobe.ne.jp/~apollo/server/apacuse.html #!/usr/local/bin/perl $countfile= "count.dat"; open(IN, "< $countfile"); $count = <IN>; close(IN); $count++; open(OUT,"> $countfile"); print OUT $count; close(OUT); print "Content-type: text/plain\n\n"; print $count;
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- ApacheでCGIが正しく動かない。
RedHatLinux8をインストールして、 Webサーバーを立てよう~と思い立ててみました。 Apache2.0.40です。 一応htmlファイルはのぞけるようになったんですが、 CGIがちょっとおかしくて・・・ #!/usr/bin/perl print "Content-type: text/html\r\n\r\n"; print "Hello, World."; ↑を書いたtest.plはHello, Worldとちゃんと表示されました。 しかし、掲示板・カウンターを開くと・・・ 「ログファイルを開くことができません」 という主旨のメッセージが表示され、正しく実行できません。 ./log.txt とちゃんと指定しているんですが・・・ そのログファイルを開くとサーバーがCGIをして認識しているらしく、 「InternetServerError」が出て開けない・・・。 CGIの属性は755 ログも緩くして755に設定しました。 それでも状況は変わりません。
- ベストアンサー
- その他(OS)
- CGI勉強中(初心者です)
#!/usr/bin/perl print "content-type:text/html\n\n"; print "<HTML>\n"; print "<head><title>CGI</title></head>\n"; print "<BODY>\n"; print "<H1><FONT COLOR=\"#FF0000\">こんにちは</FONT></H1>\n"; print "</BODY>\n"; print "</HTML>\n"; というCGIつくりました。 プロバイダの説明には Perlの場所 /usr/bin/perl または /usr/local/bin/perl となっていますが、 どこにどう置いて(ホームディレクトリでしょうか?)、どうやって起動させてよいのかさっぱりわかりません。 ご教授ください。
- ベストアンサー
- CGI
- cgi(perl)でパラメータが渡せない
以下のプログラムでnum=9が伝わらないので、ミスをご指摘ください。 グラフィカルなアクセスカウンタを表示させようとしていますが うまくいかないのでテキストモードでデバッグしています。 [ /usr/local/apache2/htdocs/gif-view.html ] <html> <head> <meta http-equiv="Content-type:" content="text/html; charset=UTF-8"> <title>gif-view</title> </head> <body> <iframe src="/cgi-bin/gif-test.cgi?num=9"></iframe> <!-- <img src="/cgi-bin/gif-test.cgi?0" width=50 height=50> --> </body> </html> [ /usr/local/apache2/cgi-bin/gif-view.cgi ] permission は 755 にしています。 #!/usr/bin/perl print "Content-Type: text/plain;\n\n"; print "gif-test.cgi\n"; $prm0 = @ARGV[0]; if($prm0 = "") { print "Param is exist\n"; } else { print "Param is empty\n"; 実行結果として gif-test.cgi Param is empty となります。 httpd.conf で Script Alias /cgi-bin/ "/usr/local/apache2/cgi-bin/" を有効にしています。
- ベストアンサー
- Perl
- CGIのはじめのコ-ド
#!/usr/local/bin/perl print "Content-type: text/html\n"; print "\n"; print "$doctype\n"; print "<HTML>\n"; print "<HEAD>\n"; 上記のCGIの4行目の print "$doctype\n"; は なにをしているのですか、宜しくお願いします。
- ベストアンサー
- CGI
- CGIのログをHTMLで表示
CGIのログ(カウント)をHTMLにSSIで表示させようと思い下記のCGIを考えたのですがうまく表示されません。 皆様のお力をお貸し下さい! [log.dat] L内容 DataSu='***'; (***にはカウント数字が入っています) 上のカウントログをHTML表示させる為にCGIを作る [count.cgi] #!/usr/local/bin/perl #カウントログ読み込み open(IN,"ログまでの相対パス"); # カウンターを読み出す $count = <IN>; #ファイルを閉じる close(IN); #サイト数の表示。 print "Content-type: text/html\n\n"; print "$count"; 上記のCGIを表示させるとDataSu='***';とファイル内容が全て表示されてしまいます。 ***のカウント数だけ表示させるにはどうしたらいいのでしょうか?
- 締切済み
- CGI
- Apacheを入れたのにローカルでCGIが動かない
こんにちは。今CGIの勉強をしています。perlを使っているのですが、サーバーにアップする前にローカルで動作チェックをしようと思い、ApacheとActivePerlをインストールしました。 その後、Apacheを起動して、ローカルのCGIファイルにアクセスしたのですが、ページを表示できませんと出てしまいます。 ping localhostはちゃんと通ります。 環境 OS:WindowsXP HomeEdition SP2 セキュリティーソフト:無し ファイヤーウォール:解除済み Apache設定 Network Domain 127.0.0.1 Server Name 127.0.0.1 Version2.0.58 ブラウザ:IE6.0 プログラム保存先:C:\Program Files\Apache Group\Apache2\htdocs ファイル名:hello.cgi(拡張子表示有にしている。.txtなどは無い) ActivePerl:Version5.6 保存先:C:\Perl\bin(C直下) コード #!C:/Perl/bin/perl print "Content-Type: text/html\n\n"; print "<html>\n"; print "<body>\n"; print "<h1>Hello World!</h1>\n"; print "</body>\n"; print "</html>\n"; exit; 参考にしたサイト http://perl.misty.ne.jp/01.html 以上よろしくお願いします。
- ベストアンサー
- CGI
- 伝言掲示板の作成(超初心者です)
授業の課題で伝言掲示板を作るのですが 行き詰ってるので助けてください。 ファイル名write.htmlで <html> <body> 掲示板プログラム<br> 書き込み内容を指定してください <form action="write.cgi"> <input type="text" name="contents"> <input type="submit"> </form> </body> </html> write.cgiで #!/usr/bin/perl print "Content-type: text/html\n\n"; use CGI qw(:standard); $value = param("contents") ; open(OUT,">contents.txt"); print OUT $value; close(OUT) ; print "<html><body>"; print "書き込みが終了しました"; print "</body></html>"; read.cgiで #!/usr/bin/perl print "Content-type: text/html\n\n"; open(IN,"contents.txt"); $value = <IN>; close(IN); print "<html><body>"; print $value; print "</body></html>" 空のテキストファイルcontents.txtを作成しました。 これで伝言掲示板はできますよね?? では前の書き込みが消えないようにするにはどうした良いですか? あと、装飾したい場合はwrite.htmlにタグを利用して書けばよいのですか?? わかりにくい書き込みですみません。
- ベストアンサー
- CGI
- CGIが文字化けしてしまう。(Perl)
環境 WinXP Apache ActivePerl 開くソフトは「Tera pad」 でやっています。ソースは #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>CGI TEST</TITLE></HEAD>\n"; print "<BODY>ああああ。</BODY>\n"; print "</HTML>\n"; __END__ です。「ああああ」部分が「‚ ‚ ‚ ‚ B」 と表示されます。 どなたか解決方法ご存知の方いらっしゃいましたら ご回答お願いします。
- ベストアンサー
- CGI
- アクセスカウンタについて
#!/usr/local/bin/perl # カウントファイルの読み込み open(IN, "<./count.dat"); $count = <IN>; close(IN); ++$count; # カウントファイルへの書き込み open(OUT, ">./count.dat"); print OUT $count; close(OUT); # サーバ出力 print <<END; Content-type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head><title>Perlあくせすかうんたー</title></head> <body> <p>あなたは……$count番目の訪問者です。</p> </body> </html> END 以上のように書きcount.datを作成して同じディレクトリ内においたのですが、カウントが1から増えません。サーバがいけないのか、スプリクトがわるいのかよくわかりません;; ちなみにサーバはlinuxで構築しています。
- ベストアンサー
- Perl
- Perlをcshスクリプトに書きなおしたい
以下のPerlで書かれたCGIをcshスクリプトに書き直したく思っています。 #!/usr/local/bin/perl # load libraries require ("/usr/local/bin/cgi-lib.pl"); # cancel stdout buffering $| = 1; # header response print "Content-type: text/html\n\n"; print STDOUT "<HTML><HEAD></HEAD><BODY>\n"; &ReadParse; open(COMM, "|./message > ./message.out") || die; $in_text = $in{"Name"}; print COMM "Name: $in_text\n"; ... "Name"という変数名で受け取った文字列を$in_textに代入している ようですが、この辺りの処理、cshではどう書けばよいのでしょうか。
- ベストアンサー
- CGI
- プリンターDCP-J414ONの初期設定で表示されたフォームウェアについて、その役割や設定の効果について調べています。また、この設定が推奨されているかどうかも確認しています。さらに、再度設定をする場合の方法についても解説します。
- プリンターDCP-J414ONの初期設定で表示されたフォームウェアについて調べています。この設定をするとどのような効果があるのかを解説し、推奨されているかどうかも確認しています。また、再度設定をする方法についても解説します。
- プリンターDCP-J414ONの初期設定で表示されたフォームウェアについて調べています。この設定の役割や効果について解説し、推奨されているかどうかも確認しています。再度設定をする場合の方法についても調べています。
お礼
どうもご返事ありがとうございます。あー、そうなんですか?SSIの実行には、他に何か設定がいるとは、どこができいたような気がするんですが。。どこで、聞いたのか忘れてしまいました。 あと、他のページからコピペしてきた、test.cgiってのは、一応実行できます。ただ単に、Welcome to my computer, Apache Server! と表示するだけのものなんですが。 他のホームページのを色々試したんですが、ごく単純なものはどれもできます。(例えば、現在時刻を表示するものとか)しかし、ちょっと手の込んだものとなると表示できない、画面が真っ白だったり、InternalServerErrorとなったりします。 「あなたは、番目のお客様です。」と表示され、肝心の数字の部分が表示されません。 少し、頭を冷やして、他のところでも勉強してこようと思うので。。。どうも、ご返事ありがとうございました。また、どこかで。。。