投稿日:2003年09月11日 作成鷹の巣

No.12229 ユーザーディレクトリからcgi-bin/Count.cgi(wwwcounter)を実行する方法は?



ユーザーディレクトリからcgi-bin/Count.cgi(wwwcounter)を実行する方法は?

No.12229 投稿時間:2003年09月11日(Thu) 21:44 投稿者名:マーゲン URL:

現在http://www.muquit.com/muquit/software/Count/Count.htmlで配布されている
wwwcountを使っています。
これをホームディレクトリのcgi-bin/Count.cgiで実行していますが、
/~testなどのユーザーディレクトリからでもcgi-bin/Count.cgiで実行できるようにできないでしょうか。
iswebなどもこのwwwcountを利用できますが、cgi-bin/Count.cgiで実行できます。
つまり、ユーザーディレクトリでなく、ホームディレクトリのcgi-binから呼び出していることになります。
これはどういう仕組みなのでしょうか。


ご使用のOSとWebサーバーを明示して下さい。

No.12407 投稿時間:2003年09月20日(Sat) 12:22 投稿者名:鷹の巣 URL:http://sakaguch.com/

> これをホームディレクトリのcgi-bin/Count.cgiで実行していますが、
> /~testなどのユーザーディレクトリからでもcgi-bin/Count.cgiで実行できるようにできないでしょうか。
> iswebなどもこのwwwcountを利用できますが、cgi-bin/Count.cgiで実行できます。
> つまり、ユーザーディレクトリでなく、ホームディレクトリのcgi-binから呼び出していることになります。
> これはどういう仕組みなのでしょうか。

Webページが、http://www.example.com/~test/
CGIカウンタが、
http://www.example.com/~test/cgi-bin/Count.cgi
ではなく、
http://www.example.com/cgi-bin/Count.cgi
で、実行されているということですね。

ご使用のOSとWebサーバーを明示して下さい。


OSはRedhat9、Web鯖はApache1.3.28です。

No.12434 投稿時間:2003年09月21日(Sun) 09:34 投稿者名:マーゲン URL:

> > これをホームディレクトリのcgi-bin/Count.cgiで実行していますが、
> > /~testなどのユーザーディレクトリからでもcgi-bin/Count.cgiで実行できるようにできないでしょうか。
> > iswebなどもこのwwwcountを利用できますが、cgi-bin/Count.cgiで実行できます。
> > つまり、ユーザーディレクトリでなく、ホームディレクトリのcgi-binから呼び出していることになります。
> > これはどういう仕組みなのでしょうか。
>
> Webページが、http://www.example.com/~test/
> CGIカウンタが、
> http://www.example.com/~test/cgi-bin/Count.cgi
> ではなく、
> http://www.example.com/cgi-bin/Count.cgi
> で、実行されているということですね。
>
> ご使用のOSとWebサーバーを明示して下さい。
OSはRedhat9、Web鯖はApache1.3.28です。


ApacheのsuEXEC 機能を使用。

No.12437 投稿時間:2003年09月21日(Sun) 10:48 投稿者名:鷹の巣 URL:http://sakaguch.com/

> > Webページが、http://www.example.com/~test/
> > CGIカウンタが、
> > http://www.example.com/~test/cgi-bin/Count.cgi
> > ではなく、
> > http://www.example.com/cgi-bin/Count.cgi
> > で、実行されているということですね。
> >
> > ご使用のOSとWebサーバーを明示して下さい。
> OSはRedhat9、Web鯖はApache1.3.28です。

Apache HTTP サーバ バージョン 1.3 ドキュメント
http://httpd.apache.org/docs/
の「CGI で SetUserID 実行を使う」
http://httpd.apache.org/docs/suexec.html
を使うことになります。部分引用しますと、

---------------- 引用開始 ----------------
suEXEC 機能により、Apache ユーザは Web サーバを実行しているユーザ ID とは 異なるユーザ ID で CGI プログラムや SSI プログラムを実行することができます。

setuid/setgid 操作、あなたのシステム上でのその操作による様々な効果、 セキュリティレベルについてあなたが理解しているということを含みます。
---------------- 引用終了 ----------------

http://www.example.com/cgi-bin/Count.cgi
を全てのユーザーから、利用可能とするには、各ユーザーのカウンタ用データは、
各ユーザーのディレクトリに設置するように設計するのが、楽かもしれません。


再コンパイルが必要でしょうか?

No.12440 投稿時間:2003年09月21日(Sun) 11:08 投稿者名:マーゲン URL:

