Ошибка 403 после развертывания приложения rails (apache + пассажир)

Это мое первое развертывание приложения 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

person J K    schedule 28.02.2012    source источник


Ответы (1)


Мы разобрались с ошибкой 403. Мы выполняли развертывание в /usr/local/sites/www/project.example.ca/public. Однако при развертывании capistrano фактическое приложение находилось по адресу /usr/local/sites/www/project.example.ca/public/current/public. Я удалил все, что уже было, и настроил deploy.rb, чтобы он указывал на /usr/local/www/sites/project.example.ca, и изменил виртуальный хост, чтобы он указывал на /usr/local/sites/www/project.example .ca / current / public, и теперь мы получаем как минимум страницу с ошибкой Phusion Passenger.

person J K    schedule 01.03.2012