Rails 3 su DreamHost?
-
20-09-2019 - |
Domanda
Mi piacerebbe distribuire un piccolo 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:
- L'ho fatto ed è super facile, ecco come: ...
- Anche se non l'ho provato, dovrebbe essere facile, ecco come: ...
- E 'abbastanza complicato, ma questo dovrebbe iniziare: ....
- NO WAI !!! 1! Uno! 1 installarla sul slicehost o un altro non-hosting condiviso o ti morire di una morte dolorosa cercando di forzare su DH
Pensieri?
Soluzione
Purtroppo, penso che dipende fortemente DreamHost installando le gemme per voi, e consentendo l'accesso ad essi attraverso l'ambiente condiviso. Si potrebbe contattare il servizio di assistenza per ulteriori informazioni su se e quando hanno in programma sulla distribuzione di Rails 3 ai loro server condivisi.
D'altra parte, è potrebbero 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 distribuire i propri gioielli.
Spero che questo aiuti!
Altri suggerimenti
È possibile farlo, ma richiede competenze sysadm avanzate.
Per poter utilizzare Rails 3 su DreamHost è necessario:
- installare Ruby 1.8.7
- installare RubyGems
- installare Rails 3
tutto nella propria home directory perché non si dispone dei privilegi per installare tutto altrove.
Inoltre, questo non è garanzia di lavorare con la configurazione passeggeri DreamHost esistente.
Ecco alcune nuove istruzioni:
Ho appena ricevuto un'email da DreamHost. Ho spedito circa 2 mesi fa per quanto riguarda Rails 3.0, si stanno iniziando a spingere sui loro server mentre parliamo. Assumendo le cose funzionano, le rotaie 3 dovrebbero essere sostenute entro il mese.
La macchina DreamHost che ho allocato spazio sul, Pesci, sembra aver aggiornato a Rails 3.0.3 ieri. Ho notato solo perché un'istanza Redmine rotto orribilmente: (
A partire da oggi, ecco qual è la mia macchina 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 documentazione passeggeri: http://www.modrails.com/ documentazione / utenti% 20guide% 20Apache.html # bundler_support
Creare un file config / setup_load_paths.rb nella vostra app e aggiungere la seguente 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 gli altri gemme con:
bundle install --deployment
Questo dovrebbe funzionare con Dreamhost e passeggeri> = 2.2.14
Sono stato in grado di ottenere questo a lavorare utilizzando rvm e FastCGI
Il 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 si deve compilare):
#!/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)