500エラー表示されます

伊沢さん (2020-11-26 18:44:41) seirenkp.hitwave.or.jp/example.html

お世話になります。
メールフォームをご提供していただき、大変に助かっております。

現在、サーバー移行に伴いデータ一式を旧→新サーバーへ移行しているのですが、動作テストを兼ねてメールフォームCGI_6.8.3をダウンロード・アップしました。
動的ファイル群・静的ファイル群それぞれを以下のように格納してあります。
パーミッションもマニュアルどおりに設定済みです。
ですが送信をクリックすると、500 Internal Server Errorが表示されます。
ちなみに、check.cgiにはアクセスできて、「このサーバのsendmailのパスはたぶんだけど
●●●●こうっ!!」という警告が表示されております。
これは無視してサーバー会社指定のパスにしております。(無視して大丈夫ですよね…)

cgi-bin
 └ mailform(755)
  └ send.cgi(755)
  └ check.cgi(755)
  └ jcode.pl(644)
  └ count.dat(777)
 └ postcodes(755)

htdocs
 └ example.html

サーバー会社から指定のPerlのパス、sendmailのパスもsend.cgiで変更済みです。
example.html、send.cgiの文字コードはSift_JISでLF(UNIX)で保存しております。

エラーが表示される原因がわかりません。
お忙しいところ恐縮ですが、解決方法をご教示いただけますと幸いです。
何卒、宜しくお願い申し上げます。

改行コードがLFになっているかご確認ください

和田憲幸 (2020-11-26 18:52:44) www.synck.com

改行コード・文字コードともに確認済みということであれば、設定をおこなった際になんらかのよろしくないコードあるいは文字列が混入した可能性があります。ダウンロードした状態でまったく手を付けていないものをアップロードしていただき、それで送信テストを行った際に同様のエラーが表示されるかご確認をお願いします。

Re:改行コードがLFになっているかご確認ください

伊沢さん (2020-11-27 09:06:41) seirenkp.hitwave.or.jp/example.html

ご返信ありがとうございます。
ご指摘いただいたとおり、DLした何も編集をしていない状態のファイルをアップロードしましたが、やはり500エラーが表示されます…

解決しました

伊沢さん (2020-12-04 10:05:02) seirenkp.hitwave.or.jp/example.html

お世話になっております。
エラーが解決したので、報告させていただきます。

サーバー会社に検証してただいたところ、jcode.plとPerlのバージョンが原因だったようです。
jcode.plはPerl 5.22で非互換になった機能を利用しているため、
そのままではPerl 5.26では動作しないということでした。

ただ、有志で最新OSでも動作する互換ライブラリを開発された事例もあるようで、
jacode.plというものを配置したところ、正常に動作しました。
それに伴い、send.cgiの5行目あたり「require ’jcode.pl’;」部分も変更しました。

マニュアル等に一見そのような記載はなかったのですが、
当ホームページ内のどこかに注意書きなどがあったのでしょうか…
私の確認不足でしたらすみません。

もし同じようなエラーで悩んでいる方がおりましたら、参考になると幸いです。