• 締切済み

apacheでcgi

YUNTAKUの回答

  • YUNTAKU
  • ベストアンサー率25% (32/128)
回答No.1

>それで、 >#AddHandler cgi-script .cgi >として、 ><Directory /home/*/WWW> >Options ExecCGI ></Directory> #AddHandler cgi-script .cgi とコメントアウトしたら当たり前、ソースが見えてしまいますよ。 AddHandler cgi-script .cgi として、#をはずしたら言いと思います

jincyan
質問者

補足

#AddHandler cgi-script .cgi はhttpd.confのデフォルトです。この場合デフォルトのScriptAliasの/cgi-bin/ ではCGIは動作するとapacheのマニュアルにありますが?? AddHandler cgi-script .cgi は.htaccessをつかってフォルダ毎のコントロールに使うものだとマニュアルを読みまして受け取ったのですが私の理解能力が不足しているのでしょうか?? 私の知りたかったのはではどうすれば動くかということを伺いたかったのですよ!

関連するQ&A

  • Linux7.2のApacheのCGIについて

    CGIを作成してアクセスしたところInternalServerErrorとなってしまいました エラーログを参照したところ Premature end of script headers; /home/tenchan/public_html/cgi-bin/test.cgi となっていました。 原因がわからず困っておりますもしおわかりの方いらっしゃいましたら教えてください。 アパッチの設定は以下の点を修正しました AddHandler cgi-script .cgiのコメントをはずしました <Directory "/home/*/public_html/cgi-bin"> Options ExecCGI </Directory> test.cgiの内容は #!/usr/bin/perl print "Contetnt-type: text/html\n\n"; print "<HTML><BODY>Hello</BODY></HTML>"; です コンソールで実行した際には「Hello」と表示されたので test.cgiには問題はないと思います また、Linux上で作成しましたので改行コードなどの問題はないと思うのですが 何か参考になるようなアドバイスありましたらよろしくお願いします。

  • CGIフォルダ内でhtmlが見れません。。

    はじめまして。 ウェブサーバー(Vine Linux2.6 r4 , Apache1.3) を使用しています。 cgiフォルダをcgi-bin として、.cgi .pl の拡張子の ものは実行できるのですが、.html は forbidden 403 権限がありませんとしてエラーが出ます。 cgi ディレクトリの設定をこのようにしていますが、 <Directory /home/httpd/cgi-bin> AllowOverride None Options ExecCGI Order allow,deny Allow from all AddHandler image/gif .gif AddHandler image/jpeg .jpeg .jpg .jpe AddHandler image/png .png AddHandler text/html .html .htm ←これでいけると思ってました。 </Directory> うまくいきません。 htmlファイルの属性は644になってます。 これを755とかに変更すると今度はinternal server error となってしまいます。 何が悪いのか おわかりになるかたご回答いただけますでしょうか。 よろしくお願いします。

  • Apache/2.2.13 WebサーバーでCGIが動きません

    ご迷惑をおかけして、すいません。 何方か助けてください。お願いいたします。 OS Redhat Linux Fedora 11 バージョン 1.430 Webサーバー Apache バージョン 2.2.13 perl perl 5.10.0-73.fc11 httpd.confの記述 ------------------------- AddHandler cgi-script .cgi .pl ScriptAlias /cgi-bin/ "/home/www/cgi-bin/" <Directory /home/www/cgi-bin> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> ------------------------ デレクトリー /home/www/cgi-bin 属性(775 rwxrwxr-x) CGIファイル 属性(775 rwxrwxr-x) http://eiwa-up.com/cgi-bin/index.pl http://eiwa-up.com/cgi-bin/index.cgi 同じファイルで拡張子が.plは正常に動作します。 拡張子が.cgiだと動かない状態です。 お忙しい中申し訳ありませんが、何方か助けてください。 お願いいたします。 趣味で無料レンタルCGIをボランティアで提供していたのですが、 先月Linux Laser5が老朽化のためダウンしてしまい、新しくFedora11のwebサーバーを新インストールしているのですが私の知識では解決できそうにありません。無料レンタルCGIで使用していたサーバーのためたくさんの方にご迷惑おかけしている状態です。 なぜ.cgi拡張子だと動作しないのか?解決方法を教えていただけたら憂いしいのですが。よろしくお願いいたします。

  • CGIが使えないのはなぜ?

    こんにちは。 現在Redhat8を使用して、サーバーを作っています。apacheを起動してサイトが表示できるまではOKだったのですが、CGIを使う段階でつまづいています。 httpd.confは様々なサイトを見てそのとおりに編集したのですが、いざCGIを起動するとServerError!となります。Error_logを見ると↓のような妙な文章でした。Permissionなら分かるのですが、、これは何でしょう。 Premature end of script headers: XXX.cgi CGIの先頭のPerl指定は #!/usr/bin/perl にしてあります。何が悪いのか分からず途方にくれています。何かチェックする部分があればどうかご指摘ください。お願いします。パーミッションの設定は完了しており、CGIスクリプト自体も先頭以外はいじっていません。 RedHat8.0 Apache2.0 /home/www/html にHTMLファイル /home/www/cgi-bin にCGIスクリプト ----------------以下関係のありそうなhttpd.confの抜粋 ScriptAlias /cgi-bin/ "/home/www/cgi-bin/" <Directory /home/www/cgi-bin> Options ExecCGI Order allow,deny Allow from all </Directory> AddHandler cgi-script .cgi

  • apacheのCGI設定

     pc9821にFreeBSD(98)をいれapache1.3を起動させています。cgiはlight.cgiというソフトをつかっています。なかなかcgiがうまくいきません。参考ページには public_html / index.html (トップページ) | +-- bbs / light.cgi [755] | admin.cgi [755] ・・・・(省略) +-- lock [777] / | +-- past [777] / 0001.cgi [666] とかかれていますが、実際に私のサーバーにはpublic_htmlというフォルダは存在していなくて /usr/local/www/cgi-binにbbsというフォルダをつくり あとは上のようにしています。またindex.htmlは/usr/local/www/dataのなかにいれて表示してWebサーバーとしてはたらいています。またapacheの/usr/local/etc/apacheのhttpd.confは 関係ありそうな行だけあげると ServerRoot "/usr/local" DocumentRoot "/usr/local/www/cgi-bin" <Directory "/usr/local/www/cgi-bin/bbs"> Options Indexes FollowSymLinks MultiViews <location "/cgi-bin/"> Options ExecCGI AllowOverride AuthConfig Limit Order allow ,deny Allow from all </Location> <IfModule mod_mime.c> TypesConfig /usr/local/etc/apache/mime.types ADDHandler cgi-script .cgi </IfModule> ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/" <Directory "/usr/local/www/cgi-bin/bbs"> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> AddHandler cgi-script .cgi どこがおかしいのかおしえていただけないでしょうか?

    • ベストアンサー
    • CGI
  • apacheのCGI設定について教えてください。

    CGIの勉強のために、古いパソコンに fedora core 4 をインストールしてapache でローカルのテスト用サーバーにしようとしています。 /var/www/html に設置した簡単な perl CGI は動くのですが、同じものをユーザーのホームディレクトリに設置すると、internal server error になってしまいます。 ***** 以下 httpd.confの抜粋です。***** #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride All Options Includes ExecCGI FollowSymLinks SetHandler cgi-script </Directory> AddHandler cgi-script .cgi .pl ************************************** サーバーのエラーログを見ると Premature end of script headers: test.cgi となっています。htmlをprintしているだけのスクリプトで、/var/www/html では動くので、apache の設定の問題かと思っています。 ちょっとカテゴリーが違うかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Perl
  • apache でバイナリのCGIを動かすには

    apache でバイナリのCGIを動かすにはどうすればよいのでしょうか? (なお、プログラム自体に問題は決してありません。『HTTPD』を使うと問題なく動作します) OS:WIN98 C++バイナリのCGIを呼び出すと下記エラーとなります。 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please .... the error. More ... log. - Apache/1.3.12 Server at http://127.0.0.2/ Port 80 最終アクセスログ 127.0.0.1 - - [12/Mar/2001:23:20:27 +0900] "GET /ab.cgi HTTP/1.1" 500 610 最終エラーログ [Mon Mar 12 23:20:25 2001] [error] [client 127.0.0.1] Premature end of script headers: e:/www.homepage/kokucho81/ab.cgi apache の httpd.conf と httpd.conf.default との比較 ** httpd.conf ServerName http://127.0.0.2/ ** httpd.conf.default #ServerName new.host.name ** httpd.conf DocumentRoot "E:/WWW.HOMEPAGE/KOKUCHO81" ** httpd.conf.default DocumentRoot "C:/Apache/htdocs" ** httpd.conf <Directory /> Options FollowSymLinks ExecCGI AllowOverride None ** httpd.conf.default <Directory /> Options FollowSymLinks AllowOverride None ** httpd.conf <Directory "E:/WWW.HOMEPAGE/KOKUCHO81"> ** httpd.conf.default <Directory "C:/Apache/htdocs"> ** httpd.conf Options Indexes FollowSymLinks ExecCGI ** httpd.conf.default Options Indexes FollowSymLinks MultiViews ** httpd.conf AddHandler cgi-script .cgi ** httpd.conf.default #AddHandler cgi-script .cgi そもそも、設定が足りてないんでしょうか? apacheを良く使う方、よろしくお願いします。m(_ _)m

  • RedHatLinux9でCGIがうまく動きません。

    RedHatLinux9でApache2x系なのですが、CGIがうまく動きません。 Server error! The server encountered an internal error and was unable to complete your request. Error message: Premature end of script headers: test.cgi error 500 が出てしまいます。 行った作業としては、 # UserDir public_html の#をはずす #AddHandler cgi-script .cgi の # を外す. # <Directory /home/*/public_html> <略> # Options MultiViews .... <略> # </Directory> の3カ所の # を外し,Options に ExecCGI を追加. /usr/sbin/suexec を削除 という、こちらの掲示板に書いてあった作業を行いました。cgiがまず動くのかどうか確かめるために /var/www/cgi-bin/ にtest.cgi(ほかのサーバで検証したcgiです)を送りましたが見れなかったです。 http://サーバのIP/cgi-bin/test.cgi でよいんですよね、上のcgiを確かめるパス。 これが間違ってたら。。。動かしたいのは一般ユーザの中でcgiが動くようにしたいのです。 パーミッションも問題なかったです。お願いいたします。

  • Apach2.0 ホームディレクトリでCGIが

    こんにちは。 CGIの勉強をしています。 わかる方がいらっしゃいましたら、おしえてください。 ソースは、poderosaでつないでviにて作成。 ブラウザからのアクセス http://XXX.XXX.XXX.XXX/~admin/cgi-bin/test.cgi (test.cgi)755 #!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello\n"; ./test.cgi にて、Helloと表示される (httpd.confに追加したもの) UserDir public_html <Directory /home/*/public_html> AllowOverride All Options IncludesNoExec ExecCGI FollowSymLinks <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> 以下を追加したこともあり↓ <Directory /home/*/public_html/cgi-bin/> AllowOverride None Options ExecCGI SetHandler cgi-script Order allow,deny Allow from all AddHandler cgi-script .cgi </Directory> よろしくおねがいします。

  • CGIが動きません!!

    CGIが動きません。htmlを表示できる状態です。 エラーログには「 couldn't spawn child process: g:/program files/apache group/apache/cgi-bin/hello.cgi」と表示されています。 どうしたら良いのでしょうか? windouw NT 4.0 + Apache version 1.3.19 + Active Perl version 5.005_03 です。 perlの構文チェックは問題なしです。 httpd.confの設定は下記のようにしました。 1.AddHandler cgi-script .cgi を追加。 2.オプションの設定にExecCGIを追加。 <Directory "G:/Program Files/Apache Group/Apache/cgi-bin"> AllowOverride None # Options None Options ExecCGI Order allow,deny Allow from all </Directory>