AddHandler cgi-script .cgiを有効にして.htaccess の中にOptions +ExecCGIAllを記述してhttpd.confのowOverride Options としてcgiを実行しようとしたら下記エラーになりました。
[Thu Nov 15 11:16:54 2001] [error] (13)許可がありません: exec of /home/jin/WWW/cgi-bin/tslbbs.cgi failed
[Thu Nov 15 11:16:54 2001] [error] [client 192.168.0.9] Premature end of script headers: /home/jin/WWW/cgi-bin/tslbbs.cgi
それで、
#AddHandler cgi-script .cgi
として、
<Directory /home/*/WWW>
Options ExecCGI
</Directory>
にしたら
cgiのソースが見えてしまいます。
cgiのPermissionsは755になっております。
ScriptAliasで/cgi-bin/ /home/*/WWW/cgi-bin/を記述してOptions ExecCGIにしてもソースが見えてしまいます。
cgiを実行させるのにはどうすればいいのでしょうか??
(以前Linuxを良くわからないときに(今でも解っていませんが・・)同じような質問をここに挙げてその時は単純な自分の間違いで動かなかったのですが単純なソースのミスでした。それで今度はLinuxをインストールをしなおしたら動かなくなったのです。
http://apachetoday.com/news_story.php3?ltsn=2000 …
等覗いてそれをやっても動かないのです。
多分単純なことなのかもしれませんが行き詰まって困っております。
昨日の質問でユーザーのHTMLが見れないのはURLの指定で最後に'/'をつければ問題なく見れました。今はイントラネットでLinuxを動かしているのですが、実際のインターネットでは最後の/は入れたり入れなかったりでも問題なく見れるのですが、正しくは最後に/を入れるみたいですね。)
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>それで、
>#AddHandler cgi-script .cgi
>として、
><Directory /home/*/WWW>
>
>Options ExecCGI
>
></Directory>
>にしたら
>cgiのソースが見えてしまいます。
この手の設定ファイル一般に言えるのですが、
先頭の# は、コメントを表します。
ので、
#AddHandler cgi-script .cgi
なる記述は、コメント(=有効な記述として読んでくれない)として解釈されます。
ので、今回のhttpd.conf に
AddHandler cgi-script .cgi
=「ファイル名の末尾に.cgi がついているファイルはCGIスクリプトとして扱う」
の設定がされているかどうかは、この時点では実は不明です。
(ここでは設定されていません。が、他の場所にあるかもしれません)
もし、.htaccess 内に
AddHandler cgi-script .cgi
と書いてあれば、.htaccess での設定が有効になるように設定されていれば、
(AllowOverride) 設定は有効になると思われます。
/cgi-bin/ 以下のファイルがデフォルトで実行可能になる、というのは、
そのcgi-bin にAlias されたディレクトリについて、<Directory> でCGI が実行可能に設定されているからそうなる話であって、そのAlias を変更した状態では話が変わってくるような気がします。
>cgiのPermissionsは755になっております。
>ScriptAliasで/cgi-bin/ /home/*/WWW/cgi-bin/
>を記述して Options ExecCGIにしてもソースが見えてしまいます。
上記のとおり、コメントになっているために、設定がされていないのではないか、とのご回答があったのだと思います。
長い前置きでしたが、以下に本題を。
状況がつかめないので、可能性があるとしか言えませんが...。
>cgiを実行させるのにはどうすればいいのでしょうか??
>[Thu Nov 15 11:16:54 2001] [error] (13)許可がありません: exec of /home/jin/WWW/cgi-bin/tslbbs.cgi failed
>[Thu Nov 15 11:16:54 2001] [error] [client 192.168.0.9] Premature end of script headers: /home/jin/WWW/cgi-bin/tslbbs.cgi
このエラーメッセージって、cgi 自体は実行されたけど、その実行されたcgi がパーミッションのエラーを起こした場合にもこのように出る気がします。
CGI の実行ユーザ(httpd の実行ユーザか、httpd.conf 内に書いてあるUser/Group が有効ならば、そのユーザ/グループ)でアクセスできるファイルのパーミッションになっているでしょうか?
参考URL:http://www.srs.ne.jp/~north/netdaemon/httpd_conf …
この回答への補足
>先頭の# は、コメントを表します。
>ので、
>#AddHandler cgi-script .cgi
>なる記述は、コメント(=有効な記述として読んでくれな
>い)として解釈されます。
#がコメントなのはわかっております。
GNOMEのapacheの設定で初期設定したのですが、(そのときExecCGIは有効にしておりました)展開されたhttpd.confのAddHandler cgi-script .cgi はコメントになっておりました。
ScriptAliasで記述したフォルダがデフォルトでCGIを実行するときAddHandler cgi-script .cgiは関係ないと思ったのです。(HPでみたapacheのマニュアルにもScriptAliasで記述したフォルダでOption ExecCGIでCGIは動くと書いてあり、AddHandler cgi-script .cgi は任意のフォルダ下の、.htaccessによるCGI実行をさせたいときに使うと書いてあると私は解釈しました。)
ようはtailkuppaさんはCGIを動かすときはAddHandler cgi-script .cgiが必須だと云われているのですね??
>[Thu Nov 15 11:16:54 2001] [error] (13)許可がありません: exec of /home/jin/WWW/cgi-bin/tslbbs.cgi failed
>[Thu Nov 15 11:16:54 2001] [error] [client 192.168.0.9] Premature end of script headers: /home/jin/WWW/cgi-bin/tslbbs.cgi
CGIを実行しようとしてでたメッセージなのは理解できます。apacheのUser・Groupeはnobodyになっております。
jinユーザーは何処のグループにも属していません。
素朴な疑問なんですが、IEでCGIを起動するのにそのLinuxのユーザーまたはグループでなければ起動がかからないのですか??(なら世間の掲示板やチャットは誰でも何故使用できるのでしょうか??)
パーミション755ってことは後の5で誰でも読込と実行が出来ることではないのですか??
(前インストールしたときにCGIがユーザーフォルダで動いたときはOption ExecCGIとするだけで動いたようなきがします・・・が思い違いでしょうか??)
No.2
- 回答日時:
><Directory /home/*/WWW>
>Options ExecCGI
></Directory>
とりあえず、CGIが cgi-bin にあるのなら、ディレクトリの指定は
"/home/*/WWW/cgi-bin"
じゃないでしょうか?
この回答への補足
ScriptAliasで/cgi-bin/ /home/*/WWW/cgi-bin/を記述しているのですが・・・
上の記述はUserDirの記述です。
ScriptAliasで/cgi-bin/があればそこが動くようにマニュアルにあるのですが・・・???
No.1
- 回答日時:
>それで、
>#AddHandler cgi-script .cgi
>として、
><Directory /home/*/WWW>
>Options ExecCGI
></Directory>
#AddHandler cgi-script .cgi
とコメントアウトしたら当たり前、ソースが見えてしまいますよ。
AddHandler cgi-script .cgi
として、#をはずしたら言いと思います
この回答への補足
#AddHandler cgi-script .cgi
はhttpd.confのデフォルトです。この場合デフォルトのScriptAliasの/cgi-bin/ ではCGIは動作するとapacheのマニュアルにありますが??
AddHandler cgi-script .cgi
は.htaccessをつかってフォルダ毎のコントロールに使うものだとマニュアルを読みまして受け取ったのですが私の理解能力が不足しているのでしょうか??
私の知りたかったのはではどうすれば動くかということを伺いたかったのですよ!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
読み方を教えてください
-
FLASHを使用した検索フォーム
-
今
-
EXCELファイルに誰がアクセスし...
-
$ENV{'HTTP_COOKIE'}について
-
空のファイル
-
ラジオボタンのグループ化
-
ブラウザの表示URLを変える方法...
-
Image::Magickの呼び出し
-
MT/カスタムフィールドでのPDF...
-
IIS5.1でCGI Timeoutになる原因...
-
safariでcgiが表示されず cgi...
-
ユーザの所属するグループを取...
-
PostMail パーミッションについて
-
jsRSSの設置方法について【NEW】
-
ASP(IIS?)のエラーについて
-
○.datから情報を取り出し、○.ht...
-
ソースを見せたくないです。
-
プロバイダNifty,接続Tepco光を
-
Fortunefieldの掲示板CGI
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perl 矢印演算子 -> の使い方
-
カタカナを英語やフランス語に...
-
<a href="URL" utn>○○</a> で...
-
株価の動き
-
iframeの中から、親frameのURL...
-
リビングのソファー(皮)のキ...
-
燃焼熱
-
東京ドームから幕張メッセまで...
-
投稿記事にNGワードを見つけた...
-
Aopen Aeolus 6600GT-DVH128 AG...
-
水天宮前・人形町周辺深夜まで...
-
.htaccess で一部の.cgiをアク...
-
歌詞画ってどうやって作るの?
-
十把ひとからげ
-
cgiからcgiを呼び出す方法
-
トーナメント表を自動生成でき...
-
今見ているサイトが何キロバイ...
-
CGIと permissionの問題
-
高崎みさと芝桜公園について
-
SSIを使ってCGIを呼び起こした...
おすすめ情報