• ベストアンサー

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