sábado, 6 de agosto de 2011

Instalar Passenger + Apache + RVM + Ubuntu

Criar um wraper para a versão do ruby informada.  Configura as variáveis de ambientes corretas para a aplicação
$ rvm 1.9.2 --passenger  # ou rvm wrapper 1.9.2@rails3 passenger
O instalador do Passenger vai guiar e mostrar os comandos necessários para instalar as dependências.
$ sudo gem install passenger --no-ri --no-rdoc
$ rvmsudo passenger-install-apache2-module


Configurar o módulo do Passenger

Configurar um novo módulo para o Passenger no Apache.
$ sudo nano /etc/apache2/mods-available/passenger.load
#inserir a primeira linha da saída da instalação
LoadModule passenger_module /home/deployer/.rvm/gems/ruby-1.9.2-p290@rails3/gems/passenger-3.0.8/ext/apache2/mod_passenger.so

$ sudo nano /etc/apache2/mods-available/passenger.conf
#inserir as 2 últimas linhas de config
PassengerRoot /home/deployer/.rvm/gems/ruby-1.9.2-p290@rails3/gems/passenger-3.0.8
PassengerRuby /home/deployer/.rvm/wrappers/ruby-1.9.2-p290@rails3/ruby
Habilitar o novo módulo e reniciar o Apache.
$ sudo a2enmod passenger
$ sudo /etc/init.d/apache2 reload


Configurar o Host-Virtual

Dar permissões para o usuário deployer na pasta onde ficarão as aplicações e criar a estrutura de diretórios básica.
$ sudo chown deployer:deployer /var/www -R
$ cd /var/www
$ mkdir app.demo.org
$ cd app.demo.org; mkdir public; mkdir tmp
Criar um script com uma pagina simples para testar o ambiente.
$ nano /var/www/app.demo.org/config.ru
# inluir o conteúdo
app = proc do |env|
  [200, { "Content-Type" => "text/html" }, ["hello, world"]]
end
run app
Criar o arquivo de configuração do novo site no Apache.
$ sudo nano /etc/apache2/sites-available/app.demo.org
<VirtualHost *:80>
    ServerName app.demo.org
    DocumentRoot /var/www/app.demo.org/public # <-- be sure to point to 'public'!
    RailsEnv production
    
    <Directory /var/www/app.demo.org/public>
        Options Indexes FollowSymLinks -MultiViews  # <-- MultiViews must be turned off
        AllowOverride all                           # <-- relax Apache security settings
        Order allow,deny
        Allow from all       
    </Directory>
</VirtualHost>
Habilitar o novo site.
$ sudo a2ensite app.demo.org
$ sudo /etc/init.d/apache2 restart
Configurar o redirecionamento no arquivo de hosts.
$ sudo vi hosts
# inserir a referência
127.0.0.1 app.demo.org
Acessar o domínio do host para verificar se tudo funciona
$ lynx app.demo.org

Referências:

https://rvm.beginrescueend.com/integration/passenger
http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/

Nenhum comentário:

Postar um comentário