
No.1ベストアンサー
- 回答日時:
デフォルトの設定が分からないので確認点だけ、、、
・ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
・AddHandler cgi-script .cgi
・<Directory [ScriptAliasで指定したディレクトリ]>
Options ExecCGI
httpd.confの設定は以上です。
あとは、CGIファイルに「実行属性(x)」パーミッション
が付いているか確認してください。
P.S.
どのようなエラーメッセージが出ているのかが
分かれば、およその見当がつくのですが、、、
この回答への補足
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"の "/usr/local/apache/cgi-bin/"は何を設定するのですか?(初心者なので申し訳ありません。)apacheのところがwwwになっていました。それでOptions ExecCGI
は追加しました。でも動きません。CGIファイルに「実行属性(x)」パーミッションはついています。
NINJA104さんの回答との違いは何でしょうか?どちらもやりましたが・・まだ駄目でした。
No.11
- 回答日時:
むずかしいですねぇ...
となると、該当のCGIスクリプトの中でinclude又はsystem呼出しを行っている追加スクリプトや実行プログラムが見付からないのかもしれません。
jcode.plやnkf等の追加ツールを使用する様なCGIスクリプトになっておりませんか?
もしそれらがサーバ上に存在していたとしても、apacheの実行ユーザ(デフォルトでは"apache"の筈)のパスの通っているディレクトにいなければ動作しません。
CGIスクリプトと同一のディレクトリにそれらも一緒に置くか、またはCGIスクリプトの中で夫々を呼び出している記述を個々の絶対パスに書き換える必要があります。
お騒がせして申し訳ありませんでした。
perlの存在場所を正しく記述していたはずでしたがもう一度見ると間違えておりましたので修正して動かしたら正常に動作しました。
エラーの意味をよくよく考えればそういう意味だったみたいです。(笑)
apacheのコンフィグが間違っているとばかり思っていたのですが・・・単純なエラーでした。(笑)
No.10
- 回答日時:
では、最後に一つ以下の点を確認してください。
sambaで転送したperlスクリプトの改行コードは LF になっていますか?
私の経験では、CR+LF(Win系) や CR(Mac系)のままだと動作致しません。
(エラーとしては、コード501の Internal Server Error が出る筈なのでちょっと違うかな... )
此れでも違う様でしたら、現物を直接チェックしていかないと私も此れ以上は思い付きません。m(_'_;m
この回答への補足
NINJYA104さんの補足に書いているエラーはapacheのエラーLOGの内容です。直接URLにCGIのあり場所を記述したら「エラーです管理者に相談するかエラーLOGに書いてある」と出るので見てみたら、そんな内容でした。sambaで転送して駄目ならFTPで転送しても同じ結果です。スクリプトの実行でファイルがないと怒っているのが何なのかがわかりません。
以前インターネットでCGIを挙げたとき他のユーザーの所に無理やり入れたらCGIが動かなかったことがあります。(それとは今回は関係ないのかな?)
No.9
- 回答日時:
/home/jin/WWW/cgi-bin/cnt.cgi に実体があるのなら、
http://www.foobar.org/~jin/cgi-bin/cnt.cgiで
参照するもののような気がするのですが???
No.8
- 回答日時:
>エラーLOGをみると「そんなファイルまたはディレクトリーがない」
というログとsambaで転送したという事ですが、もしかしてCGIファイル名の拡張子が ~.CGI ← 大文字 になっていませんか?
unixは大文字と小文字を区別しますので、大文字のファイル名でも実行可能にさせたい場合は、
> AddHandler cgi-script .cgi .CGI
と、書き足してあげるか、または必ず小文字に直せば良いでしょう。
この回答への補足
エラーの内容は下記です。
[Sun Apr 15 09:40:44 2001] [error] (2)No such file or directory: exec of /home/jin/WWW/cgi-bin/cnt.cgi failed
[Sun Apr 15 09:40:44 2001] [error] [client 192.168.0.9] Premature end of script headers: /home/jin/WWW/cgi-bin/cnt.cgi
それで、CGIを削除したらスクリプトが無いって言うエラーに変わったのでCGIは動いているのではないかと思いますが、ファイルが無いとういのは確かにファイルを使ってますがCGIの中でちゃんとパスを切っているので見つからないというエラーは理解しがたいのですが・・・パーミッション等の関係で(インターネットサーバー管理者に尋ねるとユーザー・グループ・パーミッションの関係でおかしくなる・・という回答だったので・・)そのようなエラーが出るのでしょうか?
あと別のCGIを動かしても(そのCGIはCGI-BINディレクトリの中のデータファイルを見ているだけですが・・)同じエラーが出ます。
理解範囲を超えております(笑)
No.7
- 回答日時:
間違っていたらごめんなさい。
ScriptAlias行があると、cgiはこのディレクトリに
強制されていたような気がしてます。
以下のようにデフォルトの
#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
をコメントアウトして、
<Directory "/home/*/WWW">
~
Options ExecCGI
~
</Directory>
としては如何でしょうか。
この場合だと、http://hogehoge.com/~hoge/abc.cgi
という形で呼び出すことになるのかなあ?という感じですが、
もしdocumentrootの/var/www/cgi-binを使っているなら、
ScriptAlias は生かしておいて、
usrごとにディレクトリを作って、
SYMB_LINKを~USRからはるのも手だと思います。
この場合だと
~hoge/WWW →/var/www/cgi-bin/hoge
http://hogehoge.com/cgi-bin/hoge/abc.cgi
で呼び出しかなあなんて思ってます。
参考になればとおもいます。
ではでは
参考URL:http://www.apache.org
No.6
- 回答日時:
/home/wwww/cgi-bin/の下においていますか?
この回答への補足
selenityさんのエラーの質問ですが、エラーLOGをみると「そんなファイルまたはディレクトリーがない」というエラーです。しかしながら現実には存在しています。転送をsambaで行ったのですが・・その辺に問題があるのでしょうか?(このCGIはインターネット上では正常に動作しております。)
ken2さんの質問は置いている場所は
/home/ユーザー/WWW/cgi-bin
の下です。
ファイル名をちゃんと認識すれば上手く動作するのではないかと思います・・
No.5
- 回答日時:
基本のお話になりますが、httpd.conf を書き換えた場合、その内容を反映させるには apache(httpd)を再起動させないといけませんが、行っておりますか?
単純にスーパーユーザー(su)にてコンソール又はターミナルのコマンドラインから
/etc/init.d/httpd restart
とタイプすればOKです。
話しの流れから 各ユーザ用ディレクトリ(/home/*/WWW)の下層の任意ディレクトリでCGIを実行させたいのだと推測されますが、その辺りの認識誤りが有ればご指摘ください。
selenityさんと私の先述の内容差は CGIをCGI設置推奨の共通デフォルトディレクトリで行うか否かの違いです。
この回答への補足
再起動は常にしております。(あしからず・・)
>各ユーザ用ディレクトリ(/home/*/WWW)の下層の任意ディレクトリでCGIを実行させたい
その通りです。
では・・どうすればよろしいのでしょうか?
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
RPM のソースパッケージが展開...
-
あり得ない!アーカイブを展開...
-
ファイルが移動できません。
-
Apache2.0で「#exec」コマンド...
-
Apacheのエラーログ【Directory...
-
LinuxでApacheのドキュメントル...
-
Ubuntu、ファイル移動によるエ...
-
FTPでファイルがダウンロードで...
-
Winmerge ファイルの中身は同じ...
-
嫌ってるのに真似してきたりマ...
-
ftpのmgetコマンドの自分の格納...
-
ファイル名で / (スラッシュ...
-
マウントを取る人
-
onedriveの中身を削除したらパ...
-
同期センターのマークが出てま...
-
ファイルの先頭行を全て削除したい
-
教えてください!困ってます。
-
バッチファイルで変数の中身を...
-
Windows10 フォルダ内の自動並...
-
コマンドプロンプトによるフォ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPでファイルがダウンロードで...
-
lsでディレクトリのサイズが409...
-
ファイルが移動できません。
-
RPM のソースパッケージが展開...
-
SSHで現在のディレクトリから移...
-
「E212:書込み用にファイルを開...
-
あり得ない!アーカイブを展開...
-
アパッチでAccessForbiddenがで...
-
aptana インストール手順を教え...
-
SELinux有効でドキュメントルー...
-
Apache:ディレクトリリストの...
-
ファイル所有者を「apache」へ...
-
Ubuntu、ファイル移動によるエ...
-
パーミッションの謎
-
Fedoracore3のApatchとCGI
-
シンボリックリンクでパミッシ...
-
winSCPでlinuxフォルダを作りたい
-
shellscript内のコマンドを、su...
-
Apacheのエラーログ【Directory...
-
書き込み権限がありません
おすすめ情報