2010-02-12 16 views
17

vorrei distribuire una piccola Rails 3 app su DreamHost (solo a scopo di test, nulla di grave) e mi chiedo se qualcuno ha già fatto ... Si prega di scegliere una delle seguenti opzioni:Rails 3 su dreamhost?

  1. L'ho fatto ed è semplicissimo, ecco come: ...
  2. Anche se non l'ho provato, dovrebbe essere facile, ecco come: ...
  3. È piuttosto complicato, ma questo dovrebbe iniziare: ....
  4. NO WAI !!! 1! One! 1 Impostalo su slicehost o su un altro hosting non condiviso o morirai dolorosamente cercando di forzarlo su DH

Pensieri?

risposta

3

Sfortunatamente, penso che dipenda in gran parte da DreamHost che installa le gemme per te e che consente l'accesso ad esse attraverso l'ambiente condiviso. È possibile contattare il proprio dipartimento di supporto per ulteriori informazioni su se e quando intendono implementare Rails 3 sui loro server condivisi.

D'altra parte, si potrebbe fare ciò che la vostra quarta opzione implica e solo andare avanti e ottenere una fetta da qualche parte (non necessariamente bisogno di essere con SliceHost, si potrebbe distribuire a buon mercato con Heroku), che consente di distribuisci le tue gemme.

Spero che questo aiuti!

+0

Heroku è una buona idea - Sono curioso di sapere quando e come sosterranno Rails 3. Farà pipì k intorno, grazie! – p33t3r

+0

heroku è super costoso rispetto a chiunque altro là fuori – Omnipresent

+0

vedere la mia risposta qui sotto, ho ottenuto questo funzionamento senza problemi utilizzando rvm su dreamhost con fastcgi – Hortitude

9

È possibile farlo ma richiede competenze avanzate di sysadm.

Per poter utilizzare Rails 3 su DreamHost è necessario:

  • installare Ruby 1.8.7
  • installare RubyGems
  • installare Rails 3

tutti nella vostra directory home perché non hai i privilegi per installare tutto altrove.

Inoltre, non è garantito il funzionamento con la configurazione di Dreamhost Passenger esistente.

+0

Grazie - sì, ho sospettato qualcosa di simile, che è l'opzione 4 per me :-) – p33t3r

+0

Con rvm, questo non è molto difficile – Hortitude

2

Ho appena ricevuto un'email da DreamHost. Li ho mandati via email circa 2 mesi fa per quanto riguarda i binari 3.0, stanno iniziando a spingerli sui loro server mentre parliamo. Supponendo che le cose funzionino, i binari 3 dovrebbero essere supportati entro il mese.

1

La macchina dreamhost su cui ho assegnato spazio su, pisces, sembra aver eseguito l'aggiornamento a Rails 3.0.3 ieri. Ho notato solo perché un'istanza Redmine rotto orribilmente :(

0

Da documentazione passeggeri: http://www.modrails.com/documentation/Users%20guide%20Apache.html#bundler_support

creare un file config/setup_load_paths.rb nella vostra app e aggiungere questa riga:

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

ho disfatto bundler gioiello in vendor/bundle percorso con questo comando:

gem unpack bundler --target=vendor/bundle 

e le altre gemme con:

bundle install --deployment 

Questo dovrebbe funzionare con Dreamhost e Passenger> = 2.2.14

+0

too bad I server condivisi di Dreamhost sono ancora bloccati su Passenger 2.2.9 – k107

1

A partire da oggi, ecco qual è il mio dr macchina eamhost:

$ 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) 
0

sono stato in grado di ottenere questo al lavoro utilizzando rvm e FastCGI

mio file .htaccess si presentava così:

<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" 

E il mio dispatch.fcgi sembrava (nota che è necessario compilare):

#!/usr/bin/env /home/<MY_HOME_DIR>/.rvm/bin/[email protected] 

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/[email protected]' 
ENV['GEM_PATH'] ||= '/home/<MY_HOMEDIR>/.rvm/gems/[email protected]:/home/<MY_HOMEDIR>/.rvm/gems/[email protected]' 
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)