-
-
Save witwall/5325487 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
this_dir=`dirname $0` | |
unset GEM_HOME | |
unset GEM_PATH | |
export PATH=~/.rbenv/bin:"$PATH" | |
eval "$(~/.rbenv/bin/rbenv init -)" | |
err_log_file="${this_dir}/log/dispatch_err.log" | |
exec ~/.rbenv/shims/ruby "${this_dir}/dispatch_fcgi.rb" "$@" 2>>"${err_log_file}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rubygems' | |
require 'bundler' | |
Bundler.setup(:default, :fcgi) | |
require 'rack' | |
class Rack::PathInfoRewriter | |
def initialize(app) | |
@app = app | |
end | |
def call(env) | |
env['SCRIPT_NAME'] = '' # Don't delete it--Rack::URLMap assumes it is not nil | |
pathInfo, query = env['REQUEST_URI'].split('?', 2) | |
env['PATH_INFO'] = pathInfo | |
env['QUERY_STRING'] = query | |
@app.call(env) | |
end | |
end | |
app, options = Rack::Builder.parse_file('config.ru') | |
wrappedApp = Rack::Builder.new do | |
use Rack::ShowExceptions | |
use Rack::PathInfoRewriter | |
run app | |
end | |
Rack::Handler::FastCGI.run wrappedApp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Initial setup for Ruby 1.9.3 on DreamHost shared hosting. | |
# We assume you're already in your project's root directory, which should | |
# also be the directory configured as "web directory" for your domain | |
# in the DreamHost panel. | |
# Install rbenv and ruby-build | |
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv | |
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build | |
# Create temporary directory--DreamHost does not allow files in /tmp to be | |
# executed, which makes the default not work | |
mkdir ~/.rbenv/BUILD_TEMP | |
# DreamHost will set your GEM_HOME and GEM_PATH for you, but this conflicts | |
# with rbenv, so we unset them here. You'll want to do this in your .bashrc | |
# on the dreamhost account. | |
unset GEM_HOME | |
unset GEM_PATH | |
# Add rbenv to PATH and let it set itself up. | |
# You probably want these two lines in your .bashrc as well: | |
export PATH=~/.rbenv/bin:"$PATH" | |
eval "$(~/.rbenv/bin/rbenv init -)" | |
# Decide which version of Ruby we're going to install and use. | |
NEW_RUBY_VERSION=1.9.3-p327 | |
# Using that as the temp space, build and install ruby 1.9.3 | |
TMPDIR=~/.rbenv/BUILD_TEMP rbenv install $NEW_RUBY_VERSION | |
# Now everything is set up properly, you should be able to set your | |
# directory to use the new ruby: | |
rbenv local $NEW_RUBY_VERSION | |
# Bundler doesn't come with ruby, so install it first: | |
gem install bundler | |
# Then use it to install the rest of your gems: | |
bundle install |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment