前章では、ホームディレクトリ内に置いた CGI が動作できるよう、Apache の設定を変更しました。http://127.0.0.1/~futomi/cgi-bin/xxx.cgi で CGI が動作するはずです。本章では、その確認と、Apache のエラーログの見方を説明します。
※以下、 futomi と記載されている場所は、あなたのアカウント名に置き換えてご覧下さい。
前章では、ホームディレクトリ内に置いた 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 を試験する場合、各ファイルのパーミッションは以下の通りにして下さい。
|
|
尚、Terminal から UNIX コマンドを使ってディレクトリ(フォルダ)を作成したり、Aqua 上からディレクトリ(フォルダ)を作成した場合には、そのディレクトリのパーミッションは 755 となっています。また、ファイルの場合には、644 となります。
| << 戻る | コーナートップへ >> |