Rails 3 на Dreamhost?

Я хотел бы развернуть небольшое приложение Rails 3 на dreamhost (просто для тестирования, ничего серьезного), и мне интересно, сделал ли кто-нибудь это уже ... Пожалуйста, выберите один из следующих вариантов:

  1. Я сделал это, и это очень просто, вот как: ...
  2. Хотя я не пробовал, это должно быть легко, вот как: ...
  3. Это довольно сложно, но это должно помочь вам начать: ....
  4. NO WAI !!! 1! One! 1 Установите его на slicehost или другом хостинге без общего доступа, или вы умрете мучительной смертью, пытаясь заставить его работать на DH.

Мысли?


person p33t3r    schedule 12.02.2010    source источник


Ответы (8)


К сожалению, я думаю, что это сильно зависит от того, установит ли Dreamhost драгоценные камни за вас и разрешит доступ к ним через общую среду. Вы можете связаться с их отделом поддержки для получения дополнительной информации о том, планируют ли они развертывать Rails 3 на своих общих серверах и когда.

С другой стороны, вы могли бы сделать то, что подразумевает ваш четвертый вариант, и просто пойти дальше и получить где-нибудь кусок (не обязательно в SliceHost; вы можете дешево развернуть с Heroku), что позволяет вам развернуть свои собственные драгоценные камни.

Надеюсь это поможет!

person Josh Delsman    schedule 12.02.2010
comment
Heroku - хорошая идея - мне любопытно, когда / как они собираются поддерживать Rails 3. Посмотрю вокруг, спасибо! - person p33t3r; 13.02.2010
comment
героку супер дорого по сравнению с кем-либо еще - person Omnipresent; 02.09.2011
comment
см. мой ответ ниже, я получил эту работу без проблем, используя rvm на Dreamhost с fastcgi - person Hortitude; 01.11.2012

Вы можете это сделать, но это требует продвинутых навыков системного администратора.

Чтобы использовать Rails 3 на DreamHost, вам необходимо:

  • установить Ruby 1.8.7
  • установить RubyGems
  • установить Rails 3

все в вашем собственном домашнем каталоге, потому что у вас нет прав на установку всего в другом месте.

Кроме того, это не гарантирует работу с существующей конфигурацией Dreamhost Passenger.

person Simone Carletti    schedule 12.02.2010
comment
Спасибо - да, я подозревал что-то в этом роде, что для меня вариант 4 :-) - person p33t3r; 13.02.2010
comment
С rvm это не очень сложно - person Hortitude; 01.11.2012

Вот несколько свежих инструкций:

http://blog.joeygeiger.com/2010/05/17/i-beat-dreamhost-how-to-really-get-rails-3-bundler-and-dreamhost-working/

person TuteC    schedule 02.06.2010
comment
По-прежнему слишком много зависимостей, которые необходимо обновить на стороне DreamHost. blog.joeygeiger.com/2010/08 / 06 / dreamhost-вы-выиграете-или-проиграете-правда - person Andrew; 21.10.2010

Я только что получил письмо от Dreamhost. Я написал им по электронной почте около 2 месяцев назад по поводу rails 3.0, они начинают загружать его на свои серверы, пока мы говорим. Если все получится, рельсы 3 следует поддержать в течение месяца.

person Shaun    schedule 30.11.2010

