OS XのWeb共有でCGIを動かせるようにしてみた
Mac OS XのWeb共有はApacheを使っている。じゃあ、CGIのスクリプトをテストするのにWeb共有が使えないかと試してみたら、案外簡単にできた。
ユーザー毎の設定ファイルが以下のディレクトリにあるので、それを書き換えるだけ。
/etc/apache2/users/<ユーザー名>.conf
例えば、ディレクトリ ~/Sites/cgi に拡張子 .cgi のCGIスクリプトを置くには、設定ファイルに以下のような記述を追加する(元からある記述はそのまま)。
<Directory "/Users/<ユーザー名>/Sites/cgi/"> AddHandler cgi-script cgi Options ExecCGI </Directory>
設定ファイルの変更にはroot権限が必要なので、sudoコマンドを使う。
$ cp /etc/apache2/users/nat.conf ~ $ cp ~/nat.conf ~/nat.conf.orig ←念のために変更前の設定ファイルを取っておく $ vi ~/nat.conf ←設定ファイルの編集 $ sudo cp ~/nat.conf /etc/apache2/users/nat.conf
システム環境設定でWeb共有のチェックボックスをいったんOFFにして、Web共有(Apache)を停止させてから、もう一回ONにして、Web共有(Apache)を再起動。これでCGIが使えるようになった。
例えば、以下のようなCGIスクリプト ~/Sites/cgi/hello.cgi で動作確認。chmod a+xコマンドで、実行権限をつけるのを忘れずに。
#!/usr/bin/ruby print "Content-type: text/html\n\n" print '<html><head><title>Hello!</title></head><body>' print '<p>Hello, world!!</p>' print "<p>Current time : #{Time.now}</p>" print '</body></html>'