インフォメーションBBS

[使い方] [タイトルのみ] [関連発言] [最新20発言] [過去ログ一覧]
お名前:  ←パスワード(修正用)
アドレス:
タイトル:

本文:
  表示数

1042 わかやま神 [RE] 2000/07/17 23:34 [修正]
RE5:/usr/pkg/libexec/cgi-bin/に置いたら動かない
#1041(須々木氏)の書き込みを引用します:

パーミッションは合っていると思います。

>>あと、Perlのパスは合っていますか?
>telnetで実行すればスクリプトが動くということは、Perlのパスはあっている
>と思いますが、いかがでしょうか。
>一応、find / -name perl -printで探しました。

じゃあ、O・Kですね。

>持っている大量の「サーバー本」がどれもちっとも役に立たず。これから本屋に
>捜しに行きます。

素人が調べてみたので、合っているかはわかんないですけど、
.htaccessファイルが、なんか違うような気がするんですが・・・

Options FollowSymLinks Indexes Includes
AddType text/x-server-parsed-html .html
AddType text/x-server-parsed-html .htm
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl

この中の「Options」に「Options ExecCGI Includes」
がありませんが、不要なのかな?
(CGIとSSIを実行可能にするオプション)

ただし、定かではないっすよ念のため。あくまで素人判断ですから・・・

1041 須々木 [RE] 2000/07/17 20:50 [RES一覧] [修正]
RE4:/usr/pkg/libexec/cgi-bin/に置いたら動かない
#1040(わかやま神氏)の書き込みを引用します:
>ほえっ?タグのままですか?
>普通はスプリクトの内容に書き変わるんだけどなぁ。
>え〜と、なんかおかしいな。
一応、パーミッションは
total 25
-rw----r--  1 root  wheel  1277 Jul 17 02:28 0.gif
-rw----r--  1 root  wheel  1259 Jul 17 02:28 1.gif
-rw----r--  1 root  wheel  1268 Jul 17 02:28 2.gif
-rw----r--  1 root  wheel  1274 Jul 17 02:28 3.gif
-rw----r--  1 root  wheel  1271 Jul 17 02:29 4.gif
-rw----r--  1 root  wheel  1263 Jul 17 02:29 5.gif
-rw----r--  1 root  wheel  1269 Jul 17 02:29 6.gif
-rw----r--  1 root  wheel  1258 Jul 17 02:29 7.gif
-rw----r--  1 root  wheel  1278 Jul 17 02:29 8.gif
-rw----r--  1 root  wheel  1276 Jul 17 02:29 9.gif
-rw-r-----  1 root  wheel   190 Jul 17 02:29 count_g1.htm
-rw----rw-  1 root  wheel     2 Jul 17 12:53 count_g1.log
-rwx---r-x  1 root  wheel   666 Jul 17 02:44 count_g1.pl
-rw-r--r--  1 root  wheel   272 Apr  4 22:32 printenv
-rwxr-xr-x  1 root  wheel   757 Apr  4 22:32 test-cgi
といった感じです。

>まず、rootの下に/usr/があるのですか?
>その下に/pkg/libexec/cgi-bin/となっているのかな?
cd /usr/pkg/libexec/cgi-bin
で目的地に到達いたします。

>こんな感じ?
>  root
>   │
>   └─/usr/
>        │
>        └─/pkg/
>             │
>             └─/libexec/
>                   │
>                   └─/cgi-bin/
>
>そうだとしたら、
>パスの指定おかしくないですか?
><!--#exec cmd=/usr/pkg/libexec/cgi-bin/count_g1.pl-->
>
>となるんじゃない?
>(合っているかは分からないですが)
その様にしております。

>あと、Perlのパスは合っていますか?
telnetで実行すればスクリプトが動くということは、Perlのパスはあっている
と思いますが、いかがでしょうか。
一応、find / -name perl -printで探しました。

>Apacheはわからんです。
>バージョンが上がったら、何か変わったとか聞いた様な気もするけど。
持っている大量の「サーバー本」がどれもちっとも役に立たず。これから本屋に
捜しに行きます。

1040 わかやま神 [RE] 2000/07/17 20:29 [RES一覧] [修正]
RE3:/usr/pkg/libexec/cgi-bin/に置いたら動かない
#1039(須々木氏)の書き込みを引用します:
>>表示されたHTML文書(ソース)はどうなっていますか?
>>(特にカウンタの表示する部分)
>なにも表示されていない状態です。
>そこで「ページのソース」を見ると斜体で、
><!--#exec cmd=../cgi-bin/count_g1.pl-->
>と表示されています。

