今回の記事は、コアサーバーでcgiで500エラーが出たときの備忘録です。
使ってるサーバーの1つにコアサーバー(coreserver)があるんですが、2022年5月23日にリニューアルを実施したため、これの影響で500 Internal Server Errorが出たんだと想像します。
結論から先に書けば、cgiファイル内に記載されている読み込みファイルのjcode.plが原因だったようで、jacode.plに変更して解決しました。
コアサーバーのcgiで500エラー解決の順番メモ
jacode.plのダウンロード
ダウンロード先サイトの左メニュー、Toolの下にダウンロードリンクがある。
圧縮ファイルを解凍
ダウンロードファイルは圧縮されているので、解凍。
フォルダ内を探って行くと、[lib]内にjacode.plがある。
jacode.plをサーバーにアップロード+作業ごにょごにょ
解凍して見つけたjacode.plを、サーバー上のcgiやjcode.plと同じ階層にアップロードする。
次に、各cgiファイル内に記載されている
require ‘./lib/jcode.pl’
を
require ‘./lib/jacode.pl’
のように書き換える。
※cgiファイルが複数ある場合は、それぞれ書き換える。
もしくは、
- cgiファイルと同じ階層にあるjcode.plのファイル名を一旦違うファイル名にリネーム
例)jcode.pl.old - jacode.plをサーバーにアップロード後、jcode.plにリネーム
でも良いと思います。
後者の場合は、cgiファイル内の記載を書き換えなくても良いので、こちらのほうが楽かもしれませんね。※後者のほうは試してませんのでダメなら前者で対応してみてください。
追記:後者のほう(jacode.plをサーバーにアップロード後、jcode.plにリネーム)でもうまくいきました。
コアサーバーで突然cgiで500エラーが出たかたは1度おためしください。
コメント
同様に500エラーで悩んでいましたがお陰様で無事解決しました。
ありがとうございました。
はるみちさん、解決できて良かったです。コメントいただけるなんて感謝です。こちらこそありがとうございました。
500エラーが出てましたが、こちらのブログを拝見させていただいて、解決しました。
有難うございます(^^♪
まささん、解決できて良かったです。記事がお役にたったこと、こちらも嬉しいです。
XREAに置いてあるホームページで、アクセスカウンター、ダウンロードカウンター、フォームメールでエラーが出て困っていました。
jcode.plの差し替えで解決しました。
ありがとうございました。m(_._)m
よしさん、解決したとのコメントありがとうございます。
お役に立てたなんて、記事書いてよかったなと思いました。
メールも頂いていましたね。重ねて感謝いたします。
これからも、少しでもお役立ち記事を書いていきますので、よろしくお願いいたします。
差し替えただけで解決しなかった場合は、全てのファイルの全てのrequire文を見直して、ファイル名の頭に「./」を入れないといけないことがあるみたいです。
コメントありがとうございます。
> 差し替えただけで解決しなかった場合は、全てのファイルの全てのrequire文を見直して、ファイル名の頭に「./」を入れないといけないことがあるみたいです。
そうなんですね。知らなかったです。他のサイトでも同様の問題が出た時に、この方法で解決したのでOKかと思ってました。
ファイル名の頭に「./」を入れないといけない⇒相対パスを見直すということですね。
入れないといけないことがあるみたい⇒うーん、ややっこしいですね。
勉強になります。
>全てのファイルの全てのrequire文を見直して、ファイル名の頭に「./」を入れないといけない
ここ、もう少し詳しく教えていただけないでしょうか?
require文に「./」を入れたのですが、
require “$EST{temp_path}sitemap.html”;
のようなところにも必要なのでしょうか? それ以外のところに入れてもエラーが
解決しないのですが…
yomi-searchさんの方でアップデートが行われておりませんで、ほとほと困り果てております。
当方の場合は、require文に「./」を入れなくてもうまくいったので、たきがはさんの症状には当てはまらないのかもしれませんね。
「./」を入れる方法はやっていません、ごめんなさい。
> 追記:後者のほう(jacode.plをサーバーにアップロード後、jcode.plにリネーム)でもうまくいきました。
こちらの方法は試されましたか?
早々のお返事、ありがとうございます。
1 jacode.plに書き換える
2 jacode.plをjcode.plに書き換える
3 require ‘***’ を全て require ‘./***’に書き換える
まで試しましたが、500 Internal Server Errorが出続けてます。
require “$EST{temp_path}sitemap.html”にも「./」を入れるとなると
yomi-searchを諦めようかと思うレベルでして…
xreaのサイトも見たんですが、「5.26に合わせてね」って書いてあるだけでして…
たきがはさんが行われた作業
1 jacode.plに書き換える
2 jacode.plをjcode.plに書き換える
この1と2の作業が実際よくわからないのですが、下記の順番で作業されましたか?
1.jacode.plの圧縮ファイルをダウンロードして解凍
2.解凍した中のjacode.plをサーバーにアップロード(jcode.plと同じ場所に)
3.元々のjcode.plをリネーム(例:jcode.pl.old)
4.jacode.plをjcode.plにリネーム
この方法の順番でダメなら申し訳ありません。わたしには手がおえません。
長々とお付き合いいただきまして、ありがとうございました。
書かれてるとおりの順番です(1~4)。
その後、「jcode.pl」と書かれてるところを全部「jacode.pl」に変えましたが駄目で
「require」で始まる「jacode.pl」に「./」をつけて駄目で
「require」の変数の入ってないところ全部に「./」をつけましたが駄目でした。
いい検索エンジンだったんですが素人にはここらが限界のようです。
色々とありがとうございました。
たきがはさん、当方、プログラムには強くありませんので、歯がゆくお役に立てず申し訳ない気持ちです。
どこかのサイトに解決策が書いてあり修正できることをお祈りいたします。
こちらこそ、コメントいただきありがとうございました。