さくらのレンタルサーバーで「505 Internal Server」エラーが発生する場合の対処方法
Mojoliciousのアプリケーションがローカル環境では実行できるけれど、レンタルサーバーにアップロードしてCGIとして動かそうとしたときに動かないということはよくあります。以下の原因が考えられるので順番に対処しましょう。
404 Not Foundが表示される
URLが間違っています。正しいURLをブラウザに入力しましょう。
モジュールのロードができていない
ローカルの環境には、CPANモジュールが存在するのに、サーバー上には存在していないということがあります。以下の記述をスクリプトの先頭に追加すると、読み込みに失敗した場合のエラー内容が表示されます。
use CGI::Carp 'fatalsToBrowser';
改行コードの変換ミス
Windowsからレンタルサーバにアプリケーションをアップロードする場合は、改行コードを変換する必要があります。ASCIIモードで転送を行っているかを確認しましょう。app.cgiのみASCIIモードで転送されていればよいです。他のスクリプトについては、どちらのモードであってもかまいません。