ほえっ?タグのままですか?
普通はスプリクトの内容に書き変わるんだけどなぁ。
え〜と、なんかおかしいな。

まず、rootの下に/usr/があるのですか?
その下に/pkg/libexec/cgi-bin/となっているのかな?

こんな感じ?
  root
   │
   └─/usr/
        │
        └─/pkg/
             │
             └─/libexec/
                   │
                   └─/cgi-bin/

そうだとしたら、
パスの指定おかしくないですか?

<!--#exec cmd=/usr/pkg/libexec/cgi-bin/count_g1.pl-->

となるんじゃない?
(合っているかは分からないですが)

あと、Perlのパスは合っていますか?

>何故こんなに苦しむことになるのか、、、?
>前にやったときはもっと簡単にできたように思うのですが、、、。
>Apacheのバージョンが上がった為?のような気が、、。

Apacheはわからんです。
バージョンが上がったら、何か変わったとか聞いた様な気もするけど。

1039 須々木 [RE] 2000/07/17 19:38 [RES一覧] [修正]
RE2:/usr/pkg/libexec/cgi-bin/に置いたら動かない
#1038(わかやま神氏)の書き込みを引用します:
>表示されたHTML文書(ソース)はどうなっていますか?
>(特にカウンタの表示する部分)
なにも表示されていない状態です。
そこで「ページのソース」を見ると斜体で、
<!--#exec cmd=../cgi-bin/count_g1.pl-->
と表示されています。

>更新すると、変わっていきますか?
>変わって(増えて)行く様なら、GIF画像のパス指定などの問題じゃないかな。
telnetで入って、./count_g1.plとするとカウントは増えていきます。
しかしながら、ブラウザで見ている状態でリロードをいくら繰り返しても、
カウンターは増えません。 (COUNT_G1.LOGの内容で確認)

>.htaccessファイルに間違いはないように見えますが・・・
ちなみに、現時点では/usr/pkg/libexec/cgi-bin/をあきらめて
/home/hogehoge/cgi-bin/を作り、そこにスクリプトと数字画像データを
一緒に入れています。つまり同じ階層に両方とも入れています。

何故こんなに苦しむことになるのか、、、?
前にやったときはもっと簡単にできたように思うのですが、、、。
Apacheのバージョンが上がった為?のような気が、、。

1038 わかやま神 [RE] 2000/07/17 18:32 [RES一覧] [修正]
RE:/usr/pkg/libexec/cgi-bin/に置いたら動かない
#1037(須々木氏)の書き込みを引用します:

***省略

>と言った感じで設定し、telnetで入って直接count_g1.plを実行すると、
>無事動作もしますし、counter_g1.logも快調に増えていくのですが、
>/home/hogehoge
>に置きました、count_g1.htmが「いらっしゃいませ」のみ表示されて
>カウンターが表示されないのです。
>
>不思議なことにエラーログも出ません。

表示されたHTML文書(ソース)はどうなっていますか?
(特にカウンタの表示する部分)
更新すると、変わっていきますか?
変わって(増えて)行く様なら、GIF画像のパス指定などの問題じゃないかな。

.htaccessファイルに間違いはないように見えますが・・・

>ちなみに皆さんは、cgiをどこに置いて使っていらっしゃるのでしょう?

割と多いのが「cgi-bin」の中とか・・・
指定のないサイトもありますよ。もちろん。

1037 須々木 [RE] 2000/07/17 13:20 [RES一覧] [修正]
/usr/pkg/libexec/cgi-bin/に置いたら動かない
購入させていただきました本を頼りに、NetBSD+Apache1.3.11でホームページ
を立ちあげました。

みんなで利用できるようにと
httpd.confには
# This should be changed to whatever you set DocumentRoot to.
#
<directory "/usr/pkg/share/httpd/htdocs">

#
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
    Options Indexes FollowSymLinks MultiViews

#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo", 
# "AuthConfig", and "Limit"
#
    AllowOverride All

#
# Controls who can get stuff from this server.
#
    Order allow,deny
    Allow from all
</directory>
・・中略・・
ScriptAlias /cgi-bin/ "/usr/pkg/libexec/cgi-bin/"

#
# "/usr/pkg/libexec/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<directory "/usr/pkg/libexec/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</directory>
と言った感じで設定し、telnetで入って直接count_g1.plを実行すると、
無事動作もしますし、counter_g1.logも快調に増えていくのですが、
/home/hogehoge
に置きました、count_g1.htmが「いらっしゃいませ」のみ表示されて
カウンターが表示されないのです。

不思議なことにエラーログも出ません。

