- ベストアンサー
"Internal Server Error"が表示され困っています
- ApacheでCGIを実行する際に"Internal Server Error"が表示されています。
- 参考ページの手順に従ってCGIを実行しましたが、指定のURLにアクセスするとエラーメッセージが表示されます。
- パーミッションの変更は成功していると思われるため、他に原因があるか教えていただけないでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
そのページにあるPerlのパスの記述の変更はされましたか? それと、パーミッションの確認は、Terminalで「ls -l」とコマンドを打つと一覧されるので、それで行います。
その他の回答 (4)
- harawo
- ベストアンサー率58% (3742/6450)
> この表示結果は、正しい表示結果なのでしょうか? 正しい結果です。 ファイル名printenvというのは、「Print Environment」の意味で、これはサーバとクライアントの「環境(Environment)」を「出力(Print)」することを目的としたCGI(Perlプログラム)です。 一部伏せ字になさっている点が示しているとおり、もし動作確認用でなく、ほんとうにご自身のMacintoshをウェブサーバーになさろうとするなら、コンピュータ名とユーザ名に本名を使ってはいけません。
お礼
回答ありがとうございます。 >ほんとうにご自身のMacintoshをウェブサーバーになさろうとするなら、コンピュータ名とユーザ名に本名を使ってはいけません。 そこまで到達できるようがんばりたいと思います。 色々とアドバイスしていただき大変助かりました。 本当にありがとうございました。
- kamui_kakiyo
- ベストアンサー率47% (33/69)
なんで違うんでしょうかね? 質問者を置き去りにして会話が進むのは本意ではないですが ジャガーは忘れましたが、10.3.0~10.4.0までは すくなくとも、うちの環境では確実に、 ScriptAlias /cgi-bin/ "/Library/WebServer/CGI-Executables/" # # "/Library/WebServer/CGI-Executables" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory "/Library/WebServer/CGI-Executables"> AllowOverride None Options None Order allow,deny Allow from all </Directory> となっています。 スクリプトエイリアスだけONなんて不思議と毎回思っているのですが・・・。
- harawo
- ベストアンサー率58% (3742/6450)
No.2 > デフォルトでは、CGI-Executablesディレクトリでの cgi実行権限が許可されていません。 いえ、デフォルトでCGIの実行ができます。 Mac OS X 10.3、10.4で検証しましたので、間違いありません。
- kamui_kakiyo
- ベストアンサー率47% (33/69)
多分、パーミッション変更前は「403 Forbidden」でしょうから 「Internal Server Error」が出ているということは パーミッションの変更はあっている可能性が高いです。 「Internal Server Error」は原因不明のエラーの総称ですが ・改行コード ・パールのパス ・アパッチの設定ミス などが考えられます。 http://www.futomi.com/lecture/macosx/config.html にはあまりきちんと書かれていませんが、 デフォルトでは、CGI-Executablesディレクトリでの cgi実行権限が許可されていません。 httpd.confを編集し、アパッチを再起動する必要があります。 まずは、#1の方の説明にありましたパールのパスを修正してください。 それでもだめなようであれば上記のアパッチの設定を変更してください。 あと、もう少し状況をきちんと説明してください。 OS環境はもちろん、アパッチやパールのバージョンも重要です。
お礼
回答ありがとうございます。 今回の質問では状況の説明が足りなかった点があり 申し訳なく思っています。 また、今後http://www.futomi.com/lecture/macosx/config.html のページの設定を試していく上では、思い通りの動作結果にならなかった場合は、ご指摘の原因などをまず自分で考えてみたいと思います。 どうもありがとうございました。
補足
前回に引き続き、たびたびのご回答ありがとうございます。 早速、Perlのパスの記述を変更後、上書き保存。 (#!/usr/local/bin/perl ↓ #!/usr/bin/perlに変更) Terminalのコマンド「ls -l」でパーミッションの確認を行いました。 ーーーーーーーーーーーーーーーーーーーーーーーーーー -rw-r--r-- 1 ****** admin 274 Nov 25 1999 printenv -rwx---r-x 1 ****** admin 268 May 13 22:58 printenv.cgi -rw-r--r-- 1 ****** admin 757 Dec 9 1996 test-cgi ーーーーーーーーーーーーーーーーーーーーーーーーーー 結果、printenv.cgiのパーミッションの変更はできている(rwx---r-x=705であっていますよね。) ことがわかりました。 確認方法を教えていただきありがとうございました。 再度、http://127.0.0.1/cgi-bin/printenv.cgiをブラウザに表示させたところ、 "Internal Server Error"の表示ではなく、次の内容が表示されてしまいまたよくわからない状態になってしまいました。 この表示結果は、正しい表示結果なのでしょうか? ーーーーーーーーーーーーーーーーーーーーーーーーーー DOCUMENT_ROOT="/Library/WebServer/Documents" GATEWAY_INTERFACE="CGI/1.1" HTTP_ACCEPT="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" HTTP_ACCEPT_CHARSET="Shift_JIS,utf-8;q=0.7,*;q=0.7" HTTP_ACCEPT_ENCODING="gzip,deflate" HTTP_ACCEPT_LANGUAGE="ja,en-us;q=0.7,en;q=0.3" HTTP_CACHE_CONTROL="max-age=0" HTTP_CONNECTION="keep-alive" HTTP_HOST="127.0.0.1" HTTP_KEEP_ALIVE="300" HTTP_USER_AGENT="Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; ja-JPM; rv:1.7.7) Gecko/20050414 Firefox/1.0.3" PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices" QUERY_STRING="" REMOTE_ADDR="127.0.0.1" REMOTE_PORT="49345" REQUEST_METHOD="GET" REQUEST_URI="/cgi-bin/printenv.cgi" SCRIPT_FILENAME="/Library/WebServer/CGI-Executables/printenv.cgi" SCRIPT_NAME="/cgi-bin/printenv.cgi" SCRIPT_URI="http://******nokonpyuta.local/cgi-bin/printenv.cgi" SCRIPT_URL="/cgi-bin/printenv.cgi" SERVER_ADDR="127.0.0.1" SERVER_ADMIN="[no address given]" SERVER_NAME="******nokonpyuta.local" SERVER_PORT="80" SERVER_PROTOCOL="HTTP/1.1" SERVER_SIGNATURE="<ADDRESS>Apache/1.3.33 Server at ******nokonpyuta.local Port 80</ADDRESS>\n" SERVER_SOFTWARE="Apache/1.3.33 (Darwin)" ーーーーーーーーーーーーーーーーーーーーーーーーーー