> > > Webページが、http://www.example.com/~test/
> > > CGIカウンタが、
> > > http://www.example.com/~test/cgi-bin/Count.cgi
> > > ではなく、
> > > http://www.example.com/cgi-bin/Count.cgi
> > > で、実行されているということですね。
> > >
> > > ご使用のOSとWebサーバーを明示して下さい。
> > OSはRedhat9、Web鯖はApache1.3.28です。
>
> Apache HTTP サーバ バージョン 1.3 ドキュメント
> http://httpd.apache.org/docs/
> の「CGI で SetUserID 実行を使う」
> http://httpd.apache.org/docs/suexec.html
> を使うことになります。部分引用しますと、
>
> ---------------- 引用開始 ----------------
> suEXEC 機能により、Apache ユーザは Web サーバを実行しているユーザ ID とは 異なるユーザ ID で CGI プログラムや SSI プログラムを実行することができます。
>
> setuid/setgid 操作、あなたのシステム上でのその操作による様々な効果、 セキュリティレベルについてあなたが理解しているということを含みます。
> ---------------- 引用終了 ----------------
>
> http://www.example.com/cgi-bin/Count.cgi
> を全てのユーザーから、利用可能とするには、各ユーザーのカウンタ用データは、
> 各ユーザーのディレクトリに設置するように設計するのが、楽かもしれません。
もうapacheはインストール済みなのですが、
再コンパイルが必要でしょうか?


rpmパッケージに入っている???

No.12442 投稿時間:2003年09月21日(Sun) 12:02 投稿者名:鷹の巣 URL:http://sakaguch.com/

> もうapacheはインストール済みなのですが、
> 再コンパイルが必要でしょうか?


http://httpd.apache.org/docs/suexec.html
から、再度、部分引用しますと

---------------- 引用開始 ----------------
第 4 に、これが最後ですが、suEXEC を Apache のデフォルトインストールには含めないことが Apache グループで決定されています。これは、suEXEC の設定には管理者の詳細にわたる慎重な注意が必要だからです。 suEXEC の様々な設定について検討が終われば、管理者は suEXEC を通常のインストール方法でインストールすることができます。 これらの設定値は、suEXEC 機能の使用中にシステムセキュリティを適切に保つために、 管理者によって慎重に決定され指定されることが必要です。 この詳細な手順により、Apache グループは、suEXEC のインストールについて、注意深く十分に検討してそれを使用することを 決定した場合に限っていただきたいと考えています。
---------------- 引用終了 ----------------

と書いてある以上、バイナリインストール(rpm)は、無理だと思いますが、こちら
http://catzila.dyndns.org/sub1.htm#apache_tar
http://www.zdnet.co.jp/help/tips/linux/l0335.html
のインストール例を見ますと、「--enable-suexec --suexec-docroot=/home/httpd/html --suexec-caller=nobody」
で済むのであれば、rpmパッケージに入っている???様にも考えられます。


ソースからコンパイルしました。

No.12443 投稿時間:2003年09月21日(Sun) 12:27 投稿者名:マーゲン URL:

> > もうapacheはインストール済みなのですが、
> > 再コンパイルが必要でしょうか?
>
>
> http://httpd.apache.org/docs/suexec.html
> から、再度、部分引用しますと
>
> ---------------- 引用開始 ----------------
> 第 4 に、これが最後ですが、suEXEC を Apache のデフォルトインストールには含めないことが Apache グループで決定されています。これは、suEXEC の設定には管理者の詳細にわたる慎重な注意が必要だからです。 suEXEC の様々な設定について検討が終われば、管理者は suEXEC を通常のインストール方法でインストールすることができます。 これらの設定値は、suEXEC 機能の使用中にシステムセキュリティを適切に保つために、 管理者によって慎重に決定され指定されることが必要です。 この詳細な手順により、Apache グループは、suEXEC のインストールについて、注意深く十分に検討してそれを使用することを 決定した場合に限っていただきたいと考えています。
> ---------------- 引用終了 ----------------
>
> と書いてある以上、バイナリインストール(rpm)は、無理だと思いますが、こちら
> http://catzila.dyndns.org/sub1.htm#apache_tar
> http://www.zdnet.co.jp/help/tips/linux/l0335.html
> のインストール例を見ますと、「--enable-suexec --suexec-docroot=/home/httpd/html --suexec-caller=nobody」
> で済むのであれば、rpmパッケージに入っている???様にも考えられます。
いや、Apacheをインストールした時は、
RedHatのRPMでなく、var1.3.28をダウンロードし、
ソースからコンパイルしたのですが。


ScriptAliasMatchでアクセスはできますが・・・。

No.12445 投稿時間:2003年09月21日(Sun) 12:46 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/

こんにちは。