Машина dreamhost, на которой я выделил место, pisces, похоже, вчера обновилась до Rails 3.0.3. Я заметил только потому, что экземпляр Redmine ужасно сломался :(

person Gordon Anderson    schedule 20.12.2010

На сегодняшний день это моя машина Dreamhost:

    $ rails -v
    Rails 3.0.3

    $ ruby -v
    ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

    $ gem list

    *** LOCAL GEMS ***

    abstract (1.0.0)
    actionmailer (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2)
    actionpack (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2)
    actionwebservice (1.2.6, 1.2.3)
    activemodel (3.0.3)
    activerecord (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2)
    activeresource (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2)
    activesupport (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2)
    acts_as_taggable (2.0.2, 1.0.4)
    ajax_scaffold_generator (3.1.11, 2.2.1)
    archive-tar-minitar (0.5.2, 0.5.1)
    arel (2.0.4)
    auth_generator (2.0.1, 1.5.3)
    Bloglines4R (0.1.0)
    BlueCloth (1.0.0)
    builder (2.1.2, 2.0.0)
    bundler (1.0.7)
    camping (1.5.180, 1.5)
    capistrano (2.5.1, 2.1.0, 1.4.1)
    classifier (1.3.1)
    cmdparse (2.0.2, 2.0.0)
    curb (0.1.4)
    daemons (1.0.10, 1.0.9)
    dbd-mysql (0.4.3)
    dbi (0.4.3)
    deprecated (2.0.1)
    erubis (2.6.6)
    eventmachine (0.12.10, 0.12.8)
    facets (2.2.1, 1.8.54)
    fastthread (1.0.7, 1.0.1)
    feedtools (0.2.29, 0.2.28)
    ferret (0.11.6, 0.11.4)
    flickr (1.0.2)
    gd2 (1.1.1, 1.1)
    gen (0.41.0)
    geoip (0.6.1)
    gettext (1.90.0)
    glue (0.41.0)
    gnuplot (2.2)
    gravtastic (2.0.0)
    gruff (0.3.1)
    haml (2.0.3)
    hoe (1.5.1)
    hpricot (0.6)
    htmltools (1.10)
    i18n (0.4.2, 0.4.1)
    localization_generator (1.0.8)
    login_generator (1.2.2)
    madeleine (0.7.3)
    mail (2.2.15)
    markaby (0.5)
    mechanize (0.7.6)
    metaid (1.0)
    mime-types (1.16)
    mini_magick (1.2.3)
    mysql (2.7)
    needle (1.3.0)
    net-sftp (1.1.1)
    net-ssh (2.0.23, 1.1.2)
    nitro (0.41.0)
    nokogiri (1.4.4)
    og (0.41.0)
    oniguruma (1.1.0)
    packet (0.1.14)
    PageTemplate (2.2.0)
    ParseTree (2.1.1)
    payment (1.0.1)
    pdf-writer (1.1.8)
    podcast (0.0.4)
    polyglot (0.3.1)
    rack (1.2.1, 1.1.0, 1.0.1, 1.0.0)
    rack-mount (0.6.13)
    rack-test (0.5.6)
    radiant (0.6.9)
    rails (3.0.3, 2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.2)
    railties (3.0.3)
    rake (0.8.7, 0.8.3, 0.8.2)
    RedCloth (3.0.4)
    rfacebook (0.9.8)
    rmagick (1.15.14)
    rspec (1.1.3)
    ruby-breakpoint (0.5.1)
    ruby-debug (0.10.0)
    ruby-openid (2.1.7)
    ruby-yadis (0.3.4)
    ruby_odeum (0.4.1)
    rubyforge (0.4.5)
    RubyInline (3.6.7)
    rubypants (0.2.0)
    rubyzip (0.9.1)
    ruport (1.6.0)
    ruport-util (0.14.0)
    ruwiki (0.9.3)
    salted_login_generator (2.0.2)
    shipping (1.5.1)
    SimpleSearch (0.5.0)
    sqlite3-ruby (1.2.1)
    stemmer (1.0.1)
    switchtower (1.0.1)
    syntax (1.0.0)
    tagtools (0.0.3)
    thor (0.14.6, 0.14.4)
    tidy (1.1.2)
    treetop (1.4.9)
    tzinfo (0.3.23)
    unicode (0.1)
    uuidtools (1.0.3)
    webgen (0.4.7)
    wee (0.10.0)
    xhtmldiff (1.0.0)
    xml-simple (1.0.11)
    ym4r (0.6.1)
    youtube-g (0.4.9.9)
person ohho    schedule 17.03.2011

Из документации для пассажиров: http://www.modrails.com/documentation/Users%20guide%20Apache.html#bundler_support

Создайте в своем приложении файл config / setup_load_paths.rb и добавьте эту строку:

$: << "<path-where-bundler-gem-was-installed>/lib"

Я распаковал гем Bundler по пути vendor / bundle с помощью этой команды:

gem unpack bundler --target=vendor/bundle

И другие жемчужины с:

bundle install --deployment

Это должно работать с Dreamhost и Passenger> = 2.2.14.

person nanda    schedule 22.01.2011
comment
Жаль, что общие серверы Dreamhost все еще застревают на Passenger 2.2.9 - person k107; 20.06.2012

Я смог заставить это работать, используя rvm и fastcgi

Мой файл .htaccess выглядел так:

<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi
</IfModule>
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
</IfModule>

Options +FollowSymLinks +ExecCGI 

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi/$1 [QSA,L] 

ErrorDocument 500 "Rails application failed to start properly for your rails app"

А мой dispatch.fcgi выглядел так (обратите внимание, что вам нужно заполнить):

#!/usr/bin/env /home/<MY_HOME_DIR>/.rvm/bin/ruby-1.9.3-p0@awesome

require 'rubygems'
require 'fcgi'

ENV['RAILS_ENV'] ||= 'production' 
#ENV['RAILS_ENV'] = 'development'


# Set GEM_PATH and GEM_HOME ("user" is your dreamhost user)
ENV['GEM_HOME'] ||= '/home/<MY_HOMEDIR>/.rvm/gems/ruby-1.9.3-p0@awesome'
ENV['GEM_PATH'] ||= '/home/<MY_HOMEDIR>/.rvm/gems/ruby-1.9.3-p0@awesome:/home/<MY_HOMEDIR>/.rvm/gems/ruby-1.9.3-p0@global'
require 'rubygems'
Gem.clear_paths

require File.join(File.dirname(__FILE__), '../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(Imjustsayin::Application)
person Hortitude    schedule 01.11.2012