OSXでユーザ別にCGIを動かす

目的

OSXを使っててかつweb共有をオンにして「サイト」フォルダ上に設置したCGIを動かしたい

必要なもの

  1. 管理者権限
  2. 任意のエディタ(viとか使えなくとも良い)
  3. ターミナル.appを使う勇気w

[手順1]ターミナル.appを起動する

アプリケーション >> ユーティリティ >> ターミナル.app を探し、起動する。

[手順2]コマンドを打つ($はプロンプト)

自分の普段使うユーザ名が○○だとすると、以下のコマンドを実行すると自分が普段使っているエディタで○○.confが編集できる。保存には管理者権限が必要なので、管理者権限のあるユーザで実行しよう。

$ open /etc/apache2/users/○○.conf

[手順3]エディタで編集

AllowOverride を Allにして保存する。上記したように保存には認証が必要。管理者ユーザであれば、ダイアログに自分のパスワードを入力すれば保存できる。保存したら、web共有を一旦Offにして、再度Onにする(apache再起動)。この時点で.htaccessが使えるようになっているはず。

<Directory "/Users/nobuyuki/Sites/">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

[手順4].htaccessの設置

「サイト」フォルダに以下を.htaccessというファイル名で保存する。OSXUnix系のOSなので、ファイル名がドット「.」で始まるファイルは不可視ファイルになる。Finderからも見えないので見えなくても焦らない。

Options +ExecCGI 
AddHandler cgi-script .cgi
※ ターミナル.appからは以下のコマンドを実行すれば不可視ファイルを確認することができる。
$ ls -a

[手順5]CGIの確認

http://localhost/~○○/ 上に設置したCGIが動作しているかどうか確認しよう。