apache显示我的公共目录的内容 - rails + apache + passenger + local git + capistrano + ubuntu

时间:2011-01-04 19:45:28

标签: ruby-on-rails apache passenger capistrano

我最近决定在生产实验环境中实施我的RoR项目。 我遇到的问题是在尝试查看我的主应用页面时,apache会显示公共目录的内容。

重要说明:

  1. 我已经从public删除了index.html文件(之前,apache会显示rails欢迎页面)
  2. 我在我的route.rb中有一个地图根路由 - 过去在我的开发环境中完全有用。

    map.root:controller => '家'

  3. 我正在使用由capistrano部署自动创建的虚拟主机文件 的/ etc / apache2的/位点可用的/应用程序的名字

    其内容:

    NameVirtualHost specific.ip.address:80

    ServerName specific.ip.address

    DocumentRoot / var / www / appname / current / public

  4. 开发环境(一切正常):

    使用默认的mongrel配置

    在我的macbook pro上安装了Ruby和Rails

    实验性生产环境(我遇到问题):

    1. Ubuntu 9.04 32位
    2. 按照以下说明安装和配置Rails,Ruby,Apache,git(本地),乘客和capistrano: http://hackd.thrivesmarthq.com/how-to-setup-a-linux-server-for-ruby-on-rails-with-github-and-phusion-passenger

    3. 所有步骤都很顺利,包括成功部署我的应用程序的capistrano部署: /无功/网络/应用程序的名字/电流/

    4. 如上所述,当试图查看我的主应用页面时 - apache将显示我的公共目录的内容(即使我没有index.html,我有一个在dev中工作的地图根路由)

    5. 此致 杰森

1 个答案:

答案 0 :(得分:3)

添加

Options -Indexes 

到虚拟主机中的目录配置设置。在

<Directory />
    Options -Indexes 
</Directory>

或在您的文档根目录

<Directory /var/www/appname/current/public>
    Options -Indexes 
</Directory>