sinatra+ディレクトリリスティングを使ってアプリを書く(sinatra + directory listing(indexes))

sinatra=ちゃらりと便利アプリを書くときにいい感じなフレームワークっぽいぞ?_?

ということで、ちょっとアプリを書いてみようと思ったのだが、、、そんなアプリによくありがちな、apacheのindexesの機能を使って、「あるフォルダ以下を公開しておきます。データはそこにがっつんがっつん突っ込んでいきますのであとは勝手にお願いします」ってなシチュエーションにてちょっと躓いた。備忘がてらに書いておく。

判ってみればなんのことはないんだけど、公開フォルダの「PassengerEnabled」を外すところがミソ。

httpd.conf(publicの下にdatasというフォルダがある場合の設定)

LoadModule passenger_module /Library/Ruby/Gems/1.8/gems/passenger-2.2.2/ext/apache2/mod_passenger.so
PassengerRoot /Library/Ruby/Gems/1.8/gems/passenger-2.2.2
PassengerRuby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

<VirtualHost *:4567>
  ServerName localhost
  DocumentRoot /app_root/public
  <Directory "/app_root/public">
    Options Indexes ExecCGI FollowSymLinks
    AllowOverride all
    Allow from all
  </Directory>
  <Location /datas>
    PassengerEnabled off
  </Location>
</VirtualHost>