2010-02-12 16 views
17

me gustaría desplegar un pequeño Rails 3 aplicación en dreamhost (sólo para propósitos de prueba, nada grave) y me pregunto si alguien ha hecho ya ... Por favor, elija uno de los siguientes:Rails 3 en dreamhost?

  1. Lo hice y es muy fácil, así es como ...
  2. Aunque no lo intenté, debería ser fácil, así es como ...
  3. Es bastante complicado, pero debería comenzar: ....
  4. NO WAI !!! 1! One! 1 Configúralo en el servidor de almacenamiento u otro alojamiento no compartido o morirás de una muerte dolorosa intentando forzarlo en DH

¿Pensamientos?

Respuesta

3

Lamentablemente, creo que depende en gran medida de que Dreamhost instale las gemas y permita el acceso a ellas a través del entorno compartido. Puede ponerse en contacto con su departamento de soporte para obtener más información sobre si planea implementar Rails 3 en sus servidores compartidos.

Por otro lado, se podría hacer lo que su cuarta opción implica y simplemente seguir adelante y obtener una rebanada en alguna parte (no necesariamente tienen que estar con SliceHost, se podía desplegar barato con Heroku) que le permite despliega tus propias gemas.

Espero que esto ayude!

+0

Heroku es una buena idea - Tengo curiosidad sobre cuándo/cómo van a soportar Rails 3. Hará pis k todo, gracias! – p33t3r

+0

heroku es super caro en comparación con cualquier otra persona – Omnipresent

+0

ver mi respuesta a continuación, lo hice funcionar sin problemas usando rvm en dreamhost con fastcgi – Hortitude

9

Puede hacer esto pero requiere habilidades avanzadas de sysadm.

Para utilizar Rails 3 en DreamHost es necesario:

  • instalación de Ruby 1.8.7
  • instalar RubyGems
  • instalar Rails 3

todo en su propio directorio de inicio porque no tienes privilegios para instalar todo en otro lugar.

Además, esto no es garantía de que funcione con la configuración existente de Dreamhost Passenger.

+0

Gracias - Sí, sospeché algo como esto, que es la opción 4 para mí :-) – p33t3r

+0

Con rvm, esto no es muy difícil – Hortitude

2

Acabo de recibir un correo electrónico de dreamhost. Les envié un correo electrónico hace unos 2 meses con respecto a los rieles 3.0, que están empezando a empujar en sus servidores mientras hablamos. Suponiendo que las cosas funcionen, los rieles 3 deben ser compatibles dentro del mes.

1

La máquina dreamhost a la que he asignado espacio, Piscis, parece haberse actualizado ayer a Rails 3.0.3. Sólo me di cuenta porque una instancia de Redmine rompió horrible :(

0

De la documentación del pasajero: http://www.modrails.com/documentation/Users%20guide%20Apache.html#bundler_support

crear un archivo de configuración/setup_load_paths.rb en su aplicación y añadir esta línea:

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

Desempaqué joya bundler de vendedor/Bundle camino con este comando:

gem unpack bundler --target=vendor/bundle 

y los demás gemas con:

bundle install --deployment 

Esto debería funcionar con Dreamhost y Passenger> = 2.2.14

+0

Lástima que los servidores compartidos de Dreamhost aún están atascados en Passenger 2.2.9 – k107

1

A partir de hoy, aquí está lo que es mi dr máquina 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

yo era capaz de conseguir que esto funcione mediante el uso de RVM y fastcgi

Mi archivo .htaccess veía así:

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

Y mi dispatch.fcgi parecía (nota que debe completar):

#!/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)