Rails 3 no DreamHost?
-
20-09-2019 - |
Pergunta
Eu gostaria de implantar um aplicativo Small Rails 3 no DreamHost (apenas para fins de teste, nada sério) e estou me perguntando se alguém já fez isso ... por favor, escolha um dos seguintes:
- Eu fiz isso e é super fácil, eis como: ...
- Embora eu não tente, deve ser fácil, eis como: ...
- É bastante complicado, mas isso deve começar: ....
- Sem wai !!! 1! Um! 1 configure-o no slicehost ou em outra hospedagem não compartilhada ou você morrerá uma morte dolorosa tentando forçá-la em DH
Pensamentos?
Solução
Infelizmente, acho que depende muito do DreamHost instalar as gemas para você e permitir o acesso a eles através do ambiente compartilhado. Você pode entrar em contato com o departamento de suporte para obter mais informações sobre se e quando eles planejam implantar o Rails 3 em seus servidores compartilhados.
Por outro lado, você poderia Faça o que sua quarta opção implica e vá em frente e pegue uma fatia em algum lugar (não precisa necessariamente estar com o SliceHost; você pode implantar barato com a Heroku), o que permite implantar suas próprias gemas.
Espero que isto ajude!
Outras dicas
Você pode fazer isso, mas requer habilidades avançadas de sysadm.
Para usar o Rails 3 no DreamHost, você precisa:
- Instale o Ruby 1.8.7
- Instale os rubygems
- Instale os trilhos 3
Tudo em seu próprio diretório doméstico, porque você não tem privilégios para instalar tudo em outro lugar.
Além disso, isso não é garantia de trabalhar com a configuração existente de passageiros do DreamHost.
Aqui estão algumas novas instruções:
Acabei de receber um e -mail do DreamHost. Enviei um e -mail a eles há cerca de 2 meses em relação ao Rails 3.0, eles estão começando a empurrá -lo para os servidores enquanto falamos. Supondo que as coisas funcionem, o Rails 3 deve ser suportado dentro de um mês.
A máquina Dreamhost em que alocei o espaço, Peixes, parece ter atualizado para o Rails 3.0.3 ontem. Eu só notei porque uma instância do Redmine quebrou terrivelmente :(
A partir de hoje, aqui está o que é a minha máquina 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)
Da documentação do passageiro: http://www.modrails.com/documentation/users%20guide%20apache.html#bundler_support
Criar um arquivo config/setup_load_paths.rb no seu aplicativo e adicione esta linha:
$: << "<path-where-bundler-gem-was-installed>/lib"
Eu descompactei o Bundler Gem no caminho do fornecedor/pacote com este comando:
gem unpack bundler --target=vendor/bundle
E os outros jóias com:
bundle install --deployment
Isso deve funcionar com o DreamHost e o passageiro> = 2.2.14
Consegui fazer isso funcionar usando RVM e fastcgi
Meu arquivo .htaccess parecia assim:
<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 meu despacho.fcgi parecia (note que você precisa preencher):
#!/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)