Start! MacBook
第2回 なぜMacなのか(後編) ~ApacheでCGIを動かすまで
ローカル環境でApacheを動かす
とりあえずWeb系の開発をしようかと思います。そのための第一歩として,Apacheを動かしてCGIを動かすというところまでやってみたいと思います。
Mac OS XでのApacheの設定については,わかりやすい説明のあった「Apache on Mac OS X」(注2)を参考にしました。
- 注2) Apache on Mac OS X
- http://www2.g-7.ne.jp/~hoppe/cellar/apache_on_osx/
Apacheの起動
まずはApacheを起動します。これはターミナルからやるのではなくて,Mac OSのGUIで行います。画面の左上の青いリンゴアイコンをクリックし,出てきたメニューから[システム環境設定...]を選択します。するとシステム環境設定GUIが起動します。Finderから[アプリケーション]-[システム環境設定]とたどって起動することもできます。
20個くらいのアイコンが4行に並んでいますが,3行め[インターネットとネットワーク]のところにある[共有]をクリックします。そして[サービス]を選び,出てくるリスト中にある[パーソナルWeb共有]を開始します(図3)。
ブラウザ(Safari)を起動し,http://localhost/にアクセスしてみると。Apacheのデフォルトページが表示されました(図4)。Apacheの起動に成功!
自分のページはhttp://localhost/~USER_NAME/でアクセスできます。筆者の場合はhttp://localhost/~tatsuoyamashita/になります(図5)。対応するディレクトリは~/Sites/です。つまり表示されているページのファイルは~/Sites/index.htmlになります。
CGI
とりあえずApacheが動いていることは確認できましたので次はCGIです。/Library/WebServer/CGI-Executables/にCGIスクリプトを置くと,http://localhost/cgi-bin/でCGIが使えます。さっそく確認。まずターミナル中でEmacsを起動し,簡単なCGIスクリプトを作成しました(リスト1)。「HELLO」を表示するだけの最低限の動作です。
リスト1 test.cgi
#!/usr/bin/perl
print “Content-Type: text/plain\n\nHELLO\n”;
「test.cgi」というファイル名で保存し,chmodでパーミッションを変更し,CGI置き場にコピーしました(図6)。
図6 実行準備
% emacs test.cgi
% chmod a+x test.cgi
% cp -p test.cgi /Library/WebServer/CGI-Executables/
ブラウザでhttp://localhost/cgi-bin/test.cgiにアクセスすると,無事「HELLO」と表示されました(図7)。
CGIの動作は確認できたのですが,/cgi-bin/限定ではなく,~/Sites/にCGIスクリプトを置いて使いたくなります。つまり,http://localhost/~tatsuoyamashita/test.cgiとアクセスしてもCGIが動作するようにしたいのです。今の設定のままだとソースコードがそのまま表示されてしまいます。
ということで,Apacheの設定ファイルを変更しました。設定ファイルは/etc/httpd/users/USER_NAME.confで,筆者の場合は/etc/httpd/users/tatsuoyamashita.confです。最初はリスト2-(1)のようになっています。
リスト2 設定ファイルへの追記と変更
- (1)変更前
-
<Directory “/Users/tatsuoyamashita/Sites/”> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> - (2)変更後
-
<Directory “/Users/tatsuoyamashita/Sites/”> AddHandler cgi-script cgi ←追加 Options Indexes MultiViews ExecCGI ←変更 AllowOverride None
AddHandlerでのCGI設定とOptionsへのExecCGIの追加を行いました(リスト2-(2))。
先ほどのtest.cgiを~/Sites/にコピーして,Apacheを再起動しました。設定ファイル変更からのコマンドライン操作の流れは図8のとおりです。Apacheの再起動(restart)はルート権限(sudo)で行う必要があります。
再起動後,ブラウザでhttp://localhost/~tatsuoyamashita/test.cgiにアクセスすると,先ほどのhttp://localhost/cgi-bin/test.cgiのときと同様に無事動作し,HELLOと表示されました。
図8 コマンドライン操作の流れ(設定ファイル変更~Apache再起動)
% cp -p /Library/WebServer/CGI-Executables/test.cgi ~/Sites/ ←先ほど作ったCGIスクリプトをコピーします
% emacs /etc/httpd/users/tatsuoyamashita.conf ←CGIが動作するように書き換えます
% apachectl configtest ←設定ファイルが正しいかどうかチェックします
Processing config directory: /private/etc/httpd/users/*.conf
Processing config directory: /private/etc/httpd/users/tatsuoyamashita.conf
Syntax OK
% sudo apachectl restart ←Apacheを再起動します
/usr/sbin/apachectl restart: httpd restarted
まとめ
というわけで,MacBookの購入から,初期設定を経て,Apacheの起動とCGIの動作確認まで無事たどりつきました。Web開発に使える環境が整いましたので,いろいろといじってみたいと思います。次回は,開発系からちょっと離れて,Mac付属のソフトiMovieを使いそれっぽい動画を仕上げるまでをドキュメント風にお届けします。
なお,以下のサイト「スタート!マックブック」でも,Macへの乗り換え過程を細かく解説しています。本連載ともどもよろしくお願いします。
Start! MacBook
- 第12回(最終回) Macを使い始めた一年―ターミナルからUstream.tvまで―[後編]
- 第11回 Macを使い始めた一年―ターミナルからUstream.tvまで―[前編]
- 特別編 iMovie'08でサクッとムービー作成!
- 第10回 イベントで引っぱりダコ!? のライブ映像無料ストリーミング ―MacBook+Ustream.tv+CamTwistの楽々活用術[後編]
- 第9回 イベントで引っぱりダコ!? のライブ映像無料ストリーミング ―MacBook+Ustream.tv+CamTwistの楽々活用術[前編]
- 第8回 MacBookでバックアップ―AppleオフィシャルのBackup&定番UNIXツールのrsync[後編]
- 第7回 MacBookでバックアップ―AppleオフィシャルのBackup&定番UNIXツールのrsync[前編]
- 第6回 サーバでの開発環境[後編]―Carbon Emacs
- 第5回 サーバでの開発環境[前偏]―MacFUSE+sshfs
- 第4回 MacBookで楽しい動画ライフ iMovieでサクっと動画編集![小技編]

