Mac OS X は、Classic バージョン(Mac OS 9 以前)とはまったく別の OS といっていいほどの違いがあります。ご存知の通り、Mac OS X は、UNIX 上で動作していると言っても過言ではないのです。Mac OS X で動作している UNIX とは、Darwin と呼ばれ、BSD ベースのものとなります。Mac OS X のインタフェースをつかさどる Aqua は、UNIX でいう Window Manager みたいなものでしょう。言い換えると、Windows よりも、実サーバ環境に近いともいえるのです。さらに、Mac OS X で Apache を動作させようとするには、UNIX の知識も若干必要となるわけです。

 CGI の検証環境には、WWW サーバとなる Apache と CGI を実行させるための Perl が必要なのですが、Mac OS X には、すでに実装されております。Mac OS X のインターフェースを見る限り、Apache や Perl なんて言葉は出てきませんがご安心ください。簡単に、それらが実装されていることを確認してみましょう。また、Mac OS X に実装されている Apache のデフォルトの設定で、CGI を動作させて見ましょう。

 まずは、WWW サーバとなる Apache から確認してみましょう。[システム環境設定]→[共有]を立ち上げてください。システム環境設定が見つからない方は、[Machintosh HD]→[Applications]→[System Preferences]から起動してください。

Applications
System Preferences
???L

■ Mac OS 10.1 以前の場合

Mac OS 10.1 ??‘O?????‡
画像をクリックすると拡大

共有設定画面の「Web を共有していません。」と書かれた部分を見てください。実は、ここで「開始」ボタンを押すと、Web サーバ、つまり Apache が起動するのです。

Figure

「開始」ボタンを押すと、こうなります。

Figure

■ Mac OS 10.2 以降の場合

Mac OS 10.2 ???~?????‡
画像をクリックすると拡大

「パーソナル Web 共有」の部分を選択してください。右側の「開始」ボタンを押すと、Web サーバが起動します。チェックボックスにチェックを入れても、Web サーバが起動します。

「開始」ボタンを押すと、こうなります。
Figure Figure

では、本当にウェブサーバとして機能しているかを確認してみましょう。まずは、ブラウザーを起動してください。そしてドレス欄に http://127.0.0.1/ を入力してアクセスしてみてください。ページが表示されれば OK です。次に、あなたのアカウント名が、futomi だったとすると、http://127.0.0.1/~futomi/ にアクセスしてみてください。別のページが表示されます。

http://127.0.0.1/ http://127.0.0.1/~futomi/
Figure Figure

 ところで、あなたのアカウント名ってご存知ですか? Mac OS X をセットアップする際に指定した名前なのですが、もし忘れてしまった場合には、次に手順で確認して下さい。

 画面右上の 「Macintosh HD」 をダブルクリックしてください。Window 上の「ホーム」をクリックしてください。すると、Window 上にアカウント名が表示されているはずです。これから CGI の検証をする際には、このアカウントを使いますので、忘れないようにしましょう。