> > > これをホームディレクトリのcgi-bin/Count.cgiで実行していますが、
> > > /~testなどのユーザーディレクトリからでもcgi-bin/Count.cgiで実行できるようにできないでしょうか。
> > > iswebなどもこのwwwcountを利用できますが、cgi-bin/Count.cgiで実行できます。
> > > つまり、ユーザーディレクトリでなく、ホームディレクトリのcgi-binから呼び出していることになります。
> > > これはどういう仕組みなのでしょうか。
> >
> > Webページが、http://www.example.com/~test/
> > CGIカウンタが、
> > http://www.example.com/~test/cgi-bin/Count.cgi
> > ではなく、
> > http://www.example.com/cgi-bin/Count.cgi
> > で、実行されているということですね。
> >
> > ご使用のOSとWebサーバーを明示して下さい。
> OSはRedhat9、Web鯖はApache1.3.28です。

RedHat9でapache1.3.28ですか?
下記のように、ScriptAliasをコメントアウトして、ScriptAliasMatchで
/usr/local/apache/cgi-binディレクトリ配下にアクセスできるはずですが、
鷹の巣さんがおっしゃるように、このCGIはユーザ毎のデータ管理ができるの
でしょうか?

#ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/"
ScriptAliasMatch /cgi-bin(.*) /usr/local/apache/cgi-bin$1


データの管理方法。

No.12447 投稿時間:2003年09月21日(Sun) 13:33 投稿者名:マーゲン URL:

> こんにちは。
>
> > > > これをホームディレクトリのcgi-bin/Count.cgiで実行していますが、
> > > > /~testなどのユーザーディレクトリからでもcgi-bin/Count.cgiで実行できるようにできないでしょうか。
> > > > iswebなどもこのwwwcountを利用できますが、cgi-bin/Count.cgiで実行できます。
> > > > つまり、ユーザーディレクトリでなく、ホームディレクトリのcgi-binから呼び出していることになります。
> > > > これはどういう仕組みなのでしょうか。
> > >
> > > Webページが、http://www.example.com/~test/
> > > CGIカウンタが、
> > > http://www.example.com/~test/cgi-bin/Count.cgi
> > > ではなく、
> > > http://www.example.com/cgi-bin/Count.cgi
> > > で、実行されているということですね。
> > >
> > > ご使用のOSとWebサーバーを明示して下さい。
> > OSはRedhat9、Web鯖はApache1.3.28です。
>
> RedHat9でapache1.3.28ですか?
> 下記のように、ScriptAliasをコメントアウトして、ScriptAliasMatchで
> /usr/local/apache/cgi-binディレクトリ配下にアクセスできるはずですが、
> 鷹の巣さんがおっしゃるように、このCGIはユーザ毎のデータ管理ができるの
> でしょうか?
>
> #ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/"
> ScriptAliasMatch /cgi-bin(.*) /usr/local/apache/cgi-bin$1
データの管理方法は、
HTMLに
<IMG src="/cgi-bin/Count.cgi?df=test">を記入すると、
/usr/local/etc/Count/data ディレクトリにtest.datが自動的に作られ、カウントするという仕組みです。


肝心のScriptAliasMatchの効果は?

No.12449 投稿時間:2003年09月21日(Sun) 15:02 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/

こんにちは。

> > #ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/"
> > ScriptAliasMatch /cgi-bin(.*) /usr/local/apache/cgi-bin$1
> データの管理方法は、
> HTMLに
> <IMG src="/cgi-bin/Count.cgi?df=test">を記入すると、
> /usr/local/etc/Count/data ディレクトリにtest.datが自動的に作られ、カウントするという仕組みです。

HTMLの書き方を間違えると、他のカウンタをいじってしまうと言うことですかね。
ところで、肝心のScriptAliasMatchの効果は?


参考になりました。

No.12456 投稿時間:2003年09月21日(Sun) 21:44 投稿者名:マーゲン URL:

> こんにちは。
>
> > > #ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/"
> > > ScriptAliasMatch /cgi-bin(.*) /usr/local/apache/cgi-bin$1
> > データの管理方法は、
> > HTMLに
> > <IMG src="/cgi-bin/Count.cgi?df=test">を記入すると、
> > /usr/local/etc/Count/data ディレクトリにtest.datが自動的に作られ、カウントするという仕組みです。
>
> HTMLの書き方を間違えると、他のカウンタをいじってしまうと言うことですかね。
> ところで、肝心のScriptAliasMatchの効果は?
おやじさん、鷹の巣さん。とても参考になりました。
レスありがとうございました。


|目次|掲示板|過去ログ目次|▲頁先頭|