Skip to content

Instantly share code, notes, and snippets.

@bordy
Forked from ambethia/_index.md
Created July 10, 2009 19:54
Show Gist options
  • Save bordy/144760 to your computer and use it in GitHub Desktop.
Save bordy/144760 to your computer and use it in GitHub Desktop.
# Notes on Deploying Rails with Passenger on Ubuntu 9.04 and ruby 1.9
ssh root@0.0.0.0
adduser deploy
adduser deploy sudo
visudo
# uncomment or add the line: %sudo ALL=NOPASSWD: ALL
logout
scp ~/.ssh/id_rsa.pub deploy@0.0.0.0:~/id_rsa.pub
ssh deploy@0.0.0.0
mkdir .ssh
cat id_rsa.pub > .ssh/authorized_keys
rm id_rsa.pub
# Now you can login without a password.
# Disable root login.
sudo vi /etc/ssh/sshd_config
# Change
#
# PermitRootLogin yes
#
# to
#
# PermitRootLogin no
sudo /etc/init.d/ssh restart
# Get up to date.
sudo vi /etc/apt/sources.list
# uncomment universe repositories
sudo apt-get update
sudo apt-get dist-upgrade
# Install required things.
sudo apt-get -y install libc6-dev libssl-dev make build-essential libssl-dev libreadline5-dev zlib1g-dev
sudo apt-get install apache2 apache2-threaded-dev mysql-server libmysqlclient15-dev git-core curl
mkdir src && cd src
# Ruby
sudo apt-get install ruby
curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p129.tar.gz
tar -xzvf ruby-1.9.1-p129.tar.gz
cd ruby-1.9.1-p129
./configure --prefix=/usr/local --with-baseruby=/usr/bin/ruby
make
sudo make install
sudo apt-get remove libruby1.8 ruby ruby1.8
# Download rubygems from a random mirror
curl -OL http://rubyforge.org/frs/download.php/57643/rubygems-1.3.4.tgz
tar -xzvf rubygems-1.3.4.tgz
cd rubygems-1.3.4
sudo ruby setup.rb
# Put the following in .gemrc
# ---
# :update_sources: true
# gem: --no-ri --no-rdoc
# :bulk_threshold: 1000
# :backtrace: false
# :verbose: true
# :benchmark: false
# :sources:
# - http://gems.rubyforge.org
# - http://gems.github.com
git clone git://github.com/thirdreplicator/install_mysql_ruby_adapter_for_ruby1.9.git
cd install_mysql_ruby_adapter_for_ruby1.9
sudo ./install_mysql_ruby_adapter
sudo gem install rails passenger
sudo passenger-install-apache2-module
sudo vi /etc/apache2/httpd.conf
# Add these lines:
# LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.4/ext/apache2/mod_passenger.so
# PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.4
# PassengerRuby /usr/local/bin/ruby
sudo /etc/init.d/apache2 restart
# Assuming your vhost config in a file called "httpd.conf" here
sudo cp httpd.conf /etc/apache2/sites-available/app_name
sudo a2ensite app_name
sudo a2dissite default
sudo a2enmod ssl
sudo /etc/init.d/apache2 force-reload
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment