Ошибка 403 после развертывания приложения rails (apache + passenger) - PullRequest
0 голосов
/ 28 февраля 2012

Это мое первое развертывание приложения 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, но Пассажир должен перехватить его доон пытается найти индексный файл.Так что это, вероятно, ошибка 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://git@server.project.ca/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

1 Ответ

0 голосов
/ 01 марта 2012

Мы выяснили ошибку 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.

...