Forked from maran/Unattended Rails (Passenger, Ruby Enterprise) Stack
Created
March 5, 2010 23:45
-
-
Save marine44/323303 to your computer and use it in GitHub Desktop.
This file contains hidden or 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 | |
# 6.3.2010 Updated to use Passenger 2.2.11, REE 1.8.7, MYSql, Sendmail, Set the hostname, Reset root password, set timezone - ready for a fresk Ubuntu Slice on Slicehost | |
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/68719/ruby-enterprise-1.8.7-2010.01.tar.gz" | |
REEF="ruby-enterprise-1.8.7-2010.01.tar.gz" | |
REEFF=${REEF%".tar.gz"} | |
PASSENGER="2.2.11" | |
export PASSENGER | |
echo "#####################################" | |
echo "Welcome, let's get this party rollin'" | |
echo "#####################################" | |
passwd | |
dpkg-reconfigure tzdata | |
read -p "Server Name? e.g. server2.mydomain.com " MYHOSTNAME | |
echo "Setting hostname to $MYHOSTNAME" | |
echo "$MYHOSTNAME" > /etc/hostname | |
hostname $MYHOSTNAME | |
echo "127.0.0.1 $MYHOSTNAME" > /etc/hosts | |
echo "127.0.0.1 localhost localhost.localdomain" >> /etc/hosts | |
echo "Updating Aptitude" | |
apt-get update | |
# echo "Upgrading Aptitude" | |
# apt-get upgrade -y | |
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 | |
# may want to set hostname before this. | |
echo "Installing apache" | |
apt-get install -y apache2 | |
echo "Installing apache headers" | |
apt-get install -y apache2-prefork-dev | |
echo "Installing Mysql" | |
apt-get install -y mysql-server mysql-client libmysqlclient15-dev | |
echo "Installing sendmail" | |
apt-get install -y sendmail | |
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 "Setting up .gemrc file to excuude ri and rdoc" | |
# echo "---" > ~/.gemrc | |
# echo ":sources:" >> ~/.gemrc | |
# echo "- http://gems.rubyforge.org" >> ~/.gemrc | |
# echo "- http://gems.github.com" >> ~/.gemrc | |
# echo "gem: --no-ri --no-rdoc" >> ~/.gemrc | |
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