• 締切済み

サーバで上手く動かない?

こんばんわ。 お世話になっています。 アクセス集計を行うCGIがあるんですが、ローカルでちゃんと動作確認できたのにサーバにあげたら上手く動いてくれません。 CGIはあるログファイルからデータがあればカウントしてグラフ化し表示するものです。 一応、ちゃんとサーバ上で動作していたものらしい上、ローカルでちゃんと動作したのでスクリプトミスと言うことはないと思います。 考えられるとしたらパーミッションの設定かと思い、700,705,755,777と試したのですが結果は変わりありませんでした。 他に考えられる原因があるとすれば何かありますか? ちなみにローカルで動作させた際のOSはWindowsです。 サーバはUnixですが、動作していたと思われるサーバもUnixでした。 Perlのバージョンは共に5.6です。 よろしくお願いします。

  • CGI
  • 回答数3
  • ありがとう数2

みんなの回答

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

apacheを使用している前提です。(linuxでのみ確認) 1.スクリプト aaa.cgiを/home/bbb/public_htmlで実行した場合です。(bbbは各ユーザ名) 1)suexecを使用している場合は、public_html及びaaa.cgiのパーミッションを共に755にする必要があります。 2)suexecを使用しない場合は、多少制約がゆるくなります。(777でもOKなど) apacheのログは、どのようなものを出力していますか。 1)Premature end of script headersの場合は、suexec関連の可能が高いです。suexecのログを参照してください。 2)Options ExecCGI is off in this directoryの場合は、apacheの設定の問題(CGIの実行をそのディレクトリで許可していない)になります。 linux(redhat9) Apache/2.0.40では、 apacheのログは/var/log/httpd/error_log suexecのログは/var/log/httpd/suexec.logとなります。 apacheに関しては apche1.3の場合はhttp://httpd.apache.org/docs/ apahe2.0の場合はhttp://httpd.apache.org/docs-2.0/ を参照ください。

nana_ko
質問者

お礼

みなさんありがとうございました。 質問後、いろいろと見直し等行ってみました。 改行コードが一ヶ所のみ、Windowsの改行コードになっていたためでした。 ローカルがWindowsだったため、サーバで動かないのは当然ですよね^^;;; いろいろ指摘していただき、ありがとうございました。 この場を借りてお礼申し上げます。

  • the845t
  • ベストアンサー率33% (246/743)
回答No.2

Perlのパスの他に、 requireとかで呼び出す時に、 Windowsだから\を使ったのでは? それを変えてみるとか。

  • stouma
  • ベストアンサー率35% (142/399)
回答No.1

先頭行での #!/usr/local/bin/perl(相手のサーバ環境により異なる) は適切に記載されていますか? ご確認下さい。

