Я только недавно решил реализовать свой проект RoR в производственных экспериментальных условиях. Проблема, с которой я сталкиваюсь, заключается в том, что при попытке просмотра главной страницы моего приложения apache вместо этого отображает содержимое общедоступного каталога.
В моем файле route.rb есть корневой маршрут карты, который отлично работал в моей среде разработки.
map.root: controller => 'home'
Я использую файл виртуального хоста, который был автоматически создан при развертывании capistrano в / и т.д. / apache2 / сайты-доступных / имя_приложение
его содержание:
NameVirtualHost specific.ip.address: 80
ServerName specific.ip.address
DocumentRoot / var / www / appname / current / public
Ruby и Rails, установленные на моем MacBook Pro с использованием конфигурации Mongrel по умолчанию
Rails, Ruby, Apache, git (локальный), пассажирский и capistrano были установлены и настроены в соответствии с инструкциями: http://hackd.thrivesmarthq.com/how-to-setup-a-linux-server-for-ruby-on-rails-with-github-and-phusion-passenger
все шаги прошли нормально, включая развертывание capistrano, которое успешно развернуло мое приложение под: / Вар / WWW / имя_приложения / ток /
, как описано выше, при попытке просмотреть страницу моего основного приложения - apache будет показывать содержимое моего общедоступного каталога (даже если у меня нет index.html и у меня есть корневой маршрут карты, который работал в dev )
С уважением, Jason
добавить
Options -Indexes
к настройкам каталога в вашем виртуальном хосте. Либо в
<Directory /> Options -Indexes </Directory>
или в корне вашего документа
<Directory /var/www/appname/current/public> Options -Indexes </Directory>