Perlゼミ

  1. Perl
  2. Mojolicious

さくらのレンタルサーバーで「505 Internal Server」エラーが発生する場合の対処方法

Mojoliciousのアプリケーションがローカル環境では実行できるけれど、レンタルサーバーにアップロードしてCGIとして動かそうとしたときに動かないということはよくあります。以下の原因が考えられるので順番に対処しましょう。

404 Not Foundが表示される

URLが間違っています。正しいURLをブラウザに入力しましょう。

スクリプトの内容が表示される

拡張子が「.cgi」以外になっていませんか。「.cgi」という拡張子がないとCGIスクリプトとして実行されません。

モジュールのロードができていない

ローカルの環境には、CPANモジュールが存在するのに、サーバー上には存在していないということがあります。以下の記述をスクリプトの先頭に追加すると、読み込みに失敗した場合のエラー内容が表示されます。

use CGI::Carp 'fatalsToBrowser';

改行コードの変換ミス

Windowsからレンタルサーバにアプリケーションをアップロードする場合は、改行コードを変換する必要があります。ASCIIモードで転送を行っているかを確認しましょう。app.cgiのみASCIIモードで転送されていればよいです。他のスクリプトについては、どちらのモードであってもかまいません。

CGIスクリプトに実行権限がない

CGIスクリプトに実行権限がない場合はエラーになります。CGIスクリプトの実行権限が755になっているかを確認しましょう(suEXEC環境の場合。さくらレンタルサーバーはsuEXEC環境)。app.cgiの権限だけ変える必要があり、その他のファイルについては大丈夫です。

一行目のPerlのパスの間違い

一行目のPerlのパスが間違っているとエラーになります。

#!/usr/bin/perl
Perlの書籍
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「こっ、こしゃくな。
このPerオタクめ~!」

Twitter
フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

木本システム株式会社
ご紹介キャンペーン実施中です。契約金額の10%をご紹介料としてお支払い。

(例)30万円のシステム開発委託契約が、1年続いたら、36万円がもらえる!!!