関連するQ&A

  • plalaのcgiサーバへのPerlプログラムのUPについて

    windows上のローカルサーバで、自作のperlプログラムを動かし、きちんと動作したのでplalaのcgiアカウントをとり、UPした後、パーミッションもplalaの注意書きに書かれていたとおり、ディレクトリ以外のバイナリや、テキストを「704」に変更しました。 Perlへのパスも間違っておらず、プログラムミスということもないと思っています。 しかし、UPしたcgiファイルにアクセスしようとすると、「Internal Server Error」と表示され、パーミッションを「755」などにかえても、パーミッションがおかしいとでます。 いったいパーミッションを何にすればよいのでしょうか?

  • ロリポップサーバでのWeb拍手cgi設置について

    自分はロリポップサーバを利用しているのですが Web拍手のcgiを自サイトで動かす際のパーミッションが正しくないようで...正しく動作しません; ロリポップが推奨するパーミッションもWeb拍手配布サイト様が推奨するパーミッションも試してみたのですが上手くいかず...(@_@;) ファイルはちゃんとアスキーで転送しましたし perlパスもサーバに合わせたのですが... あとはパーミッションの問題だと判断しました。 使用ファイルは(数字は配布者様推奨パーミッション値) ・clap.cgi :拍手送信cgi 755 ・kaiseki.cgi :解析表示cgi 755 ・clapinit.cgi :設定、主要サブルーチン 644 ・jcode.pl :ライブラリ 644 ・log.dat :ログファイル 666 ・mes.dat :メッセージ保存ファイル 666 ・lock.dat :ファイルロック用ファイル 777 拡張子で見分けがつかない初心者なもので... ローカルでは動作したのであとこれだけ…!!! ロリポップで拍手cgi作動出来た方、ぜひ教えてください...(_ _;) 拙い質問で申し訳無いのですが...回答いただけると嬉しいです(*^_^*) それでは。長文質問失礼致します。。  

    • ベストアンサー
    • CGI
  • MP Form Mail CGI で 500サーバーエラー

    初めまして、gibasense といいます。 サーバーエラーが表示されて困っています。 助けてもらえないでしょうか(>_<) 【使用CGI】  futomi's CGI Cafe  MP Form Mail CGI Professional 版 (メールフォームCGI)  http://www.futomi.com/library/mpmailp.html 【エラー内容】  CGIを実行すると505 Error - Internal Server Error が表示される。 【仕様サーバー】  ロリポップ  【PC環境】  ・OS WindowsXP  ・FTP FFFTP V1.92 【操作設定内容】  ・サーバー上のCGIディレクトリの削除  ・再度、CGIをダウンロード  ・サーバーにアップロード(ASCIIモード)  ・パーミッションの設定   フォルダ[705] HTML,画像ファイル[604] CGI[700] 又は、[704] 【CGIサイト管理者より】  CGIフォルダをサーバーにアップロード後、パーミッションをmpmail.cgi[704]admin.cgi[704]  に設定するだけでCGIは動作する。とコメント頂きました。  (ロリポップのサーバーでテストをして頂きました。) 【その他テスト】  上記のフォームメール以外のCGIは問題なく動作します。  (アクセスカウンター、アクセス解析等) 【追記】  ・Perl のパスは標準で #!/usr/local/bin/perl でした。  ・ロリポップのサーバー番号によって仕様がちがうのでしょうか? どうぞ宜しくお願いします。m(_ _)m

    • ベストアンサー
    • CGI
  • 自作サーバーでムーバブルタイプを動くようにしたいのですが・・・

    自作サーバーでムーバブルを動くようにしたいのですが・・・ うまくいきません。 サーバーはCentOS 3.6でperlのバージョンは5.8.0です。 /usr/bin/perl にあります。 これで、configファイルのパス名を変えてアップしています。 ログインしようとしたら以下のようなエラーが出ます。 Forbidden You don't have permission to access /login/mt.cgi on this server. configの内容が悪いのか? サーバーに設定の問題か? mt.cgiのファイルを触らないといけないのか? データベースを構築しないといけないのか・・・? 誰か助けていただけたら幸いです~ どうぞよろしくお願いいたします。

  • 自作したサーバーでperlが動かない

    この度、centos5.3で自宅サーバーを組んだのですが、どうしてもある記述をしたperlのプログラムが動作しません。 他の記述方法であれば、問題なく動作します。 内容としては、htmlをOPENで読み込んで、出力させるだけの単純な物です。 なにか設定が悪いのでしょうか? なお他のサーバーでは、同じプログラムは動作します。 perlのバージョンは、5.8.8です。 記述の内容は次の通りです。 ********************************* #!/usr/local/bin/perl open(HTML, "test.html"); @log = <HTML>; close(HTML); print "Content-type: text/html\n\n"; print <<"EOF"; @log EOF exit; ********************************* エラーログには、Premature end of script headers: test.cgiとなっています。 もちろん、test.htmlファイルも存在します。 どなたかお教え頂けませんでしょうか? 宜しくお願いします。

  • UNIXレンタルサーバー

    UNIXレンタルサーバー探しています。 できるだけ、安価で安心できるサーバーがいいなぁと思って探しているのですが、いろいろあって値段にも結構差があってどれにしていいのか探せば探すほど解からなくなってきました。 必要な条件は以下の通りです。 * オリジナルのCGIスクリプトの利用が許可されていること * UNIXサーバーであること * perlのバージョンが5以上 * sendmailの利用が可能であること ご存知のサーバーでよいところがあれば教えてください。 お願いいたします。

  • これはサーバー側の設定?

    お世話になります。 ろくにperlも書けない初心者です。 Flash(SWF)内でメールフォームを作っています。 丁度良いサンプルがあり、そのCGI(perl)をそのまま拝借。 テスト用(自前)のサーバーでは問題なく動作。 ところが実際に使用するサーバーに上げてみると動かないのです。 仕組みとしては、swfからgetURLで変数(送信元、送信先、メッセージなど)をcgiへPOST送信。 cgiは未記入のモノがあったらerror、埋まっていればOKの変数を返す。 (swf内のテキストボックスを受信用に空けています) その変数によって、飛ぶフレームを判断、「送信完了」「送信エラー」などを表示する。 といったモノです。 CGIの設置位置(perlへのパス、cgiへのパス)は確認しました。 パーミッションも確認済み。 何より、返り値の無い、HTMLを生成するタイプのCGIは動作しています。 さて、どうすれば上手く表示されるか分かりませんか? サーバーによってそういった違いってあるのでしょうか? 念のため、仕様は以下の通りです。 ウェブサーバーソフト(httpd) Apache1.3.22 Cコンパイラ gcc (ver2.8.1)/usr/local/bin/gcc OS Solaris2.6 SPARC版 利用可能なPerl Perl5 ( 5.005_03 ) よろしくお願いします。

    • ベストアンサー
    • Perl
  • 通販開業Xのサーバーを自宅サーバーにするには

    通販開業Xでレンタルサーバーを借りると結構お金がかかるので自宅サーバーにお店をおきたいのです。なんどか試しているのですが、うまくいきません。 初期設定で (1)レンタルサーバーの選択 (2)cgiに記述するperlのパス (3)管理メニューにアクセスするためのURL 今の設定は (1)その他 (2)#!/usr/local/bin/perl (3)127.0.0.1/cgi/ です。 自宅サーバーに通販開業Xをインストしているため、(3)のようにしているのですが、これであっているのでしょうか? 自宅サーバーには「active perl」「apache」「Tiny FTPD」等をインスト&設定済みです。テスト用の掲示板などは正常に動作するのですが、なぜか通販開業Xはだめです。 ページにアクセスすると404エラーで表示できません。 tsuhanFTPでのアクセス、アップロードはできます。

  • 自宅サーバでCGIが機能しないのです

    素人の質問で恐縮です。自宅サーバを構築中ですが、アパッチをインストールし、DDNSによるドメインを取得し、HPを公開できました。FTP環境もできました。ただ、ActivePerlの最新版ををインストールし、コマンドプロンプトで起動確認もできたのですが、CGIファイルをcgi-binフォルダに入れても機能しません。一行目を#!c:/perl/bin/perlか、#!c:/perl/bin/perl.exeにしたのですが、パールをつかみにいかないのです。サーバはWindowsXPのホームエディションSP2ですが、WindowsはUNIXみたいにパーミッションの概念がないので設定は不要だと、あるサイトに書いてましたが不要ですか?確かに以前、プロバイダのWEBスペースでCGIの掲示板を使っていた時は、FTP上でパーミッションを設定していましたが、自宅サーバ(windows)ではFTP上で設定しようとしてもはねつけられてしまいました。どなたかアドバイスいただけましたら幸いです。

    • ベストアンサー
    • CGI
  • アクセスで500エラーが出るのは普通ですか

    メールフォームのログ.cgi(パーミッション600とか) にブラウザから試しにアクセスしてみると 500 Internal Server Error が表示されるんですが、これが正常な動作ですか? トップのCGIは通常通り動作します。

    • ベストアンサー
    • CGI

専門家に質問してみよう