generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb in sml-rubber-0.9.13 vs generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb in sml-rubber-1.5.5
- old
+ new
@@ -7,19 +7,28 @@
after "rubber:install_gems", "rubber:passenger:custom_install"
task :custom_install, :roles => :passenger do
rubber.sudo_script 'install_passenger', <<-ENDSCRIPT
- if [[ -z `ls /usr/lib/ruby/gems/*/gems/passenger-#{rubber_env.passenger_version}/ext/apache2/mod_passenger.so 2> /dev/null` ]]; then
+ if [[ -z `ls #{rubber_env.passenger_lib} 2> /dev/null` ]]; then
echo -en "\n\n\n\n" | passenger-install-apache2-module
+ rvm #{rubber_env.rvm_ruby} --passenger
fi
ENDSCRIPT
end
after "rubber:setup_app_permissions", "rubber:passenger:setup_passenger_permissions"
task :setup_passenger_permissions, :roles => :passenger do
- run "chown #{rubber_env.app_user}:#{rubber_env.app_user} #{current_path}/config/environment.rb"
+ rsudo "chown #{rubber_env.app_user}:#{rubber_env.app_user} #{current_path}/config/environment.rb"
+ end
+
+ # passenger does things differently for rack apps, so if this is a rails app, remove config.ru
+ # to stop passenger from treating this like a rack app
+ after "deploy:update_code", "rubber:passenger:remove_config_ru" if Rubber::Util.is_rails?
+
+ task :remove_config_ru, :roles => :passenger do
+ rsudo "rm -f #{current_release}/config.ru"
end
# passenger depends on apache for start/stop/restart, just need these defined
# as apache hooks into standard deploy lifecycle