rubyやpythonで書いたCGIを動かすためにやっぱりローカルでもテスト環境がほしいのでMacで使えるhttpdを探したら、BSDが元になってるのではじめからApacheが入ってるらしい。

「システム環境設定」→「共有」→「Web共有」をONにするだけでホームフォルダのしたに「サイト」というフォルダが自動的に作成されて、そこに http://localhost/~user/ でアクセスできるようになる様子。こりゃ楽だ。ひゃほーい。

全体の公開フォルダは
/Library/WebServer/Documents
/Library/WebServer/CGI-Executables
の2つになるらしい。

とはいえこんなフォルダを使いたくないのでホームフォルダの下でCGIが実行できるように変更します。

sudo vi /private/etc/apache2/users/[ユーザ名].conf

で設定ファイルを開いて

<Directory "/Users/[ユーザ名]/Sites/">     Options All     AllowOverride All     Order allow,deny     Allow from all     AddHandler cgi-script .cgi .rb .py </Directory>

のように書き換えて、

「Web共有」の設定を一旦切ってまたONにしてApacheを再起動。

cd Sites
vi test.rb

で「サイト」フォルダの下に新しいファイルを作って、その中に

#!/usr/bin/ruby
print "Content-Type: text/plain\n\n"
print "hello"

と書いて

chmod 705 test.rb

でファイルを実行可能にしてブラウザで

http://localhost/~[ユーザ名]/test.rb

で test と表示されれば成功です。

何故か途中から敬語になってますが、

参考

Apacheを起動する - Mac OS X LeopardでAMP環境を構築しよう - Apache, MySQL, PHP, Perlで作る開発環境 - futomi’s CGI Cafe
http://www.futomi.com/lecture/macosx/apache.html

CGI動作環境の構築 - Mac OS X LeopardでLAMP環境を構築しよう - Apache, MySQL, PHP, Perlで作る開発環境 - futomi’s CGI Cafe
http://www.futomi.com/lecture/macosx/cgi.html