先の設定で、/cgi-bin/は/usr/pkg/libexec/cgi-bin/のAliasになって
いるはずなのですが、、、。

ちなみに、.htaccessファイルは/home/hogehoge/public_htmlの中にあって
Options FollowSymLinks Indexes Includes
AddType text/x-server-parsed-html .html
AddType text/x-server-parsed-html .htm
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl
という設定になっています。

何がいけないのでしょうか?
ちなみに皆さんは、cgiをどこに置いて使っていらっしゃるのでしょう?

1036 わかやま神 [RE] 2000/07/15 15:12 [修正]
RE:ありがとうございます
#1035(ちゃちゃ氏)の書き込みを引用します:
>えへへ あたしも超初心者です (^-^*

いや、ご謙遜・・・

>各ファイルのパーミッションですが 他のCGIは問題なく動いてるんです。

つ〜事は、パーミッションは問題ないって事でんな。
そのCGIは「#exec cmd」で呼び出しているんですか?
ちにみに、どんなCGIでしょうか?
(flock関数は使われていますか?)

>LogをFTPでもってきても何もかかれてないんです。???

うぅ!!やっぱ「access1.pl」の問題でしゅね。

>SSIが使えるとHPに書いてあったのですが 実際SSIはつけてないので
>カウンタを置いて見たいと思います。

そうしてみて下さい。
上手く動いたら、スプリクトの「printf」(表示する所)をコメントにして、
ブラウザから何度か「更新」後、FTPでlogファイルの内容が変わっているか確認して下さい。
(「access1.pl」と同じ様に実行するが、表示はしない・・という環境を作ってみるんです)

1035 ちゃちゃ [RE] 2000/07/15 04:05 [RES一覧]
ありがとうございます
#1034(わかやま神氏)の書き込みを引用します:

>>レスありがとうございます。
>いえいえ、私も初心者ですから(汗)

えへへ あたしも超初心者です (^-^*

>>スプリクトをアップする場所はどこでもいいようなので 
>>同じフォルダにいれましたが 絶対パスでも試してみましたが反応は同じです。
>いいっすね〜!!アップ場所がどこでもいいなんて・・・じゃなく、
>絶対パスでも反応しないとなると・・・
>まず、パス指定がURLの場合も考えられますね。
>各ファイルのパーミッションも本誌と異なる場合があります。

URLにもしてみたんですよね・・・
各ファイルのパーミッションですが 他のCGIは問題なく動いてるんです。

>>>「#exec cmdが使えない」ってのもありますし。
>>その場合 何と書けばいいでしょうか?
>「#include virtual」って書けばいいです。

<!--#include virtual="./access1.pl"-->
と URLと両方ためしてみたんですが 
LogをFTPでもってきても何もかかれてないんです。???

実は他サーバーで 設置成功していて・・・ 
1年以上使わせて頂いてました。(^-^;;
今回使用したい サーバーは今月からHP異動のためで・・・・
Perlのバージョンさえ まだ未確認で・・・・
現在 Mailにて問い合わせ中だったりします。
SSIが使えるとHPに書いてあったのですが 実際SSIはつけてないので
カウンタを置いて見たいと思います。

1034 わかやま神 [RE] 2000/07/14 23:10 [RES一覧] [修正]
RE3:教えてください
#1033(ちゃちゃ氏)の書き込みを引用します:
>レスありがとうございます。

いえいえ、私も初心者ですから(汗)

>スプリクトをアップする場所はどこでもいいようなので 
>同じフォルダにいれましたが 絶対パスでも試してみましたが反応は同じです。

いいっすね〜!!アップ場所がどこでもいいなんて・・・じゃなく、
絶対パスでも反応しないとなると・・・
まず、パス指定がURLの場合も考えられますね。
各ファイルのパーミッションも本誌と異なる場合があります。

>>「#exec cmdが使えない」ってのもありますし。
>その場合 何と書けばいいでしょうか?

「#include virtual」って書けばいいです。
ただ、「#include」は指定している内容をそのまま出力する命令ですので、
どんな動作をするか判らないです。

>>あと、Perlのパス指定なども確認してみて下さい。
>これは確認済みです。

じゃあ、Perlのパス指定はO・Kですね。

>Logファイルには 何も書き込まれません。

という事は、「access1.pl」が上手く動作していない状態ですね。
まず「access1.pl」が正常に動作するよう考えましょうか?

ちゃちゃさんのチャレンジスピリットがへなへなと崩壊してしまう気がするんですが、あえて書かせてもらいます。
SSI併用のCGIアクセスログは、かなりがあるようで、
過去に何人かの方が挑戦されましたが上手く行かない場合が多いみたいです。
私もその一人ですが・・・
私の場合「access1.pl」を呼び出す部分にエラーが出ます。
(「#exec cmd」が使えないので「#include virtual」で呼び出しています)
が、logは記録されているので不思議なんです。
(結局のところ使っていないんです)

あ、Perlのバージョンはどれくらいでしょうか?
古いPerlはflock関数がサポートされていませんので、
うまく行かない場合があります。
SSIのテキストカウンタなどでlogファイルが書き込めるか確認してみたらいかがですか?

1033 ちゃちゃ [RE] 2000/07/14 18:16 [RES一覧]
RE2:教えてください
レスありがとうございます。

#1032(わかやま神氏)の書き込みを引用します:
>スプリクトをアップする場所は決まっていますか?
>決まっている場合、スプリクトの呼び出し文が絶対パス指定の可能性もあります。
スプリクトをアップする場所はどこでもいいようなので 
同じフォルダにいれましたが 絶対パスでも試してみましたが反応は同じです。

>「#exec cmdが使えない」ってのもありますし。
その場合 何と書けばいいでしょうか?

>あと、Perlのパス指定なども確認してみて下さい。
これは確認済みです。

>それから、logファイルになにか書き込まれていますか?
>(Kinetには何も書かれてなかったから詳しくは分からないです)
Logファイルには 何も書き込まれません。

よろしくお願いします 

1032 わかやま神 [RE] 2000/07/14 00:25 [RES一覧] [修正]
RE:教えてください
#1031(ちゃちゃ氏)の書き込みを引用します:
>ログをとりたいページに<!--#exec cmd="./access1.pl"-->と書いて
>jcode.pl access1.pl logview1.cgiのパーミッションを755に
>access1.logのパーミッションを 666に変えてログをとりたいページに
>行っても アクセスログは 表示されません。
>エラーは出てないのですが どうしたら表示されますか?

スプリクトをアップする場所は決まっていますか?
決まっている場合、スプリクトの呼び出し文が絶対パス指定の可能性もあります。
「#exec cmdが使えない」ってのもありますし。

あと、Perlのパス指定なども確認してみて下さい。
それから、logファイルになにか書き込まれていますか?
(Kinetには何も書かれてなかったから詳しくは分からないです)

1031 ちゃちゃ [RE] 2000/07/13 16:10 [RES一覧]
教えてください
20. CGIアクセスログ(SSI併用)をDLさせていただいて
kinetにつけてみました。
ログをとりたいページに<!--#exec cmd="./access1.pl"-->と書いて
jcode.pl access1.pl logview1.cgiのパーミッションを755に
access1.logのパーミッションを 666に変えてログをとりたいページに
行っても アクセスログは 表示されません。
エラーは出てないのですが どうしたら表示されますか?

1030 モモのすけ [RE] 2000/07/11 09:05
ふむふむ・・・ありがとうございます^^
なるほど・・・できました^^
ありがとうございました。

1029 わかやま神 [RE] 2000/07/10 23:16 [修正]
RE:どうしたら・・・
#1028(モモのすけ氏)の書き込みを引用します:
>月によってメッセージを変更するスクリプトで
>文字の色やサイズを変更するのはどこをどう書き加えたらいいんでしょうか?
>"#COCOCO"の色に変更したいのですが・・・あとサイズも2あたりに・・・
>おしえてください><

monmes.htmとmonmes.plの事でしょうね?
(本誌96ページ:11−4−2)
簡単に済ませるなら、monmes.htmを改造します。
改造はスプリクトの呼び出し文のみです。

<font size=2><font color = "#C0C0C0"><!--#exec cmd="./monmes.pl"--></font></font>

赤文字が変更部分です。

単なるHTML文書で考えれば

<font size=2><font color = "#C0C0C0">こんにちは</font></font>

となります。

イメージ的に見れば、

こんには

となります。

上の例は、表示される文字をすべてフォントタグで囲んでいるのと同じです。
部分的に色・サイズを変更する場合はスプリクトの方を改造しないとだめですが・・・

1028 モモのすけ [RE] 2000/07/10 21:43 [RES一覧]
どうしたら・・・
月によってメッセージを変更するスクリプトで
文字の色やサイズを変更するのはどこをどう書き加えたらいいんでしょうか?
"#COCOCO"の色に変更したいのですが・・・あとサイズも2あたりに・・・
おしえてください><

1027 わかやま神 [RE] 2000/06/17 19:09 [修正]
RE:教えてください!
#1026(ちゃっぴー氏)の書き込みを引用します:
>CGI、SSI初心者です。
>初めて使ってみたのですが、どうも「アクセスログをオープンできません」
>になるんです。
>パーミッションの変更もちゃんとしたつもりなんですけど
>どうしてなんでしょう?
>転送もテキストモードでしてるんですけどね。
>誰か教えてください。

「ログファイル」その物がないとか・・・
(アップしていない・・・なんて事ないですよね)
パーミッションの変更値はサーバーによって多少変わります。

1026 ちゃっぴー [RE] 2000/06/16 23:27 [RES一覧] [修正]
教えてください!
CGI、SSI初心者です。
初めて使ってみたのですが、どうも「アクセスログをオープンできません」
になるんです。
パーミッションの変更もちゃんとしたつもりなんですけど
どうしてなんでしょう?
転送もテキストモードでしてるんですけどね。
誰か教えてください。

1025 わかやま神 [RE] 2000/06/14 23:54 [修正]
RE3:しつもんです。
#1024(スミコ氏)の書き込みを引用します:
>logview3.cgiのlocaltimeのところに「+ 15 * 60 * 60」を足してみたら
>うまくできました。CGIに暗いのでよくわかりませんが、ログをつくるファイルの
>ほうは現地時間を取得しているので15時間の差が出たのではないかと思います。

あ、そうか。
logview3.cgiにもあったんだ!!申し訳ないm(__)m

ちなみにlogview3.cgiの部分も
  ($sec,$min,$hour,$day,$mon,$year,$wday) = gmtime($t + 9 * 60 * 60);
としたら上手く行くと思いますよ。

1024 スミコ [RE] 2000/06/14 22:57 [RES一覧] [修正]
RE2:しつもんです。
#1023(わかやま神氏)の書き込みを引用します:
>  ($sec, $min, $hour, $day, $mon, $year, $wday) = gmtime($t); を
> ($sec, $min, $hour, $day, $mon, $year, $wday) = gmtime($t + 9 * 60 * 60);
>として下さい。(黄色が該当行で赤色が追加部分です)
>
>gmtime関数はグリニッジ標準時(世界標準時)を取得しますが、日本とは9時間(32400秒)
>のずれがあるはず。
>$tの後ろの「+ 9 * 60 * 60」でグリニッジ標準時と日本標準時の9時間(32400秒)の
>時差を加算修正しています。

ご回答下さってありがとうございます。上記のようにしましたが、変わらなかったので、
logview3.cgiのlocaltimeのところに「+ 15 * 60 * 60」を足してみたら
うまくできました。CGIに暗いのでよくわかりませんが、ログをつくるファイルの
ほうは現地時間を取得しているので15時間の差が出たのではないかと思います。
ご助力ありがとうございました(*^o^*)。

1023 わかやま神 [RE] 2000/06/14 22:22 [RES一覧] [修正]
RE:しつもんです。
#1022(スミコ氏)の書き込みを引用します:
>はじめまして。アクセスログのCGI版を使っているのですが、時刻が外国
>サーバのため15時間遅れてしまいます。どのように書き足したらよいの
>でしょうか?どうかお教えください。よろしくお願いします。

access3.cgiの中に時間表記を作成するサブルーチンがあります。

sub gmt_date {	#HTTPプロトコルで定義された標準的な時間表記を作る
  local($t) = @_;
  @wdays = ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
  @month = ("Jan", "Feb", "Mar", "Apr", "May", "Jun",
            "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
  ($sec, $min, $hour, $day, $mon, $year, $wday) = gmtime($t);
  return sprintf("%s, %02d %s %04d %02d:%02d:%02d GMT",
           $wdays[$wday], $day, $month[$mon], $year+1900, $hour, $min, $sec);
}

この中の

  ($sec, $min, $hour, $day, $mon, $year, $wday) = gmtime($t);

を

 ($sec, $min, $hour, $day, $mon, $year, $wday) = gmtime($t + 9 * 60 * 60);

として下さい。(黄色が該当行で赤色が追加部分です)

少々うんちくをば・・・

(15時間のずれって、なんかおかしい様な気がしますが・・・)
gmtime関数はグリニッジ標準時(世界標準時)を取得しますが、日本とは9時間(32400秒)のずれがあるはず。
$tの後ろの「+ 9 * 60 * 60」でグリニッジ標準時と日本標準時の9時間(32400秒)の時差を加算修正しています。
時間の誤差分の指定は秒で行って下さい。

あと401個の発言があります。 [さらに20個を読む]
[トップページに戻る]管理人 : キャメル