ApacheとPerlをインストールしてローカルでの動作確認OKなのですが、HP上では機能しません。
プロバイダー側が作った「アクセス権が認められてません
・・・どうたら、こうたら」のメッセージがでます。
すべてのファイル(cgi,html,pl・・)をEUC(文字)CR+LF
(改行)にして、アスキーモードでアップロードしました。
Perlパスやパーミッションは間違いないとは思うのですが
、アクセスすると凄い文字化けになっています。掲示板は機能しません。FTPはFFFTPですので自動改行すると思うの
ですが、コードの設定に関係があるのでしょうか?
私はWin98,プロバイダーはUNIX系です。それから、Apache
とPerlを使ってエラーを調べられるようなことを聞いたの
ですが、どのようにするのでしょうか?お願いします。
No.1
- 回答日時:
ローカルで動作しているという事なのでスクリプトが間違ってい
ないという前提とします。
パーミッションに付いてはセキュリティー上の問題から705じゃ
ないと動作しない設定にしているサーバーがあります。
cgiをおいても良いパスがセキュリティーの都合上指定されたパ
スでないといけない場合があります。
cgiが任意のパスにおける場合、.htaccessを点検して下さい。
FFFTPのバージョンによるのかもしれませんが、FFFTPでファイ
ルをアップロードする時にFFFTPで文字コードを変換すると化
け化けになる事があるので、ローカルでEUC-jpにしておいて、
コード無変換であげるようにして見て下さい。(改行コードの
変換機能は悪さをしないみたいなので気にしなくて良いようで
す。)
チェックポイントはこんな所だと思うのですが、
> 「アクセス権が認められてません・・・どうたら、こうたら」
という事は、少なくともスクリプトが実行されていないという
ことですよね?そうなるとパスか、パーミッションか、.htaccess
あたりではないかと思われます。
この回答への補足
marimo_cx さんの言うように無変換でアップロードしたら文字化けは直りました。エラーメッセージは「403, Forbidden ・・・」。755はOK。htaccessはいらないプロバイダー(interQ)です。パーミッションが違うのかなあ?ちなみに
borad.ini-644
jcode.pl-644
cgi_lite.pm-644
これらが入ってるフォルダ-777
にしました。これ間違ってます?
No.2
- 回答日時:
サーバが UNIX ということは
改行コードは LF です。
#Windows は CR+LF、Mac は CR です。
改行コードに不要な CR がついてしまっているために
正常に動作していないのではないでしょうか?
No.3
- 回答日時:
相変わらず“403, Forbidden”なんですね。
# InterQ使った事無いので以下一般論です。
サーバーによっては .pl と .cgi の拡張子が両方とも使えたり、
“どっちか”しか使えない様になっていたりしますが、逆さとい
う事はないですよね?(一応念のため)
ところで、.cgiをおいてある階層にHTMLファイルを置いてみて、
それって見えますか?すみません、まだ原因考え中なのでとりあ
えずそれがどうなるのか教えて下さい。
# とにかく実行してないって事ですからねぇ。
最初の質問の中にご自分が書いていらっしゃいますが、FFFTPは
デフォルトのままだとUPLOAD時にFL、DOWNLOAD時にはCR+LFにコ
ード変換を自動でしてくれるので気にしなくて平気です。
この回答への補足
相変わらず悩んでます。これってパスミスに関係ありますか?
オリジナルドメインはhttp://www.×××.com/です。オリジナルドメインでのCGIの呼び出しは出来ないようになっているらしくて、http://cgi.members.interq.or.jp/×××/user-cgi-bin/○○○.cgi で呼び出すそうです。HPにアクセスするときはhttp://www.×××.com/から入っていきます。cgi スクリプトにはURLは打ち込んでません。初期設定で $myname=$EN{SCRIPT_NAME};となってます。ここを書き換えないといけないのでしょうか?もしそれだとすれば、HPのURLはオリジナルドメインのままでもよいのでしょうか?よろしくお願いします。ちなみに同じ階層のHTMLファイルは表示します。
No.4
- 回答日時:
> $myname=$EN{SCRIPT_NAME};
これは何でしょう?環境変数なら
$myname=$ENV{'SCRIPT_NAME'};
というように収得するはずです、あぱっちなら。
あと、今回は機能しないのではなく実行しないのですから
恐らく関係ないと思われます。
> http://cgi.members.interq.or.jp/×××/user-cgi-bin/○○○.cgi
結局これでアクセスしてもエラーは今までと同じというこ
となのでしょうか?
この回答への補足
度々恐れ入っております。http://cgi.members.interq.or.jp/×××/user-cgi-bin/○○○.cgi
ではアクセスは出来ませんでした。interQはexecタグが使えないのですが<AHREF="board.cgi?exec=postform">投稿</A>これって、そのものズバリですか?だとすればこのスプリクトはつかえないってことですよね。どうしようかなあ(T_T)
No.5
- 回答日時:
> <AHREF="board.cgi?exec=postform">投稿</A>
パスが合っているとして、これはSSIではなくcgiへのリンクですからexec
禁止には該当しないはずです。
ところで、
<!-- test.cgi -->
#!/usr/local/bin/perl < そういえばここは環境依存ですが、合ってますか?
print "Content-Type: text/html\n\n:;
print "<HTML><HEAD><TITLE>test page!</TITLE></HEAD>";
print "<BODY><H1>TEST</H1></BODY></HTML>\n";
<!-- end of test.cgi -->
みたいな、絶対動くcgiスクリプトでテストしてみるとどうなりますか?
的確な該当が出来なくてすみません。
この回答への補足
marimo_cx さん本当に度々すみません。現状報告します。テストCGIはちゃんと表示します 。(http://cgi.・・・・・から入って)、上の階層でも下の階層でもどこに置いても。それからexecですが、cgiスクリプトの中には#execは見当たりません。if ($cgi{exec} eq "postform")のようなものばかりです。このスクリプトはdbmのサポートがいるのですが、Perlのパスは確認したところ#!/usr/local/bin/perlと同じでいいとのことです。先回質問しました$myname = $ENV{SCRIPT_NAME}; ( #このファイルの URL)スクリプトの始めのほうに書いてある環境変数ですよね、ここを $myname = http://cgi.・・・・・と書き換えるとおかしくなるでしょうか?
補足日時:2001/01/10 01:28No.6
- 回答日時:
> 先回質問しました$myname = $ENV{SCRIPT_NAME}; ( #このファイルの URL)
今更の質問なんですが^^;、このスクリプトは自作ですか?
$myname は何の目的で使っている変数でしょう?
> スクリプトの始めのほうに書いてある環境変数ですよね、ここを
> $myname = http://cgi.・・・・・と書き換えるとおかしくなるでしょうか?
このように書き換えている理由は何でしょう?
<!-- env_test.cgi -->
#!/usr/local/bin/perl
print "Content-Type: text/html\n\n:;
print "<HTML><HEAD><TITLE>test page!</TITLE></HEAD>\n";
print "<BODY>\n";
foreach (keys %ENV) {
print "$_ : $ENV{$_}<BR>\n";
}
print "</BODY>\n</HTML>\n";
<!-- env_end of test.cgi -->
これを実行してみて下さい、%ENVの意味が解ると思います。
> このスクリプトはdbmのサポートがいるのですが、
ん~、何をするcgiなんでしょう?
*.dirと*.pagをローカルで作ってアップロードしないとわけわかめになる事もありますが。
そこの所のパーミッションとファイル所有者は大丈夫な設計でしょうか?
でもエラーが500じゃなくて403なんですよねぇ?
この回答への補足
またまた、すみません。 $ENVはよくわかりました。CGIスクリプトは掲示板用で、「掲示板を作ろう」と言う手引書に付いていたものです。今度別の本の掲示板スクリプトで試しましたが、htmlファイルは表示するのですが、CGIファイルには移動できません。HPのURLなんですが、http://www.○○○.comがオリジナルドメインで取ったものですが、http://www.interq.co.jp/××/△△△でもアクセスできるのです。2つURLが有る形なのですが、これってパスミスのようなことが起きますでしょうか?FTPソフトのホスト設定はftp.members.interq.or.jpでしてあり、上のアドレスはつかってないです。CGIの呼び出しはhttp://cgi.members.interq.or.jp/××/△△△/test.cgiでしなくてはいけないそうで、一貫性がないのです。変じゃないですか?尚、別本のCGIもローカルでの動作は確認済みです。(T_T)
補足日時:2001/01/11 03:59No.7ベストアンサー
- 回答日時:
> 一貫性がないのです。
変じゃないですか?それぞれのセキュリティーポリシーですので、公称通りに稼動して
いるのであれば、とやかく言う事は出来ません。
> 尚、別本のCGIもローカルでの動作は確認済みです。(T_T)
そのスクリプトもInterQでは動かないのでしょうか?
それもdbm使っているのですか?
dbmpoen に関する行をすべてコメントアウトするとどうなりますか?
この回答への補足
marimo_cx さんすみませんです。これで最後にします。別本の掲示板スクリプトはdbmを用いていない単純なものです。(名前・メルアド・コメントのみ入力)これは404のエラー。問題のスクリプトのほうは今回500のエラー、dbmopenをコメントアウトして試しましたが、500のエラー。全然お手上げです。ローカルでは問題ないのに・・。文字と改行コードが途中で変わっちゃうのかなー?別のプロバイダーで試してみようかなー (T_T)
補足日時:2001/01/12 06:12marimo_cx さん大変有難う御座いました。親切なアドバイス。初心者の私に付き合っていただき、貴重な時間つかわせてしまって、大変感謝しております。相変わらずお手上げなのですが、すこし熱をさまして、また頑張ります。なにかの折りには又よろしくお願いいたします。感謝感謝m(__)m ほんと感謝です。 m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
一番簡単なCGI,掲示板の設置教...
-
/bin/awk '{print $5}'ってどう...
-
apacheでPerl CGIが作動せず、5...
-
フォームを再送信しますか?
-
CGIで得た内容をHTMlページに代入
-
CGIって何ですか?簡潔に教えて...
-
cgiからsendmailを送信で文字化け
-
cygwinのターミナルの文字が読...
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
-
ホームページでCGIのフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームを再送信しますか?
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
ホームページでCGIのフォームを...
-
入力フォーム(電話番号)
-
htmlからパラメータで、cgiに渡...
-
/bin/awk '{print $5}'ってどう...
-
CGIが読み書きするデータファイ...
-
POSTメソッドの最大容量について
-
チェックボックスでのvalue値の...
-
cgi アクセス制限 エラー
-
CGIゲーム設置について
-
サイト訪問者の情報を取得したい
-
CGIって何ですか?簡潔に教えて...
-
cgiからsendmailを送信で文字化け
-
ホームページにメールフォーム...
-
ラズパイでのCGIで、pythonソー...
-
一番簡単なCGI,掲示板の設置教...
-
perlで書いたcgiでsqliteの使い...
-
CGIメールフォームの件名について
おすすめ情報