set
Todos já devem ter conferido o tutorial do Brunno sobre como instalar e utilizar o RVM, se não conferiu, confira!
Que tal isolar cada Virtual Host utilizando o apache para isolar o gemset utilizada para cada projeto?
Mãos a massa, você vai precisar de:
- Apache2
- Ruby 1.8.7
- RVM 1.6.32
- Passenger 3.0.8
* as versões são as que eu estou utilizando neste tutorial
Primeiro vamos decidir qual será o gemset utilizado, já decidiu? No nosso exemplo utilizaremos o gemset ruby-1.8.7-p352@abstraindo, então:
rvm gemset create abstraindo rvm gemset use abstraindo
Abra seu httpd.conf, este pode estar em algum desse lugares:
- Linux: /etc/apache2/conf/
- MacPorts: /opt/local/apache2/conf/
- Nativo MacOS: /etc/apache2/
Verifique se a seguinte linha está comentada, caso esteja: descomente-a.
# Virtual hosts Include conf/extra/httpd-vhosts.conf
Agora abra o arquivo httpd-vhost.conf, adicione as configurações de Virtual Host:
# Abstraindo
<VirtualHost *:80>
ServerName dev.abstraindo.com
DocumentRoot "/wolcan/rails_app/abstraindo/public/"
RailsEnv "development"
<Directory /wolcan/rails_app/abstraindo/public/>
Options -MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Certo?
Agora vá ao terminal/console e digite:
rvm gemset use abstraindo
Caso você tenha mais de uma versão de Ruby instalado na sua máquina será necessário informar a versão do Ruby anteriormente.
Reinicie o apache e teste: http://dev.abstraindo.com
Funcionou? Caso você não tenha funcionado, verifique se a pasta existe ou se você não cometeu algum erro de digitação.
Agora vamos isolar o virtual host em um gemset específico, abra novamente o arquivo httpd-vhost.conf e adicione as seguintes linhas para nossa configuração:
# Abstraindo
<VirtualHost *:80>
ServerName dev.abstraindo.com
DocumentRoot "/wolcan/rails_app/abstraindo/public/"
RailsEnv "development"
<Directory /wolcan/rails_app/abstraindo/public/>
Options -MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
SetEnv GEM_HOME /Users/Wolcanus/.rvm/gems/ruby-1.8.7-p352@abstraindo
SetEnv GEM_PATH /Users/Wolcanus/.rvm/gems/ruby-1.8.7-p352@abstraindo:/Users/Wolcanus/.rvm/gems/ruby-1.8.7-p352:/Users/Wolcanus/.rvm/gems/ruby-1.8.7-p352@global
</VirtualHost>
No exemplo, estou definindo o seguinte:
GEM_HOME: Apontando para meu gem_path do gemset ruby-1.8.7-p352@abstraindo
GEM_PATH: Aponto para o gemset do @abstraindo, ruby-1.8.7 e para o gemset @global
Salve o arquivo, reinicie o apache e teste!
Funcionou? É isso aí! Qualquer dúvida é só comentar =)
Fontes:
Por Weverton do Couto Timoteo
- 2 comentários






