quarta-feira, 27 de maio de 2009

Atualização do script - Ubuntu 9.04 + Ruby 1.9.1 + Rails 2.3.2 + RubyGems 1.3.3

Estava eu tentando instalar o Ruby 1.9.1 versão release de 30 de janeiro de 2009 com a última versão do framework Rails 2.3.2 no Ubuntu 9.04, como os repositórios (APT-GET) não estão atualizados para instalar essas versões e por falta de documentos elucidativos e funcionais na Web. Segue um script bash para automatizar a tarefa de instalação do ambiente contendo a última versão do interpretador Ruby 1.9.1, RubyGems 1.3.3 e a última versão do framework Rails 2.3.2.

Com este script você também tem a possibilidade de instalar o Netbeans, Mysql, Apache etc...

Caso queira instalar alguns gems que utilizo, basta responder as perguntas que são solicitadas durante a instalação.

OBS: Execute como super-usuário. Podem ficar tranquilos que não tem comandos tipo rm -rf / :)


#!/bin/bash
# Leandro Rezende Carneiro de Mendonça
# email: leandrorcm.professor@gmail.com
# site: http://www.mediahome.com.br
#====== CONFIGURACAO DO SCRIPT ============
RUBY="ruby-1.9.1-p129"
RUBY_FORMATO=".zip"
RUBY_VERSAO="1.9.1"
RUBY_GEMS_VERSAO="1.3.3"
RAILS_VERSAO="2.3.2"
#==========================================
echo "Iniciando..."
cd /root
#=== BIBLIOTECAS E SOFTWARES ESSENCIAIS ===
echo "Instalando as bibliotecas e softwares essenciais ..."
apt-get update
apt-get -y install build-essential zlib1g zlib1g-dev libxml2 libxml2-dev libxslt-dev sqlite3 libsqlite3-dev locate git-core subversion libssl-dev libreadline5 libreadline5-dev autoconf curl unzip wget
echo "Instalando o ImageMagick..."
apt-get -y install imagemagick libmagick++-dev
#=========================================
#================ RUBY ===================
echo "Instalando Ruby $RUBY_VERSAO ..."
wget ftp://ftp.ruby-lang.org/pub/ruby/$RUBY$RUBY_FORMATO
unzip $RUBY$RUBY_FORMATO
cd $RUBY
autoconf
./configure --prefix=/usr/local --program-suffix=$RUBY_VERSAO --enable-pthread
make
make install
ln -s /usr/local/bin/ruby$RUBY_VERSAO /usr/local/bin/ruby
ln -s /usr/local/bin/rdoc$RUBY_VERSAO /usr/local/bin/rdoc
ln -s /usr/local/bin/irb$RUBY_VERSAO /usr/local/bin/irb
ln -s /usr/local/bin/ri$RUBY_VERSAO /usr/local/bin/ri
#=========================================
#============== RUBYGEMS =================
echo "Instalando RubyGems $RUBY_GEMS_VERSAO a partir do Source Code ..."
curl http://de.mirror.rubyforge.org/rubygems/rubygems-$RUBY_GEMS_VERSAO.tgz | tar -xzv
cd rubygems-$RUBY_GEMS_VERSAO
ruby setup.rb install
cd ..
rm -rf rubygems-$RUBY_GEMS_VERSAO/
ln -s /usr/local/bin/gem$RUBY_VERSAO /usr/local/bin/gem
gem sources -a http://gems.github.com
#=========================================
#=============== GEMS ====================
echo "Instalando Gems basicas ..."
gem install rake nokogiri hpricot builder cheat daemons json uuid rmagick sqlite3-ruby fastthread rack
echo "Instalar GEMS utilizadas pelo Leandro? (y/n)"
read gemsleandro
if [ $gemsleandro = "y" ];
then
apt-get -y install libfox-1.6-0 libfox-1.6-0-dev
gem install geokit brstring brtraducao dr_nic_magic_models eassl ezcrypto ferret gettext googlebase mysql phprpc postgres-pr radiant recaptcha rghost rmagick ruby-net-ldap ruby-openid will_paginate fxruby
fi
#=========================================
#============== RAILS ====================
echo "Instalando Rails $RAILS_VERSAO ..."
gem install rails --source http://gems.rubyonrails.org
export PATH=$PATH:/var/lib/gems/1.9.0/bin
#=========================================
#========= APACHE + PHUSION PASSENGER ====
echo "Instalar Apache + Phusion Passenger? (y/n)"
read apache
if [ $apache = "y" ];
then
echo "deb http://apt.brightbox.net hardy main" > /etc/apt/sources.list.d/brightbox.list
wget -q -O - http://apt.brightbox.net/release.asc | apt-key add -
apt-get update
apt-get -y install libapache2-mod-passenger
fi
#=========================================
#================== PHP ==================
echo "Instalar Suporte a PHP 5? (y/n)"
read php
if [ $php = "y" ];
then
apt-get -y install php5 libapache2-mod-php5 php5-mysql
/etc/init.d/apache2 restart
fi
#=========================================
#================= MYSQL =================
echo "Instalar Mysql 5? (y/n)"
read mysql
if [ $mysql = "y" ];
then
apt-get install mysql-server-5.0 phpmyadmin
fi
#=========================================
#============== FIREWALL =================
echo "Instalar um Firewall bastante basico (wfu)? (y/n)"
read firewall
if [ $firewall = "y" ];
then
apt-get -y install ufw
ufw allow to 0.0.0.0/0 port 80
echo "Habilitar porta 22 (acesso a SSH)?"
read ssh
if [ $ssh = "y" ];
then
ufw allow to 0.0.0.0/0 port 22
fi
echo "Habilitar porta 25 (acesso a Email)?"
read ssh
if [ $ssh = "y" ];
then
ufw allow to 0.0.0.0/0 port 25
fi
ufw enable
fi
#=========================================
#============== NETBEANS 6.5 =============
echo "Instalar o Netbeans 6.5? (y/n)"
read netbeans
if [ $netbeans = "y" ];
then
apt-get -y install netbeans
fi
#=========================================
echo "Finalizando instalacao..."
echo "Versão do Ruby: "
ruby -v
echo "Versão do RubyGems: "
gem -v
echo "Versão do Rails: "
rails -v
echo "Finalizado!"