lib/deprec/recipes/app/passenger.rb in deprec-2.1.5 vs lib/deprec/recipes/app/passenger.rb in deprec-2.1.8

- old
+ new

@@ -1,82 +1,38 @@ # Copyright 2006-2008 by Mike Bailey. All rights reserved. Capistrano::Configuration.instance(:must_exist).load do namespace :deprec do namespace :passenger do - - set(:passenger_install_dir) { - if ruby_vm_type == :ree - base_dir = "#{ree_install_dir}/lib/ruby/gems/1.8/gems/" - latest_passenger_version = capture("ls -d #{base_dir + 'passenger-*'} | tail -1").chomp - else - '/opt/passenger' - end - } - + + set :passenger_version, '2.2.13' + set :passenger_install_dir, "/usr/local/lib/ruby/gems/1.8/gems/passenger-#{passenger_version}" + + # Default settings for Passenger config files set(:passenger_document_root) { "#{current_path}/public" } set :passenger_rails_allow_mod_rewrite, 'off' - # Default settings for Passenger config files set :passenger_log_level, 0 set(:passenger_log_dir) { "#{shared_path}/log"} set :passenger_user_switching, 'on' set :passenger_default_user, 'nobody' set :passenger_max_pool_size, 6 set :passenger_max_instances_per_app, 0 set :passenger_pool_idle_time, 300 set :passenger_rails_autodetect, 'on' set :passenger_rails_spawn_method, 'smart' # smart | conservative - SRC_PACKAGES[:passenger] = { - :url => "git://github.com/FooBarWidget/passenger.git", - :download_method => :git, - :version => 'release-2.2.2', # Specify a tagged release to deploy - :configure => '', - :make => '', - :install => './bin/passenger-install-apache2-module' - } - desc "Install passenger" task :install, :roles => :app do install_deps - deprec2.download_src(SRC_PACKAGES[:passenger], src_dir) - - if ruby_vm_type.to_s == 'ree' - # Install the Passenger that came with Ruby Enterprise Edition - run "yes | #{sudo} env PATH=#{ree_install_dir}/bin:$PATH #{ree_install_dir}/bin/passenger-install-apache2-module" - else - # Non standard - passenger requires input - package_dir = File.join(src_dir, 'passenger.git') - dest_dir = passenger_install_dir + '-' + (SRC_PACKAGES[:passenger][:version] || 'trunk') - run "#{sudo} rsync -avz #{package_dir}/ #{dest_dir}" - run "cd #{dest_dir} && yes '' | #{sudo} ./bin/passenger-install-apache2-module" - run "#{sudo} unlink #{passenger_install_dir} 2>/dev/null; #{sudo} ln -sf #{dest_dir} #{passenger_install_dir}" - end - - initial_config_push - activate_system - + gem2.install 'passenger', passenger_version + sudo "passenger-install-apache2-module _#{passenger_version}_ -a" + config_system + activate_system end - task :initial_config_push, :roles => :web do - # XXX Non-standard! - # We need to push out the .load and .conf files for Passenger - SYSTEM_CONFIG_FILES[:passenger].each do |file| - deprec2.render_template(:passenger, file.merge(:remote => true)) - end - end - # Install dependencies for Passenger task :install_deps, :roles => :app do apt.install( {:base => %w(apache2-mpm-prefork apache2-prefork-dev rsync)}, :stable ) - gem2.install 'fastthread' - gem2.install 'rack' - gem2.install 'rake' - # These are more Rails than Passenger - Mike - # gem2.install 'rails' - # gem2.install "mysql -- --with-mysql-config='/usr/bin/mysql_config'" - # gem2.install 'sqlite3-ruby' - # gem2.install 'postgres' end SYSTEM_CONFIG_FILES[:passenger] = [ {:template => 'passenger.load.erb', @@ -149,10 +105,10 @@ sudo "ln -sf #{deploy_to}/passenger/logrotate.conf /etc/logrotate.d/passenger-#{application}" end # Passenger runs Rails as the owner of this file. task :set_owner_of_environment_rb, :roles => :app do - sudo "chown #{app_user} #{current_path}/config/environment.rb" + sudo "chown #{app_user} #{current_path}/config/environment.rb" end task :symlink_apache_vhost, :roles => :app do sudo "ln -sf #{deploy_to}/passenger/apache_vhost #{apache_vhost_dir}/#{application}" end