Rails 3 sur dreamhost?
-
20-09-2019 - |
Question
Je voudrais déployer un petit Rails 3 application sur dreamhost (uniquement à des fins de test, rien de grave) et je me demande si quelqu'un a déjà fait ... S'il vous plaît choisir une des options suivantes:
- Je l'ai fait et il est super facile, voici comment: ...
- Bien que je n'y suis pas allé, il devrait être facile, voici comment: ...
- Il est assez compliqué, mais cela devrait vous aider à démarrer: ....
- NO WAI !!! 1! Un! 1 installer sur slicehost ou d'une autre hébergement non-partagé ou vous allez mourir d'une mort douloureuse essayant de forcer le DH
La solution
Malheureusement, je pense que cela dépend en grande partie sur l'installation des pierres précieuses Dreamhost pour vous, et permettant l'accès à eux par l'environnement partagé. Vous pouvez communiquer avec leur service d'assistance pour plus d'informations sur si et quand ils projettent sur le déploiement Rails 3 sur leurs serveurs partagés.
Par contre, vous peut faire ce que votre quatrième option implique et juste aller de l'avant et obtenir une tranche quelque part (ne doit pas nécessairement être avec Slicehost, vous pouvez déployer à moindre coût avec Heroku) qui vous permet de déployer vos propres pierres précieuses.
Hope this helps!
Autres conseils
Vous pouvez le faire, mais il nécessite des compétences de sysadm avancées.
Pour utiliser Rails 3 sur DreamHost vous devez:
- installer Ruby 1.8.7
- installer RubyGems
- installer Rails 3
tous dans votre répertoire personnel parce que vous ne disposez pas de privilèges pour installer tout ailleurs.
En outre, cela garantit pas travailler avec la configuration existante Dreamhost de passagers.
Voici quelques nouvelles instructions:
Je viens de recevoir un courriel de dreamhost. Je leur ai envoyé il y a en ce qui concerne environ 2 mois rails 3.0, ils commencent à pousser sur leurs serveurs que nous parlons. les choses fonctionnent sur l'hypothèse, les rails 3 devraient être pris en charge dans le mois.
La machine à dreamhost j'ai alloué espace, Pisces, semble avoir mis à niveau vers Rails 3.0.3 hier. Je ne remarqué parce qu'un exemple Redmine cassé horriblement: (
A partir d'aujourd'hui, voici ce qui est ma machine 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)
De documentation voyageurs: http://www.modrails.com/ documentation / utilisateurs% 20Guide% 20Apache.html # bundler_support
Créer un fichier config / setup_load_paths.rb dans votre application et ajoutez cette ligne:
$: << "<path-where-bundler-gem-was-installed>/lib"
Je déballe gem Bundler dans le chemin fournisseur / bundle avec cette commande:
gem unpack bundler --target=vendor/bundle
Et les autres pierres précieuses avec:
bundle install --deployment
Cela devrait fonctionner avec Dreamhost et passager> = 2.2.14
J'ai pu obtenir que cela fonctionne en utilisant RVM et FastCGI
Mon fichier .htaccess ressemblait à ceci:
<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"
Et mon dispatch.fcgi ressemblait (notez que vous devez remplir):
#!/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)