Это мое первое развертывание приложения rails, поэтому, пожалуйста, простите меня, если решение этой проблемы очевидно ... Я получаю ошибку 403 (запрещено) всякий раз, когда я пытаюсь загрузить приложение rails в браузере. Развертывание (с использованием capistrano), наконец, выполняется без ошибок, но, похоже, что-то не так с моими настройками apache или пассажира. Кажется, что apache пытается загрузить индексный файл из общей папки, вместо того, чтобы позволить пассажиру вмешаться. Я даже не получаю сообщение об ошибке пассажира, когда загружаю домен приложения в браузере. Я просто получаю сообщение "Запрещено". Кто-нибудь еще сталкивался с такой же проблемой?
Вот фактический журнал ошибок:
[Mon Feb 27 10:03:12 2012] [error] [client xxx.xxx.xxx.xx] Directory index forbidden by Options directive: /usr/local/www/sites/project.example.ca/public/
Я предполагаю, что это в основном означает, что это ошибка, потому что он не может найти файл index.html, но Passenger должен перехватить его, прежде чем он попытается найти файл индекса. Так что это, вероятно, ошибка apache, но виртуальный хост настроен в соответствии с руководством ...
Я использую rails 3.1.3, ruby 1.9.2-p290, capistrano 2.1.12, Apache 2.2, rvm 1.10.2 и любую версию пассажира, которая была бы установлена установочным скриптом около месяца назад. Я следовал этому руководству при настройке пассажира: http://beginrescueend.com/integration/passenger/
Любая помощь будет очень признательна! Такое ощущение, что я ВСЕГДА пытался развернуть это приложение.
Вот мой файл развертывания на случай, если он поможет:
$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require "rvm/capistrano"
set :application, "Project"
set :scm, "git"
set :repository, "ssh://[email protected]/usr/local/git_root/project.git"
set :user, "deploy"
#set :rvm_bin_path, "/usr/local/rvm/bin"
set :rvm_ruby_string, "ruby-1.9.2-p290@project"
set :normalize_asset_timestamps, false
ssh_options[:forward_agent] = true
set :branch, "master"
set :deploy_via, :remote_cache
set :deploy_to, "/usr/local/www/sites/project.example.ca/public/"
set :use_sudo, false
set :domain, 'project.example.ca'
role :app, domain
role :web, domain
role :db, domain, :primary => true