Установка приложений Ruby on Rails

В данной статье кратко описывается процесс установки приложений Ruby on Rails.

Приложения Ruby on Rails лучше разворачивать в каталог private, т.к. в случае установки в каталог httpdocs злоумышленники могут легко получить доступ к персональной информации, например, узнать пароль к базе данных.
После установки приложения Ruby on Rails необходимо отредактировать 2 файла в корне сайта - dispatch.fcgi и .htaccess, обычно этого бывает достаточно. Примеры заполнения данных файлов обычно есть в каждом Ruby On Rails приложении, находятся в каталоге public и имеют расширение '.example'.

Файл dispatch.fcgi, права на запуска для владельца 700:

#!/opt/rails/2.3/bin/ruby

require File.dirname(__FILE__) + "/../private/<Имя_проекта>/config/environment"
require 'fcgi_handler'

RailsFCGIHandler.process!

Файл .htaccess:

RewriteEngine On
Options +FollowSymLinks +ExecCGI

RewriteCond %{REQUEST_FILENAME} !-f

<IfModule mod_fcgid.c>
    AddHandler fcgid-script .fcgi
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>

Для версии Rails 3.0

Файл dispatch.fcgi, права на запуска для владельца 700:

#!/opt/rails/3.0/bin/ruby
require File.dirname(__FILE__) + "/../private/<Имя_проекта>/config/environment"

class Rack::PathInfoRewriter
  def initialize(app)
    @app = app
  end

  def call(env)
    env.delete('SCRIPT_NAME')
    parts = env['REQUEST_URI'].split('?')
    env['PATH_INFO'] = parts[0]
    env['QUERY_STRING'] = parts[1].to_s
    @app.call(env)
  end
end

Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(<Имя_проекта>::Application)

Файл .htaccess:

RewriteEngine On
Options +FollowSymLinks +ExecCGI

RewriteCond %{REQUEST_FILENAME} !-f

<IfModule mod_fcgid.c>
    AddHandler fcgid-script .fcgi
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>

Вам также может помочь