• ベストアンサー

redhat 7.0 でApacheでCGI

今、ApacheでWEBサーバーつくったのはいいでんすが、なぜかどのCGIも動きません。Internal Server Eroor がでます。 おそらくhttpd.confの設定だろうと思うのですが、どうやってもうまくいきません。 ちなみにCGIの中身はちゃんとチェック済みです(フリーのCGIスクリプトを3っつくらいためしました)あと、パーミッション設定もチェック済みで、テキストをただ表示させるだけのCGIすら動きません。 よければどなたかhttpd.confの中身のせときます。 どなたかアドバイスと、くわしくhttpd.confの設定がのってるサイトを教えていただけないでしょうか? あと、できればWebminでの設定方法を知っている方おしえていただけないでしょうか? http://ks-pro.dns2go.com/httpd.conf.txt

質問者が選んだベストアンサー

  • ベストアンサー
  • selenity
  • ベストアンサー率41% (324/772)
回答No.7

apacheの開始/停止/再起動は/etc/rc.d/init.d/httpdを使います。 この辺は最低限含まれています。 んで、話を本題に戻して、以下のURLは読みました? 環境変数、.htaccessの編集(それに伴うhttpd.confの設定も含む)が必要そうです。 そんなに無理しなくても通常の使い方で良いのでは? まず通常のインストールで動かす方が先のような気がします。

参考URL:
http://www.webmin.com/webmin/apache.html
sentakuc
質問者

お礼

おそくなりました。 何回もありがとうございました。 結局、再インストールしたらなぜかデフォルトで使えるようになっていて、あっさりとうごいてしまいました。 けど、かなりいじったので勉強になりました。 ありがとうございました。

その他の回答 (6)

  • natural
  • ベストアンサー率37% (419/1115)
回答No.6

