Shared Server Dreamhost
- by Jseb
I am trying to install an app on a shared server. If i understand properly because i am using a shared server, and that Dreamhost doesn't suppose rails 3.2.8 I must use FCGI, although i am not sure how to install and to make it run properly.
From this tutorial http://wiki.dreamhost.com/Rails_3.
To my understand here what I did,
In dreamhost, activate PHP 5.x.x FastCGI and made sure Phusion Passenger is unchecked
Create an app on my localmachine
Because rails doesn't create a dispatch and access file i create the two following file in my /public folder
dispatch.fcgi
#!/home/username/.rvm/rubies/ruby-1.9.3-p327/bin/ruby
ENV['RAILS_ENV'] ||= 'production'
ENV['HOME'] ||= `echo ~`.strip
ENV['GEM_HOME'] = File.expand_path('~/.rvm/gems/ruby 1.9.3-p327')
ENV['GEM_PATH'] = File.expand_path('~/.rvm/gems/ruby 1.9.3-p327') + ":" +
File.expand_path('~/.rvm/gems/ruby 1.9.3-p327@global')
require 'fcgi'
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
Then created the file
.htaccess
<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"
Uploaded to a folder and pointed to the public folder in dreamhost
Made sure dispatch.fcgi has 777 for write
ssh and run the following command in the public folder : ./dispatch.fcgi
Crossing my finger but it doesn't work I get the following errors
./dispatch.fcgi: line 1: ENV[RAILS_ENV]: command not found
./dispatch.fcgi: line 1: =: command not found
./dispatch.fcgi: line 2: ENV[HOME]: command not found
./dispatch.fcgi: line 2: =: command not found
./dispatch.fcgi: line 3: syntax error near unexpected token ('
./dispatch.fcgi: line 3:ENV['GEM_HOME'] = File.expand_path('~/.rvm/gems/ruby 1.9.3-p327')'
Doing wrong??? Oh and if i go on the server i get this Rails application failed to start properly