前章では、ホームディレクトリ内に置いた CGI が動作できるよう、Apache の設定を変更しました。http://127.0.0.1/~futomi/cgi-bin/xxx.cgi で CGI が動作するはずです。本章では、その確認と、Apache のエラーログの見方を説明します。

※以下、 futomi と記載されている場所は、あなたのアカウント名に置き換えてご覧下さい。

 あなたのホームディレクトリ内のある Sites 内の cgi-bin 内にまずは CGI をおきましょう。ここでは、最初に動作確認をしてみた printenv.cgi を使ってみましょう。Max OS X の Aqua 上で、 /Library/WebServer/CGI-Executables 内にある printenv を、ご自分のホームディレクトリ内の Sites 内の cgi-bin 内にコピーします。Terminal から次のコマンドを実行してください。

[localhost:~] futomi% cd ~/Sites/cgi-bin  
[localhost:~/Sites/cgi-bin] futomi%
cp /Library/WebServer/CGI-Executables/printenv ./printenv.cgi

 次にパーミッションを変更を変更します。Terminal から引き続き次のコマンドを実行してください。

[localhost:~/Sites/cgi-bin] futomi% chmod 705 ./printenv.cgi

前述したとおり、パーミッションは、FTP ソフトを使って変更することも可能です。

これで CGI の仕込みは完了です。ブラウザーから http://127.0.0.1/~futomi/cgi-bin/printenv.cgi にアクセスしてみてください。futomi の部分は、あなたのアカウント名に読み替えてください。

 CGI を設置したけれども Internal Server Error になって原因が分からないということがあろうかと思います。その場合、Apache のエラーログに手がかりがあるものです。ここでは、Apache のエラーログを見てみましょう。

 Apache のエラーログのありかは、/private/var/log/httpd/error_log です。残念ながら、Aqua 上から見ることはできませんので、Terminal を使います。Terminal から次のコマンドを実行してください。

[localhost:~] futomi% cd /private/var/log/httpd  
[localhost:/private/var/log/httpd] futomi%
tail ./error_log

tail コマンドは、指定されたファイルの最後の 10 行を表示します。エラーログは最新のものがファイルの最後に書き込まれます。従って、tail コマンドが一番便利です。リアルタイムでログをモニターしたい場合には、オプション -f をつけることによって実現できます。

[localhost:/private/var/log/httpd] futomi% tail -f ./error_log

新たにエラーログが発生するたびに、画面がスクロールしながら Terminal 上に表示されていきますので、CGI を開発する場合の確認の際には大変便利です。終了する場合には、「control」+「C」を押してください。(control ボタンをお品ながら C ボタンを押します。)

Max OS X での Apache 環境では、CGI は other 権限で実行されます。従って、CGI を試験する場合、各ファイルのパーミッションは以下の通りにして下さい。

ファイルの種類 パーミッション
CGI ファイル本体 705
ログファイル 606
ディレクトリ 707※
CGI が新たにファイルを生成する場合に、その上位ディレクトリのパーミッションを 707 にする必要がありますが、それ以外の場合には、パーミッションの変更は不要です。

 

尚、Terminal から UNIX コマンドを使ってディレクトリ(フォルダ)を作成したり、Aqua 上からディレクトリ(フォルダ)を作成した場合には、そのディレクトリのパーミッションは 755 となっています。また、ファイルの場合には、644 となります。

<< 戻る コーナートップへ >>

戻る

会社案内 | 特定商取引法に基づく表示 | プライバシーポリシー | 当サイトへのリンクについて | お問い合わせ