うわ~、標準で含まれないものもあるんですね~。(^_^;>selenityさん 大変失礼しました~。>sentakucさん でも、含まれていない場合コマンドラインからのApacheのリスタートってどうやるのでしょう? 通常だと、 apachectl restart とか、パスが通っていなければ /usr/local/apache/bin/apachectl restart とかですよね。 どうやるんだろう? 謎だ・・・。(^_^;

sentakuc
質問者

お礼

おそくなりました。 何回もありがとうございました。 結局、再インストールしたらなぜかデフォルトで使えるようになっていて、あっさりとうごいてしまいました。 けど、かなりいじったので勉強になりました。 ありがとうございました。

  • selenity
  • ベストアンサー率41% (324/772)
回答No.5

今、Redhat 7.1Jに収録されているapache-1.3.19-5.i386.rpmを確認したところapachectlは含まれていませんでした。 www.apache.orgからダウンロードしたrpmなら含まれているかもしれませんが、、、 コマンドラインより、 find / -name apachectl で探してみてください。

  • natural
  • ベストアンサー率37% (419/1115)
回答No.4

>コマンドを入力したところ、ファイルがありませんと言われました。 ちゃんと読んでくださ~い。(^_^; >但し環境によってパスが違うと思いますので調べて下さい と書いたはずです。 Unix系のApacheでapachectlが入っていないものは無いはずですよ。 例示したパスと違うだけです。

  • selenity
  • ベストアンサー率41% (324/772)
回答No.3

やはり設定が悪くて、cgiスクリプトが動作できないのではないでしょうか? たとえば~/public_html/cgi-bin以下でcgiを稼働させようとする場合に、勝手に.htaccessを書いたためにhttpd.confでAllowOverride制約に違反してしまい、その結果Internal Server Errorになっているのではありませんか? 例:httpd.conf内で <Directory /home/*/public_html> AllowOverride None </Directory> なのに、むりやり~/public_html/cgi-bin内の.htaccessで <Directory /home/me/public_html/cgi-bin> Options +ExecCGI </Directory> を指定して、むりやりcgiを動かそうとした。

  • natural
  • ベストアンサー率37% (419/1115)
回答No.2

apachectl configtest は試されましたか? コマンドラインで /usr/local/apache/bin/apachectl configtest といった感じで実行します。(但し環境によってパスが違うと思いますので調べて下さい) 結果が Syntax OK と表示されればhttpd.confは正しいと思いますが、エラーが出たら該当箇所を修正して下さい。

sentakuc
質問者

お礼

アドバイスありがとうございます。 コマンドを入力したところ、ファイルがありませんと言われました。

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

cgiスクリプト内の#!/usr/bin/perl行の場所にちゃんとファイルがありますか?(コマンドのパスが異なっていませんか?) http://ks-pro.dns2go.com/httpd.conf.txt内に記述されているPath名は正しいでしょうか? また<VirtualHost ip.address.of.host.some_domain.com>の設定は正しく記述されていますか? ScriptAlias内にあるhtmlファイルを表示しようとしていませんか?

sentakuc
質問者

補足

パス系は合っています。(パスが間違っていればInternal Server Eroor はでないと思います。) それと、<VirtualHost ip.address.of.host.some_domain.com>は無視していただいて結構です。 表示(実行)しようとしているのは間違いなく拡張子が、CGIのものです。 通常、CGIの設定エラーでしか出ないエラーがサーバの設定のミスのせいで出るのが????なんです。 それにテストに表示させようとしてるものも、かなり単純にテキストを表示させるだけのスクリプトでもちろん拡張子もCGIです。

関連するQ&A

  • LinuxのapacheでCGIが動かない

    RedHatLinux7でイントラネットでWebサーバーを構築しました(apache)で、CGIを動かしたいのですが、動きません。あるサイトで「httpd.conf の AddHandler cgi-script .cgiを生かせばいい」となっていたのでそうしましたが、まだ動きません。あと何を設定すれば良いのですか?(CGIのパーミッションはちゃんとしています。)httpd.confにCGIの記述が他にもありましたが意味がわからずそのままにしています。

  • 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

  • Apacheでのcgi使用についてなんですが・・・

    windowsPCにApacheを組み込んでWWWサーバーとして使用していますが一つ問題が発生したのでどうかお力を分けてくださらないでしょうか? その問題というのは、Apacheで掲示板のcgiが使えないのです。httpd.confをcgiが使えるように書き換えましたし、別のAN HTTPDというサーバーソフトではちゃんと掲示板として機能します。cgi-binの中はcgiが使えるように設定したのですがやはりcgi-bin/bbs/bbs.cgiとするとCGIは動かなくなるのでしょうか?

  • apacheで自宅サーバー cgi設置ができません。

    はじめまして。 よろしくおねがいします。超初心者です。インターネットで色んな サイトをみながら、苦労してサーバーを立ち上げました。 どう調べてもさっぱりわからないことがありまして........ どなたかご教授いただきたくメールさせていただきました。 よろしくお願いいたします。 【質問です】 XPにapacheをインストールして、サーバーを運営中です。 Tinyftpdもインストールして、ftpサーバーも運営中です。 自サイトにcgiファイルを置いてるのですが、全てのファイルの パーミッションが505になり所有者は、nooneになってしまいます。 ffftpで、パーミッションを変更してみたのですが、何度変更しても 505から変わりません。いったいどうすればいいのでしょうか? cgi-binフォルダを作って、httpd.confの設定も間違っていない みたいなのですが、 Forbidden You don't have permission to access..............on this server. となってしまいます。 パーミッションをapacheサーバーで設定できるようにするには、 どうすれば良いのでしょうか?

    • 締切済み
    • CGI
  • Apache2.0とActivePerl5.8でCGIが動作しない

    ご教授願います。  掲題の通り、Win2000ProにApache2.0.48、ActibePerl5.8.1.807をインストールしローカル上にてApacheの動作確認は出来ました。  色々なサイトを調べ、現在のhttpd.confは下記のような設定となっています。 【httpd.confの主な変更点】  1:DocumentRootは別ドライブのフォルダ(C:ではない)に変更(httpd.confのファイル、229行目あたり)  2:同様に<Directory>も1と同じフォルダ(httpd.confのファイル、255行目あたり)  3:Options Indexes FollowSymLinks MultiViews ExecCGI Includesと変更(httpd.confのファイル、269行目あたり)  4:ActivePerlのインストール先は「C:/usr/local/」です。  5:test.cgiの格納場所は1で指定したフォルダと同じです。 【症状】  ブラウザのアドレスに「http://localhost」を入力するとApacheの動作確認画面が出ますが、「http://localhost/test.cgi」を入力すると『Forbidden You don't have permission to access/test.cgi on this server」と表示されます。 知識不足で申し訳ございませんが、よろしくお願いいたします。

  • 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
  • CGI (suEXEC)について!

    CGI (suEXEC)についての質問です! OS: Red Hat Linux 7.3 httpd: Apache 1.3.28 Apacheの設定ファイル httpd.conf 内で設定してある DocumentRoot のディレクトリ内にある CGIを”パーミッション700の場合にのみ”動作するようにする方法はありますでしょうか? suEXECを使用してユーザディレクトリ内のCGIは700で動くようにできたのですが、 httpd.conf 内で設定してある DocumentRoot のディレクトリ内では700だと動かない為。 また、suEXECというものは、ユーザーディレクトリのみに適応されるものなのでしょうか? ご存知の方いらっしゃいましたら、アドバイス等を宜しくお願いします。

  • Fedora7でCGIが動きません

    CGIとPHPを使おうと思い、 Apacheで設定したんですけど CGIとPHP両方共に403 Forbiddenと表示されて You don't have permission to access /test.php on this server. ---------------------------------------------------------------- Apache/2.2.8 (Fedora) Server at 192.168.11.240 Port 80 この様に表示されてしまいます。 エキサイトで翻訳してみると あなたはこのサーバにアクセス/test.phpに許可を持っていません。 って書いて有るようですが如何すればアクセスした人全てに 許可をする事が出来るんですか?Apacheのhttpd.confの何処を修正 すれば宜しいのでしょうか?CGIの方はchmod 755 フォルダ名.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を動かす

    apacheでCGIを動かそうと思っていますが、どうしても出来ません。 環境は以下の通りです。 apache:1.3.35 OS:Windows2000 httpd.confの設定は 1.ScriptAlias /cgi-bin/ の行をコメントアウト 2.Alias /cgi-bin/ "E:/hoge/cgi-bin/"に変更してDirectoryタグを追加 3.AddHandler cgi-script .exeを追加 以上の3点をしましたが、新しく設定したディレクトリのcgiは動作しませんでした。 apacheのmodulesディレクトリの中にmod_alias.soというファイルが有りませんがそれは関係有るのでしょうか? また、apacheとtomcatの連携ということを以前行ったのですが、動かない事と関係あるのでしょうか? 文字数の関係で見づらい説明になっているかと思いますがよろしくお願い致します。