- 締切済み
isweb42へのアップロード
ツリー型掲示板を自分のHPにあげようと思います。 1行目の設定も指定どうり/usr/local/bin/perlにしましたし、ちゃんと アスキーモードで転送しました。FFFTPを使ったので間違いはないと思います。 しかしアップし終わり上げた所へ行くと、500 Internal Server Errorと出るのです。 私が思うに1行目の設定の時に修正するときにDelキーで消しましたが/usr/・・・ の/usrの前にスペースがあったりなかったりするのでは関係があるのでしょうか? 端に詰めたり1,2個空けたりはやってみたのですが・・・ どうか知ってる方はレスの方宜しくお願い致します。
- hiromichi
- お礼率33% (1/3)
- その他(インターネット接続・通信)
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- you-m
- ベストアンサー率58% (190/327)
一般的にPerlで作ったCGIスクリプトを動かす場合の注意点は次の通りかと思います。 1.改行コードがサーバで使われているものになっている。UNIXの場合は[LF]ですね。 ASCIIモードで転送すれば、ちゃんと変換されるはずです。 2.マジックナンバー(一行目です)が正しく記述されている。 例 #!/usr/local/bin/perl 3.ファイルのパーミッションが正しく設定されている。 まずは、基本から・・・。
- emptyhead
- ベストアンサー率30% (17/55)
パーミッションの設定は確認しましたか?
関連するQ&A
- 掲示板の設置について
サーバーのCGI設置に関する記述 ■実行パス 絶対パス : /virtual/ID/ perl : /usr/bin/perl、/usr/local/bin/perl php3 : /usr/local/bin/php3 php4 : /usr/local/bin/php 、/usr/local/bin/php4 ruby : /usr/local/bin/ruby python : /usr/bin/python sendmail : /usr/sbin/sendmail nkf : /usr/local/bin/nkf sh : /bin/sh csh : /bin/csh uuencode : /usr/bin/uuencode uudecode : /usr/bin/uudecode ■実行パーミッション ・実行ファイル:0700(rwx------) ・データファイル:0600(rw-------) ・CGI格納ディレクトリ:0705(rwx---r-x) ・データ格納ディレクトリ:0700(rwx------) ・実行拡張子:[.cgi] PHOTOBBSの設置に関する記述 PhotoBBS Ver4.00(m) (2003/05/19) ディレクトリ構成&パーミッション /photobbs/ |------------/image/(777) | |------------/data/(777) | |--------- userdata(666)アスキーモードで転送 | |--------- admin(666)アスキーモードで転送 | |------- conf.pl(644)アスキーモードで転送 |------- custum.ph(644)アスキーモードで転送 |------- jcode.pl(644)アスキーモードで転送 |------- photobbs.cgi(755)アスキーモードで転送 |------- admin.cgi(755)アスキーモードで転送 1.最初に、photobbs.cgi と admin.cgi の一行目のPerl5へのパスと conf.pl の 13行目sendmail へのパスを正しく設定してください。 上記のようにサーバー側とBBSの設置マニュアルを参考に FFFTPでアップしましたが、掲示板自体動くのですが、 ファイルのアップをすると、(ファイル形式が間違っているか、データのないファイルです)と表示されます テストしてみると、テキストだけだと、正常に投稿できるのですが・・・。どなたかお分かりの方は教えてください
- 締切済み
- CGI
- 「#!/usr/bin/perl --」でなければ動作しないのはなぜ?
新しい職場に来て、あるCGIの設定を依頼されたのですが、どのような設定になっているのか、どのプログラムをアップしても「Internal Server Error」になってしまいました。 人に聞いて、「#!/usr/bin/perl」を「#!/usr/bin/perl --」としなければ動かないことまでは分かりました。 確かに、先に他の方が作成されたらしいCGIプログラム(単純な構成のものばかりです)ではすべて「#!/usr/bin/perl --」となってました。 こうしなければ、どんな簡単なプログラムでも絶対に動かないようです。 「*.cgi」というファイルが1つのみ(他の構成ファイルは他の形式)というプログラムならその方法で動いたのですが、複数の「*.cgi」ファイルで構成されているものはどうしても動きませんでした。 構成するファイルの中に、先頭に「#!/usr/bin/perl」の行がないファイルもあるのですが、もしかしてそのせいでしょうか? その場合、どうしたら解決できますか? そもそも何が原因なのでしょう? 今まで、色々な会社でCGIをいじってきましたが、初めての経験で戸惑っています。 FFFTPの設定(開業など)の問題ではないように思えるのですが、サーバーの設定がおかしいのでしょうか? 「#!/usr/bin/perl --」としなければ絶対に動かないというのは、どういう場合に起こる現象なのですか?
- 締切済み
- CGI
- CGIのパス(Apache winで)
初歩的な質問ですみません。 環境 windows2000 サーバー Apache/1.3.20 ActivePerl-5.6.1.626 をインストールが完了して、CGIを動作させようとしています。 ApacheでのHTML動作はできています。 CGIプログラムの一行目に #!/usr/local/bin/perl と記載されています。 その文字列を #!c:/bin/perl.exe に変更して現在動作させています。 しかし、ISPのHPスペースのperlへのパスは #!/usr/local/bin/perl なので、転送前に一行目を変更しています。 変更しなくても良いように ApacheでのCGIのパスを #!/usr/local/bin/perl で動作する方法を どなたか教えていただけないでしょうか? ちなみに Perlは[c:\bin]にインストールしてあります。 Apacheは[g:\apache]にインストールしてあります。
- ベストアンサー
- その他(インターネット接続・通信)
- CGI設置時に500エラーになります
CGIを設置しようとしたところ、500 Internal Server Error になります。 共用サーバーIDを使用しています。 CGIファイルは「cgi-bin」の中に入れています。 たとえばこんな簡単なCGIでテストしたのですが、500 Internal Server Errorになってしまいます。 ↓ #!/usr/local/bin/perl print "Content-type: text/html \n\n"; print "Hello"; #!/usr/local/bin/perlを #!/usr/bin/perlにしても結果は同じです。 (サーバーの指定は#!/usr/local/bin/perl) パーミッションは755にしています(705に変えてもダメでした)。 CGIファイルの改行コードはLFにしており、テキスト(ASCII)モードでアップロードしています。 それでも500 Internet Server Errorになります。 サーバーではエラーログが見られないのでみなさんにお聞きしたいのですが、他にどんな原因が考えられるでしょうか?
- ベストアンサー
- ネットトラブル
- CGI Perlについて
低レベルな質問で恐れ入ります。 Perlのパスがサーバーのサイトで …/usr/local/bin/perl となっているのですが #!…/usr/local/bin/perl でしょうか? #!/usr/local/bin/perl でしょうか?
- ベストアンサー
- その他(インターネット・Webサービス)
- サーバを移行したのですが、プログラムが動きません。
はじめまして。 Perl超初心者です。 先日、あるサイトのリニューアルをし、PHPでシステムを組んだのですが、一部のコンテンツに関しては、前の業者がPerlで組んでいたシステムをそのまま転用することになりました。 そこで、以前のデータを貰って、サーバのcgi-binのフォルダにそれらのデータをコピーし、関係すると思われるファイルのパーミッションを、755にし、 また、以前は、ファイルの一行目が、#!usr/local/bin/perl だったのですが、 これを、#!usr/bin/perl に修正しましたが、動いてくれません。 Internal Server Error と出てしまいます。 試しに、単純な text.cgi #!/usr/bin/perl print "Content-Type: text/html\n\n"; print "OK"; というファイルを置いてみたのですが、これは動いています。 ちなみに、移行しなければならないcgiファイルは、プログラムの中で、.pl ファイルを複数読み込んでいるのですが、このファイルのパーミッションは、755で良いのでしょうか? また、このプログラムでは、 cgi-bin のディレクトリから、 data というディレクトリの中にある.datファイルを読み込むはずなのですが、このdataというディレクトリは、cgi-binと同階層に置けばよいでしょうか? Internal Server Errorというエラーは、どういうときに出るエラーなのでしょうか? 色々ファイルを操作しても、このエラーしか出ないので、どう対処してよいかよく分かりません。 不勉強で大変心苦しいのですが、 ご回答よろしくお願いいたします。
- ベストアンサー
- Perl
- windowsでperlの1行目を無視する。
CGI(perl)の1行目である、#!/usr/bin/perlを読み飛ばす設定をしたいと思います。 httpd.confで ScriptInterpreterSource registry としました。 さらにレジストリで拡張子の関連付けが必要なようなのですが、それの具体的な方法がわかりません。 ご教授お願いします。 やりたい事は、ローカルとサーバーのperlのパスがことなるため、1行目を変更するのがめんどうでそれを改善したいのです。 現在は、c:\usr\bin\perl にperlをインストールして回避していますが・・・ 環境 windows2000 apache1.3.29 perl
- ベストアンサー
- CGI
- アクセス解析をつけたいのですが、CGI初心者
以下のようなアクセス解析を見つけ、自分のHPで使いたいのですが・・・ http://www.futomi.com/library/manual/accp/index.html HPはインフォシークのiswebでCGIを利用してもいいことになっています。 マニュアルにしたがってやってみましたが、なかなか上手くいきません。 1、Perl のパス設定 まずは、「acc.cgi」「acclog.cgi」「admin.cgi」の Perl のパスを設定してください。テキストエディタで、各 CGI ファイルを開いてください。すると 1 行目が、 #!/usr/local/bin/perl となっております。この行を、お使いのプロバイダー、もしくはレンタルサーバ業者の指定通りに修正してください。そして、保存してください。 → http://isweb.www.infoseek.co.jp/Icont?sv=IW&pg=iw_spec.html ここのページにある通り、/usr/local/bin/perl にして保存しました。 (=#!を削除) 2、cgi-binというフォルダのなかにaccフォルダを入れ、サーバーへアップロードしました。imageフォルダは転送せず、通常の場所へアップロードしました。 3、転送モードとパーミッションに注意とありますが、これは良く分かりません。 4、ブラウザーで admin.cgi にアクセスしてください http://*********.hp.infoseek.co.jp/cgi-bin/acc/admin.cgi と直接アドレスを入力してみましたが、エラーが出ます。 ここまでで何か間違っていることはありますか? 初心者には難しいでしょうか? 簡単といわれるのをいくつか当たってみましたが、やることはなんだか同じような気がして、、どうせならこれを使ってみたいです。
- ベストアンサー
- CSS
- perlの1行目が#!/usr/bin/perlだと動かず#!/usr
perlの1行目が#!/usr/bin/perlだと動かず#!/usr/bin/perl5.8.9だと動くのですが、 #!/usr/bin/perlで動くようにするにはどうしたらいいのでしょうか? インストールされているperlは This is perl, v5.8.9 built for darwin-2level です。 どこかでパスの設定をしてやればいいと思うのですが、 どこに何を書けばいいのかよくわかりません。 環境はMacOsX v10.6 SnowLeopardです。 どなたかよろしくお願いいたします。
- ベストアンサー
- Perl
- cgi-lib.plのReadParse関数
あるパールからcgi-libを呼び出して、ReadParse関数を使おうとするとInternal Server Errorがでてしまいます。 パールの中身は #!/usr/local/bin/perl require 'cgi-lib.pl'; require 'jcode.pl'; &ReadParse(*in); です。 そこで3行目と5行目の行頭に#をつけて飛ばすとパールは正常に動きます。 これってcgi-lib.plのReadParse関数がいけないんでしょうか? ダウンロードしたまま何も変更していないのに..... ちなみにサーバーのパールのバージョンは5.004のようです。
- ベストアンサー
- CGI