質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

2回答

4769閲覧

フリーのCGIフォームメールをmacローカルで動かしたいがInternal Server Errorに...

toitoitoi

総合スコア28

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

1クリップ

投稿2015/07/13 04:05

編集2015/07/13 07:43

仕事でお申込みフォームを作成することになり、会社的に慣れているKENT-WEBのpostmailを使用することに決まりました。

まだサーバの準備ができていないのでローカルで作業を進めたいのです。

ちなみにCGIはあまりいじったことがありません。
perlは触ったこともありません。
いつもはMAMPでPHPを動かしています。

【環境】
MAMP
PHP5.1.6
postmail は先週ダウンロードしました
perl /usr/bin/perl が存在するので一応入っているのかな?

【行ったこと】
・postmail をworkspace(MAMPの作業Dir)/postmail/に設置
・サイトを参考にパーミッションを設定
・以下のソースのpostmail/test.cgiを作成

#!/usr/bin/perl
print "Content-type:text/html¥n¥n";
print "Hello, World!¥n";
exit;

・127.0.0.1/postmail/test.cgi にアクセスすると
「Internal Server Error」 となる。

他にチェックすべき、修正すべき項目はございますか?
お知恵をお貸し下さいm(_ _)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

CGIのエラーはApache のエラーログに詳しくでてますよ。

あと改行コードはLFになってますか?

投稿2015/07/14 00:42

hintrarou

総合スコア162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toitoitoi

2015/07/14 02:27

hintrarou さん、landy77 さん、ありがとうございました! 無事動きました! ログは /Applications/MAMP/log/ しか見ていなかったのですが /Applications/MAMP/Library/logs/にもあるんですね。 ここで「Permission denied」や「Premature end of script headers」などのログを見つけて解決に至りました。 パーミッションや改行コードなど色々試してどれもダメだと思ってたのですが、 755, LFの組み合わせで試したことがなかったようです。 落ち着いて一つ一つ合わせていったら動作しました。 本当にありがとうございました!
guest

0

MAMPに限りませんが基本的にApache上で動かしてる場合はhttp.confとフォルダ内の.htaccessの設定をチェックして下さい。

まずはhtmlやphpはちゃんと動作するかをまず確認して下さい。

その次にhttp.conf内でcgiファイルの動作がどうなっているか?
(AddHandler の記述がコメントのままとかが多いようです)

大丈夫だと思いますがマックはWindowsに比べてパーミッションが厳しいのでチェック。
その辺をチェックする所からスタートしてはいかがでしょうか?

PHPやられてるなら分かってると思いますが、ローカルでは基本的にはメール送信そのものはチェックできないのは分かった上でテストして下さい。

投稿2015/07/13 17:03

landy77

総合スコア1614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toitoitoi

2015/07/14 00:34

ご回答ありがとうございます! HTMLは表示されます。また、作成したCGIもターミナル上では動作します。 httpd.conf 内、  作業ディレクトリのOption をAll に、  AddHandler 〜 もコメントアウトしています。 .htaccessは該当ディレクトリに設けていません。 パーミッションも何度か確認しました。 ただ「Hello」とするだけなのになぜ動かないのでしょう(ToT)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問