Created
December 17, 2008 20:24
-
-
Save maran/37213 to your computer and use it in GitHub Desktop.
Unattended Rails (Passenger, Ruby Enterpise) Stack
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 | |
# Unattended REE/Passenger installation | |
# Source: http://weblog.brightlight-ict.nl/2008/12/unattended-passenger-ruby-enterprise-installation-on-ubuntu-8/ | |
# 15/03/09 Updated to use latest r.e.e. and passenger 2.1 and rewrote bits thanks to the comments left on my blog. Thanks guys | |
if [ "$(whoami)" != "root" ]; then | |
echo "You need to be root to run this!" | |
exit 2 | |
fi | |
VERSION="1.2" | |
REEV="http://rubyforge.org/frs/download.php/51100/ruby-enterprise-1.8.6-20090201.tar.gz" | |
REEF="ruby-enterprise-1.8.6-20090201.tar.gz" | |
REEFF=${REEF%".tar.gz"} | |
PASSENGER="2.1.2" | |
export PASSENGER | |
echo "#####################################" | |
echo "Welcome, let's get this party rollin'" | |
echo "#####################################" | |
echo "Updating Aptitude" | |
apt-get update | |
echo "Installing build essentials" | |
apt-get install build-essential zlib1g-dev libssl-dev wget libreadline5-dev -y | |
echo "Installing GIT" | |
apt-get install -y git-core | |
echo "Installing apache" | |
apt-get install -y apache2 | |
echo "Installing apache headers" | |
apt-get install -y apache2-prefork-dev | |
echo "Installing Ruby Enterprise from following url" | |
echo $REEV | |
wget $REEV | |
if [ -e $REEF ] | |
then | |
echo "File downloaded succesful" | |
else | |
echo "Error, file wasn't downloaded!" | |
exit | |
fi | |
tar -zxvf $REEF | |
# possible options perhaps for checker | |
# --extra rails --no-tcmalloc | |
if [ -d ./$REEFF ] | |
then | |
./$REEFF/installer --auto /opt/ruby | |
echo "Dir test" | |
else | |
echo "Dir not found, exiting.." | |
exit | |
fi | |
echo "Creating ruby symlinks" | |
ln -s /opt/ruby/bin/ruby /usr/bin/ruby | |
ln -s /opt/ruby/bin/gem /usr/bin/gem | |
ln -s /opt/ruby/bin/rake /usr/bin/rake | |
ln -s /opt/ruby/bin/rails /usr/bin/rails | |
echo "Installing other gems" | |
gem install rails | |
gem install will_paginate | |
gem install shoulda | |
gem install mysql | |
echo "Installing passenger" | |
gem install passenger -v=$PASSENGER | |
echo "Config passenger" | |
yes '' | /opt/ruby/bin/passenger-install-apache2-module | |
echo "Copying passenger files" | |
touch /etc/apache2/mods-available/passenger.load | |
touch /etc/apache2/mods-available/passenger.conf | |
echo "LoadModule passenger_module /opt/ruby/lib/ruby/gems/1.8/gems/passenger-$PASSENGER/ext/apache2/mod_passenger.so" >> /etc/apache2/mods-available/passenger.load | |
echo "PassengerRoot /opt/ruby/lib/ruby/gems/1.8/gems/passenger-$PASSENGER | |
PassengerRuby /opt/ruby/bin/ruby" >> /etc/apache2/mods-available/passenger.conf | |
echo "Enabling passenger module" | |
a2enmod passenger | |
echo "Reloading apache" | |
/etc/init.d/apache2 reload | |
echo "##########################" | |
echo "# Installation Complete" | |
echo "##########################" | |
sleep 2 | |
echo "##########################" | |
echo "# Installed Ruby Version #" | |
echo "##########################" | |
ruby -v | |
echo "##########################" | |
echo "# Installed Gems Version #" | |
echo "##########################" | |
gem -v | |
/opt/ruby/bin/passenger-status |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment