トップページphp
983コメント423KB

CGI設置について質問【Part3】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/04/10(火) 03:33:02ID:???
CGIを設置しようとしてうまくいかない場合の質問はこちらで。

自分でどのようなことまでやったか、エラー・動作がおかしい場合は
その内容を詳細に書くこと。

配布元、設置先で質問・解決できない場合は、ここで質問すれば
親切な人が教えてくれるかもしれません。

質問テンプレ(全項目記入)
   【       CGI名      】 複数のバージョンがある場合が多いので正確に
   【    配布元URL    .】 
   【    設置サーバ    】 レンタルスペース名または設置中のURL
   【スクリプトチェックの有無】 自分でチェックできないものは使わない
   【      質問内容     】 

※ エラーがでてるならエラーメッセージも書くように。
続きは>>2-5辺り。
0592nobodyさん2009/01/17(土) 14:02:30ID:Ad9Lm+h1
>>591
半角英数です。
0593nobodyさん2009/01/23(金) 11:33:28ID:DQAiRhxT
【       CGI名      】 New NICOLE Board Type-2 v1.15c
【    配布元URL    .】  配布元閉鎖のため斧にあげます→http://www1.axfc.net/uploader/He/so/185899 パスはhige
【    設置サーバ    】 友人の自宅鯖
【      質問内容     】 
admin.cgiにてプロキシ経由での書き込みを禁止し、串経由でないのに弾かれてしまうホスト名を許可にしようとしてるのですが、IPによるフィルタは作動するのに、ホスト名によるフィルタがうまくいきません。
→IPでpaermit設定すると書き込みができるが、host名でpermitすると「プロキシ経由での書き込みは禁止されています」と出る
→指示通り、「ip permit ***.***…」だと書き込み可能。「host permit ***.ne.jp」だと書き込み不可になる
設定することによって生成されるfilter.plはキチンと設定した内容になっています。
AccessCheck.plに不備があるのでしょうか?
0594nobodyさん2009/01/25(日) 05:58:26ID:???
逆引きできてる?
0595nobodyさん2009/01/25(日) 06:07:25ID:???
ってhttpdのREMOTE_HOST見てるじゃない。
apache(かどうか知らんが)のhttpd.confのHostnameLookupsはonになってる?
05965932009/01/25(日) 10:16:58ID:???
すみません、どのファイルを見ればいいのでしょうか?;;
最近勉強しようといろいろ見始めたところなので、まだまだ不勉強なんです…
0597nobodyさん2009/01/25(日) 10:59:45ID:???
>友人の自宅鯖
なんだから友人に聞くかrootもらうしかない
0598nobodyさん2009/01/25(日) 11:00:47ID:???
まあ見るだけなら /usr/local/apache2/conf/httpd.conf (ソースから入れた場合)とか見られるとは思うが。
05995932009/01/25(日) 11:13:26ID:???
実際に動かす場合は今借りてるレンタルサーバーに置く予定です(鯖名:freespace)
現在はテストの為、友人鯖を借りてるのですが…

これはこちらの設定ミスやプログラムの不具合でなく、サーバーの問題なのでしょうか?
だとしたら稼動予定のレンタルサーバーはまともに対応してくれる所ではないのでどうにもならない…
0600nobodyさん2009/01/25(日) 13:34:24ID:???
使用目的が限定できないレンタルサーバではオンになってる場合が多いと思うけどね。
デフォルトでオフだから、その友人は特にいじってないんだろう、聞いてみればいいじゃな。
06015932009/01/25(日) 14:47:23ID:???
レンタルサーバーの方で上記の不具合が出たため、テストとして友人の鯖を借りたのです…
今は友人が仕事中なので向こうの鯖設定が確認できないので、帰宅後に聞いてみます

0602nobodyさん2009/01/25(日) 14:59:10ID:???
自分で環境変数REMOTE_HOSTを表示するcgi作って試せばいいじゃんかよ。
06035932009/01/25(日) 15:09:43ID:???
すみません、先にも書いたようにようやく勉強を始めようかというくらいの初心者なので自分でCGIが組めません。
ここは初心者向けではないようなので、どこか適したスレに移動した方がいいみたいですねorz
さんざん聞いたあげく申し訳ありませんでした。
よろしければどこか適したスレありますでしょうか?
0604nobodyさん2009/01/25(日) 15:21:09ID:???
言語とかわからんと、、、

cgiそのものは↓の4行でいいよ。(/usr/local/bin/perl は /usr/bin/perl のが確実かも)
表示されるREMOTE_HOSTとフィルター解除するつもりの名前と比べてみるといい。

#!/usr/local/bin/perl
print "Content-Type: text/plain\n\n" ;
print "REMOTE_ADDR = $ENV{'REMOTE_ADDR'}\n";
print "REMOTE_HOST = $ENV{'REMOTE_HOST'}\n";
06055932009/01/25(日) 15:29:30ID:???
>>604

上記の4行をメモ帳にコピペ、名前をtest.cgiとして保存→鯖にうp→パーミッション変更(705にしました)
すると「取り消されたアクション」表示とともにそのファイルをDLしますか?とウィンドウが出ました
0606nobodyさん2009/01/25(日) 15:42:00ID:???
別にDLしてみてみりゃいいじゃん
text/plainでひっかかるならtext/htmlでやってみるとか
(画面に何も出なかったらソースの表示で見られる。)
06075932009/01/25(日) 15:51:58ID:???
DLされるファイルの中に書かれていたのですね…画面上に出るものと思い込んでいましたorz
IPは表示されていましたがhost名は書かれていませんでした。
(ちなみに正式設置予定のサーバーに置いてDLしました)

これは>>595で言われているHostnameLookupsがONになってないということでしょうか?
それだとしたらこのサーバーではhost名でのアクセスフィルタはかけられないということでしょうか?
0608nobodyさん2009/01/25(日) 16:07:52ID:???
自分でDNSに問い合わせることは可能。
この辺は設置じゃなくて作成か改造だな。
06095932009/01/25(日) 16:13:32ID:???
知識不足でご迷惑かけたにもかかわらずありがとうございました。
自分の設置方法やプログラム上のエラーではなく、サーバー側の設定の問題だとわかっただけでも大助かりです
2chのレンタル鯖板でも悪評の高い鯖なので問い合わせしても放置されそうなので、改造の方で対処したいとおもいます
本当にありがとうございました
0610nobodyさん2009/01/29(木) 01:37:05ID:ExiTG1At
突然失礼します。
初心者丸出しですが、親切な方、優しくお答えいただけたら嬉しいです。
CGI型の広告を設置したいのですが、どうしてもやり方がわからずご質問させていただきます。

   【       CGI名      】 clickup_cgi
   【    配布元URL    .】 http://click-up.jp/(内容のURLは身元が特定できてしまうので、個別にうpします。
                     http://i3.atura.ws/m/b/91283/img/0007824885.zip)
   【    設置サーバ    】 OROTIサーバー同人可
   【スクリプトチェックの有無】 自分でチェックできないものは使わない
   【      質問内容     】 
   同人誌サイトを運営しているのですが、同人ページ・トップページの両方にCGI広告を設置したいと考えております。
   同人のページはCGIを用いて作成しておりまして、そちらにも設置は可能なのでしょうか?
   また、トップページはhtmlなのですが、そちらにCGIの広告を設置する場合はどのようにしたらよいのでしょうか?
   まだまだ初心者でほとんどわからない状態からはじめました。
   public_htmlディレクトリ内にCGIを設置するまではよいのですが、htmlにそこから広告を呼び出す方法がわかりません。
   どうかよろしくお願い致します。
   親切な方、初心者にもわかりやすい表現をしていただければ幸いです。
0611nobodyさん2009/01/29(木) 01:44:03ID:ExiTG1At
申し訳ありません。
>>610で半角の()を使用してしまい、サイトやzipに飛ぶとエラーになってしまいます。
最後の()を削って飛んでいただけたら幸いです。
お手数おかけして申し訳ありません。
0612nobodyさん2009/01/29(木) 16:16:09ID:???
web静岡というとこでHPを持っているのですが
perl4が使用不可能になるということでソースを変更しようとしましたが
うまくいきません
#!/usr/local/bin/jperl →#!/usr/local/bin/perl
だけですまそうと思ったんですが
で、アンケートをメールを送信するものなんですが、
アンケート項目が違うだけの3つのファイルがあって
もとが一つだから全部動くと思いきや、2個は正常に動くけど
一つは送信BOXをクリックするとエラーでとまります
原因推測できないでしょうか
ソースを印刷しても比較して間違い等を見つける事ができませんでした
0613nobodyさん2009/01/29(木) 16:47:57ID:???
エスパーのおれが推測すると、jperlだからマルチバイト関係のエラー
0614nobodyさん2009/01/30(金) 04:12:02ID:???
印刷てw

diff使わないの?
0615nobodyさん2009/02/16(月) 20:15:27ID:GhAJgFtW
cgiで掲示板を作ったんだけども、
新規スレッドの作成を制限したいんだよね。
新規スレッドを作る場合はパスワードを要求するようにしたいんだけど、
どうすればいいですか?

管理画面を表示させるときにはパスワード要求が出る仕様なんだけど、
どこのソースをいじれば新規スレッドの際にもパスワード要求できるかわからないんだよね。


下のコードは新規スレッド作成に関するコードからそれらしいのを抽出してみた。

# 新規投稿(新規スレッド作成)
if ($in{'res'} eq "") {

# indexファイル
local($i, $flg, $top, @new, @tmp, @top);
open(DAT,"+< $nowfile") || &error("Open Error: $nowfile");
eval "flock(DAT, 2);";
$top = <DAT>;

# 連続投稿IPチェック
local($no,$ho,$t) = split(/<>/, $top);
if ($host eq $ho && $wait > time - $t) {
close(DAT);
&error("連続投稿はもうしばらく時間をおいて下さい");
}
$new = $no + 1;

0616nobodyさん2009/02/16(月) 20:26:41ID:GhAJgFtW
下のコードは、管理画面に関するコードからそれらしいのを抽出してみた。

sub enter {
&header;
print <<EOM;
<blockquote>
<table border="0" cellspacing="0" cellpadding="26" width="400">
<tr><td align="center">
<fieldset>
<legend>
▼管理パスワード入力
</legend>
<form action="$admincgi" method="post">
<input type="hidden" name="login" value="1">
<input type="password" name="pass" size="16">
<input type="submit" value=" 認証 "></form>
</fieldset>
</td></tr>
</table>
</blockquote>
<script language="javascript">
<!--
self.document.forms[0].pass.focus();
//-->
</script>
</body>
</html>
0617nobodyさん2009/02/17(火) 10:41:30ID:zCBbM9fw
【       CGI名      】 コード発行所改良版(2009/01/18版)
【    配布元URL    .】 ttp://tcode.sakura.ne.jp/
【    設置サーバ    】 レンタサーバー
【スクリプトチェックの有無】 パーミッションなど設定済
【      質問内容     】 
codeconfig.cgiに明記されたlockdir ディレクトリの作成、
lockfile というファイルも作成。
code.cgi を置くディレクトリとlockdirのパーミッションは666、
code.cgi のパーミッションは755 と設定済み。
しかしcode.cgiにアクセスしてもエラーすら発生せず真っ白ページで
ソースタグ丸見え状態になることもありました。

どうすれば設置できるのかマニュアルすらなく全く不明なのですが
アドバイスをお願いします。
0618nobodyさん2009/02/18(水) 10:53:51ID:???
どもども卓ゲ板から誘導されて来ました
私もcgiについて余り詳しくないので適切なアドバイスが出来るか判りませんが・・・

とりあえず私が設置したのはオープンソースのコード発行所の2008年/11/20版ですが、多分余り変わりないでしょう
見つけた中で一番新しかったのがそれだったため
ちなみに手に入れた場所はここ
http://set.bbspink.com/test/read.cgi/leaf/1198829386/6


では具体的なアドバイス
とりあえずcodeconfig.cgiには
>code.cgi を置くディレクトリとlockdirのパーミッションは666
と書かれてますが、code.cgiを置くディレクトリ(フォルダ)のパーミッションが666だと、ページにアクセス出来ない等の問題が発生する様です
私は以下の様にパーミッションして、正常動作を確認しました

   + code[755] (全体を入れるフォルダ)
+ lockdir[666]
+ lockfile[644]
+ code.cgi[755]
+ codeconfig.cgi[644]
+ dionconfig.cgi[644]
+ index.html[644]

これで駄目ならどういう症状かまた教えて下さい

後とても基本的な事なので多分大丈夫だと思いますが、code.cgiの一番初めの部分はちゃんと鯖ごとに適したパスになってますよね?
ほとんどの鯖では#!/usr/local/bin/perlと#!/usr/bin/perlの両方で動作しますが、稀に違う場合があるので
これについて何と設定すれば良いかは、その鯖の仕様を読んでください
0619nobodyさん2009/02/18(水) 10:57:31ID:???
あらら、コピペった時にズレてるなw
これじゃあディレクトリの配置が意味判らないなw

  + code[755] (全体を入れるフォルダ)
    + lockdir[666]
      + lockfile[644]
    + code.cgi[755]
    + codeconfig.cgi[644]
    + dionconfig.cgi[644]
    + index.html[644]

こうです
0620nobodyさん2009/02/18(水) 11:54:36ID:???
>ソースタグ丸見え状態
ってどんな状態?
ソース丸見えならAddHandler cgi-script .cgiが無いんだろうし、
HTMLのタグが見えてるならContent-typeあたりじゃないか?
0621nobodyさん2009/02/18(水) 19:17:52ID:gfS2JjOE
>>618>>619>>620
ありがとうございます。

構成は現在このような状態です。

code20090118
 ├ captcha.cgi
 ├ codeconfig.cgi
 ├ code.cgi
 ├ dionconfig.cgi
 ├ chain.pl
 ├ datacheck.pl
 ├ grep.pl
 ├ kisei.pl
 ├ postfix.pl
 ├ index.html
 └ lockdir
    └ lockfile

まずローカルで試すと index.html から code.cgi へ進んでも真っ白ページへ。
127.0.0.1のローカルホストだとそういうことになるのかな?と思い、
レンタルしている鯖に設置しました。パスは鯖指定どおりの /usr/bin/perl 。

そしてレンタルしている鯖に設置し index.html から code.cgi へ進んでも
500エラーのタグが丸見え状態になるだけなのです。
パーミッションもいろいろ設定したのですが状況は
真っ白ページになるかソースタグ丸見えになるかのどちらかでした。
0622nobodyさん2009/02/18(水) 23:52:43ID:???
【       CGI名      】  メールフォームCGI
【    配布元URL    .】 http://apps.cside.com/cgi/mail/kisomail/
【    設置サーバ    】 自鯖
【スクリプトチェックの有無】 無
【      質問内容     】CGIは設置できたんですけど、アドレスを入力して
送信ボタンを押して送信しましたとはでるんですが、設定した、@yahoo.co.jp
に届いていませんでした。メールサーバーは設置していません。パーミッションは
設定しました。どうしたらできますか?
アドバイスをよろしくお願いします。
0623nobodyさん2009/02/19(木) 00:05:03ID:???
自鯖にsendmailあるの?
0624nobodyさん2009/02/19(木) 00:10:22ID:???
>>623
回答ありがとうございます。
sendmailはあります。

#■サーバに設置されているSendmailのパス(必須です)
#'/usr/sbin/sendmail'や'/usr/lib/sendmail'が良く使われるSendmailのパスですが、
#不明な場合には、サーバ管理者へ問い合わせてください。
$sendmail = 'C:/sendm/sendmane/sendmane.exe';

#■メールの件名
#※漢字が文字化けする場合は、化ける文字の直前に「\」を書く事で解決できます。
$mail_subject = 'メールフォームより';

#■宛先メールアドレス(必須です)
#ご自分のメールアドレスを設定してください。
$mail_to_addr = 'XXXX@yahoo.co.jp';

設定していますがうまく送れませんでした。
0625nobodyさん2009/02/19(木) 00:17:36ID:???
ttp://sao.scne.jp/sendm.html

sendmaneの単体での送信うまくいく?
0626nobodyさん2009/02/19(木) 01:14:29ID:???
>>625
認識ができないため、設定ができませんでした。
http://www10.uploader.jp/user/tora/images/tora_uljp00003.bmp
これがsendmaneの設定画面です
0627nobodyさん2009/02/19(木) 01:40:23ID:???
SMTPサーバとPOPサーバはドメインだけじゃ送れないっしょ

>nslookup -q=MX yahoo.co.jp.
みたいにして取得できるMXレコードに設定されてるメールサーバ名にしたらいいかも
0628nobodyさん2009/02/19(木) 01:48:40ID:???
>>627
http://help.yahoo.co.jp/help/jp/domain/domain-32.html
これのことですか?
0629nobodyさん2009/02/19(木) 10:38:11ID:???
XXXX@yahoo.co.jp には別のサーバやメーラーから送ってちゃんと届くの?
あとその自鯖のつないでるISPはOB25やってたりしない?
0630nobodyさん2009/02/19(木) 17:48:52ID:???
>>621
タグが丸見えってのは、cgiをサポートしてない鯖の可能性をやはり考えるが、それは大丈夫かな?
後は、レンタルしてる鯖のperlのバージョンが古かったりはしない?
例えば俺は最初Eタウンに設置しようとしたけど駄目だった
調べたらperlのバージョンが凄く古かった(5.0だった)

とりあえず無料の鯖色々試して設置成功したのはland.toだった
0631nobodyさん2009/02/21(土) 01:25:02ID:???
>>629
返事遅くなりましたが、プロバイダーからyahoo.co.jpには送れました。
ISPのほうはOB25になってます。これが原因ですか?
0632nobodyさん2009/02/21(土) 05:47:22ID:???
>>631
って>>626の画面見たけどSMTPサーバが何のことだかわかってないだろ?
まあどっちにしてもOB25ってのは外のSMTPを使わせなくする仕組みだから
自分のメールソフトに設定したのと同じ内容で設定しなけりゃ送れないと思うぞ。
0633nobodyさん2009/02/21(土) 22:44:57ID:???
【       CGI名      】超ぷち
【    配布元URL    .】 http://www.misskita.com/cgi/
【    設置サーバ    】 @nifty
【スクリプトチェックの有無】 自分でチェックできないものは使わない
【      質問内容     】 
chopetit.cgiの↓の項目だけ書き換え
$location = "http://homepage2.nifty.com/○○○/●●●.htm";
$script = $ENV{'http://hpcgi2.nifty.com/○○○/chopetit.cgi'};

●●●.htmに
http://hpcgi2.nifty.com/○○○/chopetit.cgiを置いたところ
書き込み欄だけ(nameとmessageと送信)表示され、送信を行うと

Forbidden
閲覧できません
このページは、ホームページ開設者が閲覧することを許可していないため、ご覧になることができません 。

と表示されます。

毎度のことniftyのCGIを置く場所のややこしさにひっかかっているんだと思います。
↓では問題でしょうか
cgi-bin / chopetit.cgi [755] 超ぷち
|
+- chopetit / chopetit.log [666] ログファイル
|
+- lock [777] / ロック用ディレクトリ
0634nobodyさん2009/02/22(日) 10:34:17ID:???
まずは同じ場所にhtml置いて試してみては
エラーログ見られないなら、なるべく原因特定するために単純なとこからやってみないと。
0635nobodyさん2009/02/22(日) 11:18:26ID:???
返答ありがとうございます。
一応cgi-binにhtmlを置いてみたりhomepageにchopetitを置いてみたりも
しているのですが、どうも現状と変わらないようです。

ちなみに他の掲示板を設置してみたところ、同じような状態で
〜は正しいですが接続できませんと表示されました。
0636nobodyさん2009/02/22(日) 11:20:37ID:???
そのchopetit.cgiを初期状態にして直接実行すると動作するのかな?
画面には何も出ないだろうけど、「ソースを見る」でscriptタグが見えるはず。
0637nobodyさん2009/02/24(火) 21:02:07ID:???
【       CGI名      】One Line BBS Light
【    配布元URL    .】 http://dream.lib.net/room/
【    設置サーバ    】 @nifty
【スクリプトチェックの有無】 自分でチェックできないものは使わない
【      質問内容     】 
超ぷち設置を断念し、niftyでの設置を事細かに記載されたサイトのある一行掲示板を設置することにしました。
せっかくアドバイスをいただいたのに申し訳ありません。

http://homepage2.nifty.com/jg8skl/pcsoft.htmを見ながら設置を行ったのですが
過去ログにはきちんと書き込まれるのに、ログが埋め込んだHTMLに表示されません。
おそらくhomepageにいれたid.jsが、挿入したタグのhttp://homepage?.nifty.com/******/cgiup/id1.js
呼び出せていないのだと思います。
上記サイトの通りの設置で何か問題がありますでしょうか。
0638nobodyさん2009/02/25(水) 10:07:30ID:???
リンク先とか見てないしnifty知らんけど
もしそのディレクトリがcgi専用の場所ならjs置けないよ。
実行するとjavascriptのファイル吐くcgiなら可能だけど。
0639nobodyさん2009/03/19(木) 20:11:47ID:???
   【       CGI名      】 imgboard 1.22 Rev.7
   【    配布元URL    .】  ttp://www.big.or.jp/~talk/t-club/soft/index.html
   【    設置サーバ    】 さくらインターネット
   【スクリプトチェックの有無】 
   【      質問内容     】現在500エラーがでます。多分、サーバー的には動作しそうなCGIなのですが設置できるか等、設定方法が分かりません…。使用ソフト:メモ帳、FFFTP
0640nobodyさん2009/03/20(金) 01:18:03ID:???
>>639
>>2
0641nobodyさん2009/03/24(火) 18:03:23ID:???
【       CGI名      】 自作の画像リサイズcgi
【    配布元URL    .】 
【    設置サーバ    】 ロリポップ
【スクリプトチェックの有無】 
【      質問内容     】 
リサイズのために画像サイズの取得がしたいんですけど、
ローカルの画像だとうまくいくのに、web上の画像URLだとできません。
昨日までabcオロチサーバーで使ってて、それは大丈夫でした。
サーバーによって何か違うんでしょうか?
サイズの取得には、Image::Magic、Image::Sizeを使いましたが、
どちらもダメでした。
0642nobodyさん2009/04/01(水) 20:24:15ID:???
【       CGI名      】nicky.cgi mobile.cgi
【    配布元URL    .】http://www.din.or.jp/~raelian/ReadMeNicky.html、http://www.din.or.jp/~raelian/mobile.html
【    設置サーバ    】sakura
【スクリプトチェックの有無】無
【      質問内容     】突然、メールでの投稿が出来なくなりました。
http://autoup.ath.cx/pinup.cgiを使っているのですが、「[POPサーバー] no respons」と出るようになりました。
yahooのフリメでも、「[POPサーバー] no respons」です。
以前はきちんと送れていました。原因が解らず困っております。
親切な方、よろしくお願いいたします。
0643nobodyさん2009/04/01(水) 21:10:19ID:???
ttp://www.din.or.jp/~raelian/mobile.htmlのところに
[POPサーバー] no respons
mobile.cgiを設置したサーバーでは動きません。

と書いてあるから諦めるしかない
06446422009/04/01(水) 23:31:26ID:???
今まで動いてたのに…
やっぱ諦めるしかないんですかね?
0645nobodyさん2009/04/02(木) 03:50:46ID:???
>>644
どこの鯖か知らんけど鯖のバージョンが変わったとかじゃないの?
調べた?
06466422009/04/02(木) 21:45:41ID:???
>>645
さくらのサーバー使ってます。
OSがバージョンアップしたらしくFreeBSD6.1からFreeBSD7.1になったみたいです。
やっぱどうしようもないんですかね?
0647nobodyさん2009/04/03(金) 09:55:27ID:???
初心者です。初歩的な質問すいません

「10日で覚えるPerl/CGI」を使って勉強しています。環境はWindouws vista
でXAMPP1.6.5を使っています。あとPerl5.8.7です。

この環境下で
#! c:/perl/bin/perl

print "Content-type: text/plain\n\n";
print "Hello Perl !";

という初歩的なコードをメモ帳に記入し1-1.cgiという名でXAMPPの
htdocsフォルダに入れてhttp://localhost/〜、http://127.0.0.1/
でブラウザで開こうとすると「要求された URL は本サーバでは見つかりませんでした。Error 404」
と表示されてしまいます。

どうすれば正常に表示され動くでしょうか?



0648nobodyさん2009/04/03(金) 09:59:44ID:???
まず1-1.cgiという名ならそう要求しないと
xamppの初期設定はよく知らんがhtdocsでCGI実行できるような設定になっていなければ
httpd.confのDirectoryディレクティブの設定にExecCGIとか追加しないと
0649nobodyさん2009/04/04(土) 23:37:53ID:???
メモ帳で作ったCGIファイルを叩いて404が出た系の相談はよく見かけるけど
たいてい 1-1.cgi.txt という名前になってたとかいうオチが待ってるので困る。
0650sage2009/04/08(水) 02:33:28ID:VNp9oTJU
【       CGI名      】Web Diary Professional 4.72
【    配布元URL     】 http://www.web-liberty.net/
【    設置サーバ    】 さくらサーバースタンダード
【スクリプトチェックの有無】 
【      質問内容     】
メールで日記更新できる機能があるのですが
先日のバージョンアップ後使えなくなりました。
ソケット通信を利用できるサーバであれば使えるという機能で、
さくらは現在もソケット通信は可能ですが
POP3サーバにログインできませんというエラーが出ます。
さくら以外の、POPサーバ使用可のメアドに送った場合でも同様でした。
配布元のサポート板では、Apacheのバージョンがあがり
mod_sslが組み込まれたからではないかという話もでていましたが
どのあたりの設定を修正すればいいのかわからずにいます。

それまで動いていたので、なんとかしたいのですが、
どなたかご助言お願い致します。

>>642の状態と似ていて、同じさくらサーバでのことです。
バージョンアップでPerlのバージョンも変わったりしているようです。
他に必要な情報があれば書きにきますので、
よろしくお願い致します。
06516502009/04/08(水) 02:35:43ID:???
すみません、sage間違えました。
0652nobodyさん2009/04/08(水) 10:36:16ID:???
単純に110にアクセスしてみるだけのcgi作って
そのさくらとかいう場所で試してみりゃいいじゃんよ
0653nobodyさん2009/04/08(水) 11:52:36ID:???
>>650
元のバージョンに戻せばいいじゃない
どうしても必要な機能が追加されたとかじゃなければ無理に新しいバージョンを使う必要ないでしょ
何でも最新版を使えばいいってもんじゃないよ
06546502009/04/08(水) 14:36:58ID:???
レスありがとうございます

>>652
CGIを自分で作ったことがないのですが、調べてみます。

>>653
後だしになってしまいすみません。
先日サーバーがバージョンアップし、それから機能しなくなりました。
CGIのバージョンを代える前も後も使えない状態です。
0655nobodyさん2009/04/22(水) 01:30:33ID:+JjVNGyS
>>642,650

弊社にて調査を行った結果、socketを用いたプログラムについて、packではなくsockaddr_inへ変更することで解決した事例がございました。

だって。
0656nobodyさん2009/05/27(水) 10:29:37ID:???
質問させてください。
前のサーバーで設定したフォームCGIはサーバーを移転するとどうなるのですか?


仮に普通に使えた場合、
前のサーバーではメールの転送設定してたのですが
今回のサーバーでも設定しなくてもそのようになりますか?
0657nobodyさん2009/05/27(水) 12:42:44ID:???
場合によるでしょ。
メールの転送、の意味が曖昧だけど
設定の仕方がわからないのなら、たまたま動作したとしてもそのままじゃまずいべ。
自宅鯖のくだ質で聞いたまま音沙汰なしの人?
0658nobodyさん2009/05/31(日) 16:01:20ID:ONuTHT0e
【       CGI名      】 Web Diary Professional 4.72
【    配布元URL     】 http://www.web-liberty.net/download/diarypro/index.html
【    設置サーバ    】 @homepage
【スクリプトチェックの有無】 
【      質問内容     】
cgiを設置して接続しようとしてもNotFoundになってしまいます
本家の設置方法、トラブルシューティング等でも解決しません
サバーがcgiをcgi-binという別のフォルダにアップするようになっているので
そのあたりが原因ではないかと思いますが、それも含めて手順通りなのに何故かできません
助けてください、よろしくお願いします
0659nobodyさん2009/06/12(金) 13:06:52ID:???
昨日から勉強し始めたミジンコですがいきなり詰まりました。

【       CGI名      】
【    配布元URL     】
【    設置サーバ    】isweb
【スクリプトチェックの有無】 
【      質問内容     】

通常のHTMLの表示は正常なのですが、cgiで文字を表示すると文字化けしてしまいます。
Firefoxで確認しましたが、IEで見ると正しく表示されているようです。

#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "テスト";

これだけ書いただけなのですが・・・
0660nobodyさん2009/06/12(金) 13:14:22ID:jptUys47
連レスすみません
あげます
0661nobodyさん2009/06/12(金) 13:16:01ID:???
Content-Type:text/html; charset=ISO-2022-JP
Content-Type:text/html; charset=Shift_JIS
Content-Type:text/html; charset=EUC-JP

みたいに自分が書いた文字コードを教えてやればいいかと
0662nobodyさん2009/06/12(金) 13:49:25ID:???
ついでに text/plain だと思う
0663nobodyさん2009/06/14(日) 10:24:20ID:i84kd9Ro
659です。
解答ありがとうございました。無事動作しました。
それでもう一つ質問を・・

【       CGI名      】
【    配布元URL     】
【    設置サーバ    】isweb
【スクリプトチェックの有無】 
【      質問内容     】
今日から1週間分の日付を表示する方法を考え、書いたのですが、

($sec,$min,$hour,$mday,$mon,$year,$wno) = localtime(time);
$i = 0;
while ($i<7){
$mday = $mday + i;
print "$mday";
$i++;
}

これだけだと月の最大日数を越えてしまうことのある問題があります。
例えば
&days = ("31","28","31","30","31","30","31","31","30","31","30","31");
$mday = $mday % $days[$mon];
と追加することを考えたのですが、
細かいことではあるのですがうるう年に対応できません。
解決策はありませんか?
0664nobodyさん2009/06/14(日) 10:25:30ID:i84kd9Ro
&ではなく@でした。
0665nobodyさん2009/06/14(日) 10:40:21ID:i84kd9Ro
たびたび申し訳ありません、%であまりを使うなら@daysの数字が正しくありませんでした。
0666nobodyさん2009/06/14(日) 11:46:20ID:???
>663
time()の結果は、ある瞬間からの経過秒数を示す整数。
だから、いまから10分後の時間は、単純にtime()の結果に10 * 60を足せば求まる。1日なら60*60*24を足せばいい。
で、その後localtime()で日付形式に直す、と。
0667nobodyさん2009/06/21(日) 17:45:52ID:5ibI/zs2
【       CGI名      】
【    配布元URL     】
【    設置サーバ    】isweb
【スクリプトチェックの有無】 plCheck?
【      質問内容     】
突然動かなくなりました。
気づいた30分程前には普通に動作していたのですが、
「CGIプログラムエラーのため表示することが出来ません。(500 Internal Server Error)」
というエラー表示がでて、開くことができなくなりました。
同じファイルをアップロードしなおしてみましたが、やはり動作しません。
別のCGIは正常に起動しているようですが、特定のもののみエラーとなっているようです。
更新は一切していなかったので、そういう類のエラーではないと思います。
入力フォームやファイルの読み書きを使っていますが、
何か送信されたことで壊れることもあるのでしょうか?
0668nobodyさん2009/06/21(日) 17:55:55ID:???
サーバの設定がかわったんだろ。
500エラーはサーバのエラーログみないと詳しいことはわからん。
0669nobodyさん2009/06/21(日) 17:57:28ID:???
あーあとは読み書きしてるファイルのオーナーやパーミッションのせいで
エラー出てるのかもな。cgiに起因するエラーならそのcgiで拾って表示することはできる
0670nobodyさん2009/06/23(火) 23:30:17ID:???
・保存したデータを使ってevalしてる
・空文字行が入ると変数に適切な値が入らずバグる仕様だった
などいろいろ予想できるな

取りあえずevalで死んでる理由をブラウザに出力してみることをお勧めする
06716672009/06/30(火) 11:51:25ID:Q3Q4iwEf
ありがとうございます。
修復しながら実験していましたが、
>・空文字行が入ると変数に適切な値が入らずバグる仕様だった
が原因であることを確信するに至りました。

cgiAからcgiBに送り、cgiBでdataCを作成し、dataCをcgiAで読み込む、
といった構成をとっているのですが、
例えば直接cgiBを開いてしまうと、dataCには改行のみが記録され、
それをcgiAで読み込むとエラーとなってしまうようでした。
ということでcgiB内で、dataCに必要な配列が空であった場合、
dataCは作成しないといった修正をしたいと考えているのですが、
空であったら省く、という動作はどのようにしたらいいでしょうか?
0672nobodyさん2009/06/30(火) 12:04:13ID:???
それはそういうコードを入れればいいだけだろう。
どんなコードかはキミが元のcgiを書いてないからオレにはわからん。
06736672009/06/30(火) 12:59:58ID:Q3Q4iwEf
私の考えでは、例えば

if ($a = 空であることを示すなにか){
print("数値が正しくありません。データは保存されません。");
}
else{
print("数値は正常です。保存されました。");

open (OUT,">>data/a.txt");
print OUT $a;
close (OUT);

}

といった感じの形にすればいいのでは?と考えたのですが・・。
0674nobodyさん2009/06/30(火) 15:32:13ID:???
>>673
例えば配列の要素数を見る
配列が空の時は配列の要素は0個

if(scalar @hoge == 0){…

要素を見て undef か空文字列の場合に分岐なら

if($huga eq ''){…

改行も入ってる可能性があるならあらかじめ chomp しておく

こんな感じ?
0675nobodyさん2009/07/04(土) 00:11:38ID:???
そこまで考えたのになぜやってみないのだろうか…
0676nobodyさん2009/07/04(土) 13:45:34ID:???
手元にPCがないと予想
0677nobodyさん2009/07/04(土) 18:08:23ID:C/xVn9DY
さくらインターネットを使っています。
html内に
<!--#include virtual="./xxx.txt" -->
と記述して、xxx.txt内のには
<!--#exec cgi="./zzz.cgi" -->
と書かれています。
html内に
<!--#exec cgi="./zzz.cgi" -->
を直接書けば実行されるのですが、
上記の方法でやると、実行してもhtmlのソース内に、
このコマンドがそのまま表示されてしまいます。
解決方法を教えて下さい。
0678nobodyさん2009/07/04(土) 18:17:59ID:???
前者の方法を使う。

または、xxx.txt がHTTP非公開ディレクトリに入ってても
動くのなら、xxx.txt を非公開ディレクトリに入れる。
06796772009/07/04(土) 19:03:37ID:C/xVn9DY
言葉が足らなくてすいません。
後者なら普通に動くのですが、
「前者」の方法でやるとコマンドがhtmlソースに残るだけになるということです。
0680nobodyさん2009/07/04(土) 19:18:59ID:JGjY4Dhz
【       CGI名      】 YY-BOARD  Day Counter
【    配布元URL    .】 KENT WEB
【    設置サーバ    】 XREA
【スクリプトチェックの有無】
【      質問内容     】

XREAの広告免除期間が終わり、広告が表示されるようになってから
カウンタ画像と掲示板の投稿キー数字画像が×になってしまいました。
サーバーの仕様変更は無いはずなんですが、何が原因でしょうか。
2つとも新たに設置しなおしても同じ症状です。
掲示板は投稿キー機能をオフにさせて稼働させている状況です。
yomiサーチも置いてるんですがこちらは問題なく動作しています。
0681nobodyさん2009/07/04(土) 19:49:45ID:???
スクリプト経由で画像表示させてるからじゃない?
自動で画像に広告挿入されてるから表示されなくなってるからxディレクトリを使うとかで回避
0682nobodyさん2009/07/04(土) 21:08:06ID:???
>>679
・xxx.txt(exec cgi だけ書かれたファイル) → xxx.shtml にリネーム
・include 時の記述も <!--#include virtual="./xxx.shtml" --> にする

こういうこと?気分的にすっきりしないけど
06836802009/07/04(土) 23:28:18ID:JLuVgr4g
>>681
xディレクトリで回避できました。ありがとうございます。

ただ、掲示板の方でページ上部に表示義務がある広告が表示されなくなったのですが
これを正しく表示させる方法はありますか?
0684nobodyさん2009/07/04(土) 23:46:22ID:???
xディレクトリで表示させたい時は広告タグを手動で埋め込む
06856832009/07/05(日) 01:48:57ID:TsoP6A8H
>>684
できました!ありがとうございました。
0686nobodyさん2009/07/07(火) 13:59:11ID:4tOYVlLE
必須入力の項目を作りたいのですが、以下のようにしたのでは送信できてしまいます。
未入力の場合のエラーメッセージの出し方はどうすればよいでしょうか?

<input type=hidden name="_indispen" value="test">
A<input type="radio" name="test" value="a">
B<input type="radio" name="test" value="b" >

<input type=submit value=" 送信 ">

0687nobodyさん2009/07/07(火) 16:36:03ID:???
JavaScriptを使えばできるよ
で、入力欄が無いようだけど・・
0688nobodyさん2009/07/08(水) 08:30:08ID:???
>>686
一旦サーバー側に送って、未入力があれば入力元のページに遷移させる
すべて揃っていれば次のステップへ
0689nobodyさん2009/07/08(水) 17:20:31ID:NnUdwNkP
>>686に関連して
プルダウンメニューで何か選ばないと「戻って選択してください」って
できないでしょうか?
0690nobodyさん2009/07/09(木) 11:29:45ID:???
>>689
>>688

ちゃんと値がわたってるかチェックした後ロケーションヘッダーとか分岐とかで元の画面に飛ばせ
06916892009/07/10(金) 10:14:04ID:???
>>690ありがとうございます。
でも・・ダメポ過ぎて何をどうすればよいか分からないです。
勉強します。
■ このスレッドは過去ログ倉庫に格納されています