Passenger, Capistrano e environment variables
Capistrano
Para usar env vars com Capistrano, abra o arquivo /etc/ssh/sshd_config e adicione a seguinte linha:
PermitUserEnvironment yesNão se esqueça de reiniciar o serviço:
$ sudo service ssh restartAgora é só coloar suas variáveis no arquivo ~/.ssh/environment do usuário deployer (sem o export antes)!
RVM
Se você usa RVM, crie o arquivo /usr/local/my_ruby_wrapper_script com o conteúdo:
#!/bin/sh
export MYSQL_WEB_PROD_DB="db"
export MYSQL_WEB_PROD_USR_NAME="usuario"
export MYSQL_WEB_PROD_USR_PASS="senha"
exec "/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby" "$@"Troque o parâmetro do exec para o caminho do seu ruby.
Dê as permissões para o arquivo:
$ sudo chmod +x /usr/local/my_ruby_wrapper_scriptE troque altere a linha do nginx.conf (ou da sua config do Apache) para:
passenger_ruby /usr/local/my_ruby_wrapper_script;Reinicie o Nginx e Passenger, e pronto!