acintosh HD
?z?[??

ここにアカウント名が表示

Figure
画像をクリックすると拡大

 Apache では、HTML ファイルを置く場所のトップディレクトリのことを、DocumentRoot といいます。Mac OS X に実装されている Apache の DocumentRoot は、/Library/WebServer/Documents です。先ほど確認した http://127.0.0.1/ の HTML ファイルは、このディレクトリ(フォルダ)の中に入っています。また CGI は、/Library/WebServer/CGI-Executables 内に置くことによって、http://127.0.0.1/cgi-bin/xxx.cgi にアクセスすると実行されます。

Sites では、http://127.0.0.1/~futomi/ で見た HTML ファイルはどこにあるかといいますと、ご自分のアカウントのホームディレクトリ内の Sites というフォルダの中なんです。先に説明した「アカウント名の確認」でホームディレクトリを見ましたが、その中に「Sites」というフォルダがあるはずです。この中に HTML ファイルを用意すれば、ブラウザーからみれるようになります。また、このフォルダ内であれば、ファイルを新規に作成したり、編集することができます。ただ、CGI ファイルを Sites フォルダ内に置いたとしても、まだ動作しません。動作させるためには、Apache の設定を変更しなければいけませんが、それについては、次章で説明します。

 

まず、CGI を実行させるようにするには、レンタルサーバで CGI をセットアップするのと同様にパーミッションを変更しなければいけません。ここでは、/Library/WebServer/CGI-Executables 内に CGI ファイルを用意して試してみましょう。そして、パーミッションの変更方法を理解してください。

以下の通り、フォルダ CGI-Executables を開いてください。

Macintosh HD Library WebServer CGI-Executables

フォルダ CGI-Executalbles 内に printenv というファイルがあります。これを同じフォルダ内にコピーしてください。そしてコピーしたファイルの名前を printenv.cgi に変更してください。なぜ、ファイル名を変更するのかというと、Apache の設定で、拡張子が「.cgi」でないと CGI として動作しないよう設定されているからです。

次に、パーミッションを変更します。インスペクタを表示すると、アクセス権を変更できるメニューがあるのですが、残念ながら実行権の設定ができません。Mac OS X 上でファイルのパーミッションを変更する方法は 2 通りあります。一つは、Terminal から UNIX ライクにコマンドで変更する方法です。もう一つは、FTP ソフトを使って変更する方法です。

まずは、UNIX ライクにコマンドでパーミッションを変更してみましょう。以下の通り、Mac OS X 付属の Terminal を実行してください。

Macintosh HD Applications Utilities Terminal

Terminal Window
画像をクリックすると拡大

Terminal 画面上で、以下の通りコマンドを入力して実行してください。

[localhost:~] futomi% chmod 705 /Library/WebServer/CGI-Executables/printenv.cgi

Figure上記コマンドは、printenv.cgi のパーミッションを 705 に変更します。コマンドを入力して、最後に return キーを押して下さい。何もエラーが表示されなければ、正常にパーミッションが変更されたことになります。

ブラウザーのアドレス欄に、http://127.0.0.1/cgi-bin/printenv.cgi を入力してアクセスしてみて下さい。左の画面が表示されれば、OK です。

そもそも、printenv とは、Apache におまけでついている環境変数表示用の簡単な CGI スクリプトです。環境変数には、サーバの情報も表示されますので、一度、ご覧頂いたほうがよろしいでしょう。環境変数の詳細に関しては、本サイトの「Perl で作る CGI 講座 - 環境変数編」をご覧下さい。

次に、UNIX のコマンドはどうも苦手という方のために、FTP ソフトで変更する方法をご紹介いたします。Max OS X は FTP サーバとしての機能も実装しています。プロバイダーやレンタルサーバなどで提供されているサーバと同様な手順でパーミッションを変更することができるのです。ただし、ファイルの所有者(オーナー)が、あなたのアカウントでないと変更できません。

Max OS X はデフォルトでは FTP サーバの機能は無効になっていますので、それを有効にします。Apache を起動したときと同様に、[Machintosh HD]→[Applications]→[System Preferences]でシステム環境設定を起動してください。そして、共有を起動してください。

Applications
System Preferences
???L

■ Mac OS 10.1 以前の場合

共有設定画面の「FTP サービスを開始する」と書かれた部分を見てください。ここの設定にチェックを入れて下さい。FTP サーバが起動します。

Figure

■ Mac OS 10.2 以降の場合

Figure

 FTP サーバを起動したら、FTP ソフトで自分のマシンに接続します。サーバ名には、「localhost」もしくは「127.0.0.1」を指定して下さい。ユーザ名とパスワードは Mac OS X 上のご自分のアカウントとパスワードを指定して下さい。ここでは、Max OS X 対応の Transmit をご紹介します。Transmit の各設定は次の通りにして下さい。

Figure
画像をクリックすると拡大

Address 127.0.0.1
Username Mac OS X で設定した管理者アカウント
(現在、Mac OS X にログインしているユーザ名)
Password Mac OS X で設定した管理者パスワード
Director 指定なし

 パーミッションの変更方法は、Max OS X の FTP ソフトとして、Transmit を紹介しておりますので、あわせてこちらもご覧下さい。

Transmit でのパーミッショ変更方法

 さて、CGI を設置する際には、CGI ファイルの 1 行目に Perl のパスを記載する必要があるのは、ご存知かと思います。では、Mac OS X の Perl のパスはどこかを確認しましょう。先ほど使った Terminal を開いてください。そして、which perl と入力して enter キーを押してください。すると Perl のパスが表示されます。

[localhost:~] futomi% which perl
/usr/bin/perl
[localhost:~] futomi%  

おそらく、みなさんの環境でも、/usr/bin/perl と表示されたのではないでしょうか。今後、Mac OS X 上で、CGI を動作させる場合には、CGI ファイルの 1 行目は、

#!/usr/bin/perl

と記述してください。


以上で、Mac OS X のデフォルトの状態の解説が終了しました。次章からは、http://127.0.0.1/~futomi/cgi-bin/xxx.cgi で CGI が実行されるよう、Apache の設定を変更していきます。

<< 戻る 次へ >>

戻る

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