• ベストアンサー

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

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

質問者が選んだベストアンサー

  • ベストアンサー
  • shy00
  • ベストアンサー率34% (2081/5977)
回答No.1

perlのパスは、/usr/local/bin/perl になっていますか? その他 http://www.plala.or.jp/access/community/phps/ucgi_main.html で設定を確認してみてください

参考URL:
http://www.plala.or.jp/access/community/phps/ucgi_main.html
ryo-3
質問者

お礼

無事解決することができました。 プログラム中で、@がどうも、文字列として認識されないようです…。 どうもありがとうございました。

ryo-3
質問者

補足

お答えありがとうございます。 再度確認してみましたが、やはり #!/usr/local/bin/perl となっており、あっていました…。

その他の回答 (2)

回答No.3

私もぷららにアップしたばかりで、詳しくは分かりませんが、パーミッションはディレクトリ「705」、バイナリ、テキストは「704」で間違いないと思います。 先週末、アップした時はそれでOKでした。FTPは、FFFTPを使用して、属性変更で修正しました。

ryo-3
質問者

お礼

パーミッションはやはり、plalaにか言えあったとおり704でOKでした。 また、問題は無事解決できました。どうもありがとうございました。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

アップロードしたcgiの改行コードはどうなっていますか? windows形式(CR/LF)になっていたら、unix形式(LF)にしてみてください。

ryo-3
質問者

お礼

分かりました! 色々と、どこがまずいのか、簡単なプログラムからどんどん付け足していった結果、「@」に原因があることが分かりました。 どうやら、 print <<"EOM"; <html><body> <a href="mailto:xyz@goo.co.jp">Mail</a> </body></html> EOM のように、文字列として認識させていても、@だけは、別物ととるらしく、「\@」とすればOKでした。 ちょっと不思議でした。 どうも、ありがとうございました。

ryo-3
質問者

補足

TeraPadを使い、LF形式にして、再度UPしてみましたが、結局「500 Internal Server Error」がでてしまいました…。 UPするまえの改行コードをLFに変換したファイルをwindows純正のメモ帳で開いてみると、改行が変になっていたので、LFになっていたのは間違いないと思います。

関連するQ&A