Mais um dos milhares e milhares de tutoriais de como instalar, mas as vezes é muito dificil de encontrar um que mostre tudo junto.
Primeiramente deve-se instalar o Ruby e os programas necessários:
sudo apt-get install gcc g++ build-essential zlib1g zlib1g-dev
sudo apt-get install -y ruby1.8 ri1.8 rdoc1.8 rake irb1.8
Deve-se criar os links simbólicos para os executaveis, com os comandos:
cd /usr/bin
sudo ln -s ruby1.8 ruby
sudo ln -s ri1.8 ri
sudo ln -s rdoc1.8 rdoc
sudo ln -s irb1.8 irb
Para verificar se foi realmente instalado corretamente veja se há retorno ao comando:
ruby -v
Agora deve-se instalar o gerenciador de pacotes para o ruby o RubyGems.
Para isso pode-se utilizar-se do comando:
sudo apt-get install rubygems
ou então baixar o pacote mais atual do site e instalá-lo, isso é mais recomendável de se fazer.
E pode ser feito de uma maneira automatizada com os comandos:
LINK=$(wget -qO - http://rubyforge.org/frs/?group_id=126 |grep "rubygems-" -m 1 | sed 's/.*href="//g'| sed 's/".*//g')
VERSION=$(echo $LINK | sed 's/.*rubygems-//g' | sed 's/.t.*//g')
wget http://rubyforge.org$LINK
ARQ=$(echo $LINK |sed 's/.*rubygems-//g' )
tar -xvzf rubygems-$ARQ
cd rubygems-$VERSION
sudo ruby setup.rb
cd /usr/bin
sudo ln -s gem1.8 gem
Para verificar se foi realmente instalado corretamente veja se há retorno ao comando:
gem -v
Com isso se tem todo o ruby pronto para produção, porém está faltando agora o Rails e o Passenger. Para instalar o rails utiliza-se do gerenciador de pacotes RubyGems com o seguinte comando:
sudo gem install rails
Para verificar se foi realmente instalado corretamente veja se há retorno ao comando:
rails -v
Instalação do Passenger
Agora deverá ser instalado algumas dependencias dele:
sudo apt-get install -y apache2-mpm-prefork apache2-prefork-dev libapr1-dev libopenssl-ruby libopenssl-ruby1.8 libssl-dev libssl0.9.8 g++ ruby1.8-dev
E para então instalar o passenger com o RubyGems
sudo gem install passenger
Agora ele está instalado, porém ainda falta instalar o modulo dele do apache.
Deve-se definir duas constantes antes de iniciar a instalação do módulo, são elas HTTPD e APXS2, ulilizando o comando :
export HTTPD=/pasta/do/httpd
export APXS2=/pasta/do/apxs2
No Ubuntu 8.04 e provavelmente nas versões anteriores o httpd é chamado de apache2ctl, abaixo segue o comando com a pasta padrões já inseridas.
export HTTPD=/usr/sbin/apache2ctl
export APXS2=/usr/bin/apxs2
Após definir as constantes instale o modulo apache do passenger utilizando o comando:
sudo passenger-install-apache2-module
Agora o modulo apache do passenger está instalado, faltando apenas a configuração final.
Abre-se o arquivo apache.conf ou o http.conf, no Ubuntu esses arquivos ficam no diretório /etc/apache2, e como dica utilize o arquivo http.conf, pois este até então está vazio.
Insira as seguintes linhas no arquivo:
LoadModule passenger_module /pasta/do/ruby/gems/versao_do_rubygems/gems/passenger-versao_do_passenger_instalado/ext/apache2/mod_passenger.so
PassengerRoot /pasta/do/ruby/gems/versao_do_rubygems/gems/passenger-versao_do_passenger_instalado
PassengerRuby /pasta/do/executavel/ruby1.8
No caso do ubuntu as linhas ficaram:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.3
PassengerRuby /usr/bin/ruby1.8
Ainda no mesmo arquivo adicione a seguinte linha:
RailsEnv MODO_DE_EXECUÇÃO
O MODO_DE_EXECUÇÃO deve ser subistituido por:
production #Caso o aplicativo rails já será utilizado para produção
development #Caso o aplicativo ainda esteja em desenvolvimento
Agora faltam somente 2 passos para que sua aplicação rails possa funcionar perfeitamente.
Caso queira que o rails rode um subdiretorio do / do apache altere o arquivo sites-enabled/default do apache a seguinte linha dentro do virtualhosts:
RailsBaseURI /subdiretorio
E faça um link simbólico da pasta public da sua aplicação rails para a pasta / do apache em alguns casos ela fica no /var/www.
cd /pasta/do/root/do/apache
ln -s /pasta/da/sua/app/public subdiretorio
Salve o arquivo.
E finalizando, reinicie o apache com o comando:
sudo apache2ctl restart
E agora é só desenvolver suas aplicações em rails.
Agradeço pela visita, qualquer erro é só falar.