PDA

View Full Version : yoshioさんへ


cats
2001/12/05, 07:13 PM
これはyoshioさんがhttp://sb.xrea.com/showthread.php?s=&threadid=566に投稿されたものへの返信です。
質問のフォーラムは議論の場ではないと考え勝手にこちらに投稿させていただきます。

500エラーはcgiによって生成されるHTMLがサーバーから送信される前に起きている
と私は思っています。
つまり広告が挿入される前に起きているのであり広告が悪さをしてるのではない
と考えます。
広告を外さなければ使えないスクリプトもありますが500エラーが出るのではなく
画像が表示されないカウンターとかがほとんどです。。

そして此処のサーバーを利用する場合、広告を付けることは当たり前であり
広告を外すことが一番の解決策であるような書き込みは感心しないと言いたかったわけです。

ちなみに名指しで悪いんですが
新しいサーバーでcgi(PHPだけど)が動かなかった例 (http://sb.xrea.com/showthread.php?threadid=508)
s1サーバーでもメンテナンス後1,2日動かなかったことがある。
登録後時間が経てば解決した例 (http://sb.xrea.com/showthread.php?s=&threadid=562)

yoshio
2001/12/05, 08:34 PM
なるほど…アクセスが可能になってもCGIが動作しないことがある、ということは解りました。一つ新たな知識を得たということで、お礼申し上げます。


話は戻して本題です。

私は、CGIは非常にデリケートなものであると認識しており、それに対して何らかのアクションを起こすシステム(この場合、広告挿入システムですね)が働くことでCGIの実行が中断され、Internal Server Errorを引き起こしていると考えています。
よって、『「x」ディレクトリを使え』といった発言は、それに基づいたものであります(「以前のサーバでは正常に動作していた」という発言がありましたので、この辺りの回答が最も妥当ではないかと判断しました)。

あと、私が広告否定派であるかのように捉えられたのは少し心外です。
私は別に広告否定派ではありません。catsさんと同じく無料サーバを借りる以上、広告の表示義務は当たり前という認識を持っています。

ちゃんとレス内でも『「x」ディレクトリを使ったら、スクリプトに改変を加える必要がある』と言っていますように、
「広告を外すことが一番の解決策」
ではなく、
「一旦広告を外して(広告表示の外部割り込みを避けて)、また付け直す(広告表示を内部的に割り込ませる)ことが一番の解決策」
という意味合いでの発言ですので、宜しくお願いします。


追伸:HTMLを出力しないタイプのCGI(カウンタCGI等)も、内容が表示されない時はInternal Server Errorが発生していますよ(内容表示に必要なファイルが存在しない場合は除く)。

Koh
2001/12/05, 09:51 PM
yoshio さんと重なる部分が多いですが、私も時々「広告を自動挿入させないようにしてみたら?」というアドバイスをすることがあるので一言。

ああいう答えをするのは、広告の自動挿入を止めたら cgi スクリプトの動作不良が直ったケースがこれまでに何件もあったからです。cats さんご指摘のとおり、広告以外の原因によるエラーというケースもたくさん存在します。でも、エラーの原因が絞り込めない状況で解決策を探すには、原因として考えられる事象を一つ一つ潰してゆくことがセオリーです。Cgi スクリプトの動作不良を引き起こし得る事象として「広告の自動挿入」は「サーバマシンのエラー」「時間が解決する」などと同レベルの可能性を持っています。ゆえに経験則で「試しに x ディレクトリに移してみては?」とアドバイスしているわけです。

なお、広告を自動挿入させないという解決策を提示したからといって、広告を非表示にしてのウェブサイト運営を奨める意図は毛頭ありません。従って、わたしは「広告を外してみたら?」というアドバイスには必ず「それでうまくいったのなら、広告表示用のタグを含んだ形の HTML ファイルを吐き出すよう cgi スクリプトを改造してちょうだい」という趣旨の断り書きをつけるようにしています。


《備考》 旧サポート掲示板「CGI(PHP・Rubyも含む)」ボード (http://support.mysuite.net/c-board/c-board.cgi?id=cgi)
応援団長 (supporter) さんのサイト (http://supporter.s1.xrea.com/) の Super FAQ「cgiが動きません。」

cats
2001/12/05, 11:37 PM
「広告を外すことをそそのかしている」と読めるような書き方をしたことは謝ります。
通常、自動挿入されるようになっているのだからまずその中で解決していくのが普通であるとでも読み替えて下さい。(汗)

以前のサポート掲示板の頃には、試しにアップロードしてみる事が多かったんですが、普通に設置すれば動くものが多いです。
最近はサーバーが違ったり、面倒なのでしてませんが。
それに「設置したのですが動きません」位しか書かない人に、広告を外した上で手を加えなければいけない手法は最良の策ではないと思います。
(多くのスクリプトには変えない方がよいと注意書きされている部分を触らなければならないので)
Originally posted by yoshio
私は、CGIは非常にデリケートなものであると認識しており、それに対して何らかのアクションを起こすシステム(この場合、広告挿入システムですね)が働くことでCGIの実行が中断され、Internal Server Errorを引き起こしていると考えています。

スクリプト自体に広告が挿入されてから実行するわけではないのですからその点はだいじょうぶなんじゃないでしょうか。
私は全くの素人でunixなんかは触ったこともない人なのでつっこまれても答えられませんが。

Originally posted by Koh
ああいう答えをするのは、広告の自動挿入を止めたら cgi スクリプトの動作不良が直ったケースがこれまでに何件もあったからです。cats さんご指摘のとおり、広告以外の原因によるエラーというケースもたくさん存在します。でも、エラーの原因が絞り込めない状況で解決策を探すには、原因として考えられる事象を一つ一つ潰してゆくことがセオリーです。Cgi スクリプトの動作不良を引き起こし得る事象として「広告の自動挿入」は「サーバマシンのエラー」「時間が解決する」などと同レベルの可能性を持っています。ゆえに経験則で「試しに x ディレクトリに移してみては?」とアドバイスしているわけです。

それならばパス以外は変えてないものを設置してみるが最初ではないですか?
今回は引っ越しと言うことだったので当てはまらないかもしれませんが。

今更ながら旧掲示板広告で検索してみたんですけど広告で解決したのってカウンタがほとんどの様なんですけど。
名指しでC-BOARDは挙げられてますが。

Koh
2001/12/06, 07:45 PM
広告の自動挿入を止めたら CGI のエラーが解決したケースについて、CGI スクリプトの改造に手が出せない場合は、フレームを使う (広告を表示させるためのフレームと、掲示板・チャット用のフレームとに分割表示する) ことで広告表示義務をクリアする方法もあります。Originally posted by cats
それならばパス以外は変えてないものを設置してみるが最初ではないですか?
今回は引っ越しと言うことだったので当てはまらないかもしれませんが。だから「エラーの原因として可能性がある選択肢を一つ一つ潰していく」と書いたじゃないですか。広告の自動挿入を止めるのは、あくまでも選択肢のひとつにすぎず、それ以上でも以下でもありません。うまくいけば万々歳だし、だめでもエラーの原因を絞り込む一助にはなります。Originally posted by cats
今更ながら旧掲示板広告で検索してみたんですけど広告で解決したのってカウンタがほとんどの様なんですけど。
名指しでC-BOARDは挙げられてますが。
応援団長 (supporter) さんとこ (http://supporter.s1.xrea.com/) の「■CGI設置報告」を読むと、カウンタ用 cgi スクリプト以外では YY-BOARD v4.04 も「xディレクトリを使う」と書いてあります。おそらく、これも広告の自動挿入を止めないとエラーが起きるのでしょう。

cucu81
2001/12/06, 08:15 PM
ちゃんとPerlなりPHPなりを勉強すれば、どんなCGIだろうとどんな広告が自動で挿入されようと自分自身で解決できるようになるはず。
(一般に広く配布されているCGIスクリプトで中身が難しいものなどほとんどないのだから)

それもする気がないのであれば、そもそもCGIを設置する資質に欠けている。

それだけでしょ。

cats
2001/12/06, 09:20 PM
広告を外すのは選択肢のひとつであるというのは認識しています。
でも自動挿入されるのが当たり前である以上、原因として挙げる順位は決して高くないと私は思っています。

で、ご指摘のyybbsですが広告付きで動いています。
原因となった質問スレッドの奴ですが。http://sionsylphis.s4.xrea.com/cgi-bin/yybbs/yybbs.cgi
バージョンが違うのでしょうか?(現行は4.54)
応援団長 さんのところでも「あくまでも動作を確認した例という事でその他の設定にしても動作するかもしれません。」と書かれていますよね。

cats
2001/12/06, 09:21 PM
Originally posted by cucu81
ちゃんとPerlなりPHPなりを勉強すれば、どんなCGIだろうとどんな広告が自動で挿入されようと自分自身で解決できるようになるはず。
(一般に広く配布されているCGIスクリプトで中身が難しいものなどほとんどないのだから)

それもする気がないのであれば、そもそもCGIを設置する資質に欠けている。

それだけでしょ。
そこまで言い切れればいいんですが(言いたくもある)
私自身ぼちぼち組立までは出来たけど中身までは人様に見せられない段階でして。(汗)
素人細工ではここら辺が限界かなぁと思う今日この頃。

yoshio
2001/12/06, 09:50 PM
Originally posted by cucu81
ちゃんとPerlなりPHPなりを勉強すれば、どんなCGIだろうとどんな広告が自動で挿入されようと自分自身で解決できるようになるはず。
(一般に広く配布されているCGIスクリプトで中身が難しいものなどほとんどないのだから)

それもする気がないのであれば、そもそもCGIを設置する資質に欠けている。

それだけでしょ。
同感です。
あくまでも「パスの確認」「デフォルトCGIの設置」等の最低限の対策は一通りやっていて当然ですから、必然的に
 1.XRE.COM特有の現象への対策
 2.CGIでやりがちなミスの確認
 3.なるほど初心者だな…な反応と対処
になってしまいます(私自身、あまり威張れたものではありませんが…。多少のPERL知識しか無いし…)。

少なくとも学ぶ気も無いのに、あれもこれも教えてくれ(関連フォーラムの過去ログもロクに見ないで質問する人とか…)な人は、CGI設置どころか、ウェブサイトを開く資格自体ないでしょうね。
勿論、覚える気がある(と判断した)人には出来る範囲で助言しますし、調べる気も覚える気もある初心者ってのは存在しても良いと思います。

話変わりますけど、最近たまに見かける「CGIに広告が付けられないので免除お願いします」ってのもあまり…と言うか、全然好ましくありませんね。殆どが、簡単な改造で対処できるものだし。せめて、CGIフォーラムで調べようとか、質問しようとは思わないのかねぇ…。
「何故改造せん!?」「何故フレームを試さん!?」「何故…(以下略)」って毎回思ってます。
…どうも愚痴になってしまいましたね、すみません。


catsさん>言い切りましょう(笑)!
これはもはや、知識云々よりも、ウェブサイトを運営する資格があるか無いかの問題ですから(心構えとして)。
少なくとも、catsさんにはそれを言い切る資格が十分にあると思いますよ。

dayan
2001/12/06, 09:58 PM
yoshioさん、もうすぐ名取(Senior Member)ですが、萬名付けていいですか?

Senior Member に「萬名」を付けるスレッド (http://sb.xrea.com/showthread.php?s=&threadid=564)

PS
すれ違ってしまった。

yoshio
2001/12/06, 10:03 PM
dayanさん>グッドタイミングです。
同時刻に私もそれについて問い合わせてきました。

PS
更にすれ違ってしまった…。

cucu81
2001/12/06, 10:16 PM
話変わりますけど、最近たまに見かける「CGIに広告が付けられないので免除お願いします」ってのもあまり…と言うか、全然好ましくありませんね。殆どが、簡単な改造で対処できるものだし。せめて、CGIフォーラムで調べようとか、質問しようとは思わないのかねぇ…。
「何故改造せん!?」「何故フレームを試さん!?」「何故…(以下略)」って毎回思ってます。

ありゃそういう戦術でしょ。

cats
2001/12/06, 10:53 PM
>yoshioさん
やっていて当然
のはずが大抵やってませんからね。
こっちがさんざん原因を考えまくった挙げ句「パーミッション変えたら動きましたぁ」とか書かれると脱力もんです。
愚痴っててもいいのでは?雑談ボードですし(笑)
ウェブサイトを運営する資格で言うとないかも・・・
全然更新してないし(汗)

>cucu81さん
玉砕になりそうな戦術ですけど(笑)

サポートの主観で判断するって大変な労力ですよね。
もうすぐ長期休暇シーズンだしサーバー管理がおろそかにならなきゃいいけど。

supporter
2001/12/06, 11:28 PM
Originally posted by Koh
応援団長 (supporter) さんとこ (http://supporter.s1.xrea.com/) の「■CGI設置報告」を読むと、カウンタ用 cgi スクリプト以外では YY-BOARD v4.04 も「xディレクトリを使う」と書いてあります。おそらく、これも広告の自動挿入を止めないとエラーが起きるのでしょう。
そのとおりです。具体的にはアイコンが×印になります。
ただ、xディレクトリでなくても動く掲示板もあるかもしれません。規約改正後のチェックが完全にできていなくて申し訳ないっす。

でわでわ

yoshio
2001/12/07, 12:17 AM
catsさん>
>こっちがさんざん原因を考えまくった挙げ句「パーミッション変えたら動きましたぁ」とか書かれると脱力もんです。
確かに…このスレッド発生の発端となったCGIも、結局はパーミッション指定のミスで終わりましたからね。
あと別に運営資格は、更新頻度ではないと思いますよ。
もともとウェブサイトなんてのは自己満足の塊ですし…。
むしろその自己満足を満たす為に、
他人を利用する
共有サーバを自分一人の物と勘違いする
規約を平気で破る(しかも警告されても直しもしない)
なんて人が、資格喪失者でしょう。

cucu81さん>
噂をすれば…ですかね。またもや玉砕覚悟の戦術(?)な人が出て来ました。
サポートさんが許可するか、却下するか、放置するか、が見ものです。最初だから、却下かな?

dayan
2001/12/07, 12:26 AM
がんばれyoshio君、あと4つだ。

koeta
2001/12/07, 07:45 AM
私はホームページを作り始めて1年くらいなんですが、CGIを設置するのはすごく恐くって、設置したくなってから3ヶ月くらい指をくわえていました。
サーバエラーなんか起きたらと思うと本当に恐くって。

なにかのCGIの中身をぼ〜っと見ていて、CGI(PERL)はprint文でHTMLを書き出しているんだと気がついたあたりから、恐怖心が抜けて、設置できるようになりました。改造も楽しんでます(もちろんローカル環境でテスト)
 で、「CGI全然わかりませんが、設置してみたけど、動きませんでした」という方の気持ちが理解できません。自分のやっていることが恐くはないのでしょうか?ちゃんとローカルでテストはしてるのでしょうか?

たまにこんなことを考えるので、書いてみましたが、このスレッドには不向き?

yoshio
2001/12/07, 12:04 PM
Originally posted by koeta
で、「CGI全然わかりませんが、設置してみたけど、動きませんでした」という方の気持ちが理解できません。自分のやっていることが恐くはないのでしょうか?ちゃんとローカルでテストはしてるのでしょうか?十分このスレッド向きでしょう。私の解釈では今や、「自称初心者のここが解らない」って感じのスレッドになってますから(笑)。

酸いも甘いも噛み分けてこそ…とは良く言ったもので、PERLに限らず全てのCGIは「やっぱり危険かなぁ…」という認識と「なるほどこれは便利だ!」という認識を併せ持ってこそ、意味があるものでしょうね。戦争や犯罪みたいに、酸いを噛み過ぎるのも考え物ですが…。

自分のマシンでまったく動作確認が出来ない、機種に大きく依存する種類のCGIもそうですし、PERLやPHPも、自分のマシンで動作環境が出来ない(やり方を知らない)なんて人は、CGIを触るには早過ぎるし、分不相応だと思います。
「Unix系OSでしか動かないCGIだから、自分の環境(Win or Mac)ではテスト出来ない。」なんてのも、単なる甘えでしかありませんしね。

Koh
2001/12/08, 04:07 PM
Originally posted by cucu81
ちゃんとPerlなりPHPなりを勉強すれば、どんなCGIだろうとどんな広告が自動で挿入されようと自分自身で解決できるようになるはず。
(一般に広く配布されているCGIスクリプトで中身が難しいものなどほとんどないのだから)

それもする気がないのであれば、そもそもCGIを設置する資質に欠けている。かつて別のスレッド (http://sb.xrea.com/showthread.php?s=&threadid=258) に false beginner の話を書いた者として、同感です。Originally posted by yoshio
話変わりますけど、最近たまに見かける「CGIに広告が付けられないので免除お願いします」ってのもあまり…と言うか、全然好ましくありませんね。殆どが、簡単な改造で対処できるものだし。せめて、CGIフォーラムで調べようとか、質問しようとは思わないのかねぇ…。
「何故改造せん!?」「何故フレームを試さん!?」「何故…(以下略)」って毎回思ってます。
「広告の削除及び広告の位置変更許可申請」スレッド (http://sb.xrea.com/showthread.php?s=&threadid=594) で一蹴されちゃいましたね。

cats
2001/12/10, 07:59 PM
>koetaさん
私も怖かったですよ。
初めて設置したサーバーは500エラー100回出したらアカウント削除ってルールがありましたから。(^^;

その前からローカルで動かして遊んでたんですけどね。

それでも最初は転送モードの違いとかで4,5回出しました。

yoshio
2001/12/10, 09:55 PM
Originally posted by cats
500エラー100回出したらアカウント削除
そんなサーバがあるんですね…。
ちょっと厳しい気もしないでは無いですが、やはり、それなりの責任感を持たせるためでしょうか。でも、100回ってのは、微妙に緩い気がする…

supporter
2001/12/10, 10:01 PM
Originally posted by cats
初めて設置したサーバーは500エラー100回出したらアカウント削除ってルールがありましたから。(^^;
すごいルールですねぇ。思わず笑っちゃいましたよ。CGIを設置するたびに1日は命が縮まるような。(爆

でわでわ

cats
2001/12/10, 11:26 PM
個人がやってらっしゃるサーバーなので。
今はもう無いルールなんですが。
すごく改造するとか自作しなきゃ緩いですよね。
それだけ気を付けて使ってくれと言うことだったんでしょう。

nkc
2001/12/15, 12:47 AM
どなたか、/x/ディレクトリを使用せずに "Location:相対パス"で内部リダイレクトさせることが出来る方、いらっしゃいませんか?

すみません、"Location:相対パス" と記載しておりますが・・・
"Location:絶対パス"の記載ミスです.

誠に申し訳ございません.<(_ _)>

cats
2001/12/23, 09:31 AM
質問の意図とは違うのかもしれませんが
似たような問題でトクトクではこの様な解決方法が紹介されてます。
http://www26.tok2.com/home/wingstar/toktokcgi.html#6-1

yoshio
2001/12/23, 10:44 AM
http://sb.xrea.com/showthread.php?s=&postid=2638#post2638

上のスレッドによると、CGIを設置したいディレクトリに「LayoutIgnoreURI *.cgi」という1文を付け加えた.htaccessを設置することで、そのディレクトリ以下を「x」ディレクトリとして扱えるようです。

cucu81
2001/12/23, 01:32 PM
ありゃ? みなMod_layoutしらんのかい?

<Directory /virtual/*/public_html/x>
LayoutMerge Off
LayoutIgnoreURI *

Options ExecCGI IncludesNoExec
AllowOverride AuthConfig Fileinfo Indexes Limit

ErrorDocument 403 http://www.xrea.com/err403.htm
ErrorDocument 404 http://www.xrea.com/err404.htm
ErrorDocument 405 http://www.xrea.com/err405.htm
ErrorDocument 500 http://www.xrea.com/err500.htm
</Directory>

x にはこのように設定されているだけだよ。

.htaccessで、特定のディレクトリ(以下)を消したければ、
上のようなものを適当に編集して適当なところにおけば、
そのディレクトリ以下は、広告が無くなるよ。

簡単にしたければ、
LayoutIgnoreURI *
とだけ書いてあげておけば、容赦無く消えます。
他のファイルとの連携上、xには入れたくない、
CGIファイルが非常に多数に渡り、xcgにはしたくない、
<!--nobanner-->を入れるタイミングが難しいので、
とりあえずは、全面的に消した後で、ぼちぼち広告
いれたいんですわ、という人は、どうぞ。

あと、みんなが普通に使っているpublic_htmlファイル以下の標準設定は
以下ね
<Directory /virtual/*/public_html>
LayoutMerge On
LayoutHandler httpd/unix-directory
LayoutIgnoreURI *.xhtm
LayoutIgnoreURI *.xcg
LayoutIgnoreURI *.shtm
LayoutIgnoreURI *.hdml
LayoutIgnoreURI *.wml
LayoutIgnoreURI *.txt
LayoutIgnoreTag <!--nobanner-->
LayoutIgnoreTagHeader <nobanner>
LayoutHeader /usr/local/apache/layout/header.html
# LayoutFooter /usr/local/apache/layout/footer.html

Options ExecCGI IncludesNoExec
AllowOverride AuthConfig Fileinfo Indexes Limit

ErrorDocument 403 http://www.xrea.com/err403.htm
ErrorDocument 404 http://www.xrea.com/err404.htm
ErrorDocument 405 http://www.xrea.com/err405.htm
ErrorDocument 500 http://www.xrea.com/err500.htm
</Directory>


まぁ、普通上下に広告があるのをご好意で、上部だけにしてもらっている
というところですな。(まぁ他業者も似たようなものです)
どこか他業者と互換的なミラーリングをしていて、広告を消したいという
場合は、
LayoutIgnoreTag <!--nobanner-->
を編集して、互換性をとるという方法もありまする。
(ある程度、ホムーペジやってる人なら、みんなやってることですぞ)

cats
2001/12/23, 02:05 PM
xディレクトリを使わない=自動で広告を付けたままでリダイレクトしたい
と思ったんですが違うのかな?

cucu81
2001/12/23, 04:02 PM
いや、話題の争点と言う意味では、
相対アドレスを使った内部リダイレクトの問題でしょ多分。
でも、Location、一応、動いているのでは??

ちゃんと移動しないということであれば、
Location : http://〜 でちゃんと動いていると思う。

(まぁ、話題はこれがなんとかならないかということだったのかも…)

cats
2001/12/23, 06:26 PM
この.htaccessの設定をするとファイル名を指定しない(http://ID.サーバー名.xrea.com/とか)でも広告付かないんですか?
やってみればすぐわかるんでしょうけどね

用事のないところまで調べないものですから。(^^;
勉強になります。

yoshio
2001/12/23, 07:24 PM
cucu81さん>詳しい説明ありがとうございます。大変勉強になりました。

catsさん>以前PC版と携帯版のサイトのURLを統一しようと、public_htmlに端末振り分け用のCGI(index.cgi)と前述の.htaccessを設置し、http://yoshio.s1.xrea.com/でアクセスしたところ、問題無く動作してくれました。(.htaccessが無い状態では、300 Foundが表示されていた)

nkc
2001/12/23, 08:10 PM
みなさま、ご回答ありがとうございます!
言葉たらずで申し訳ありませんでした.

(目的)
内部リダイレクしてブラウザにURIを渡さず、該当ページを表示させたい.

(条件)
自動広告挿入のもと

大変勉強になりました.
ありがとうございました<(_ _)>