Hi,
When installing sugarcrm-ce in chefsolo it shows following error:
Generated at 2014-10-15 09:16:36 -0400
NoMethodError: application[sugarcrm] (sugarcrm-ce::default line 36) had an
error: NoMethodError: application_php_mod_php_apache2[sugarcrm] (sugarcrm-ce::default line 117) had an error: NoMethodError: No resource or method named `include_recipe' for
`Chef::Provider::ApplicationPhpModPhpApache2 ""'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/dsl/recipe.rb:46:in `rescue in method_missing'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/dsl/recipe.rb:43:in `method_missing'
/root/chef-repo/cookbooks/application_php/providers/mod_php_apache2.rb:24:in `block in class_from_file'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/lwrp_base.rb:138:in `instance_eval'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/lwrp_base.rb:138:in `block in action'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider.rb:125:in `run_action'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/resource.rb:648:in `run_action'
/root/chef-repo/cookbooks/application/providers/default.rb:63:in `block in before_compile'
/root/chef-repo/cookbooks/application/providers/default.rb:61:in `each'
/root/chef-repo/cookbooks/application/providers/default.rb:61:in `before_compile'
/root/chef-repo/cookbooks/application/providers/default.rb:25:in `block in class_from_file'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/lwrp_base.rb:138:in `instance_eval'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/lwrp_base.rb:138:in `block in action'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider.rb:125:in `run_action'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/resource.rb:648:in `run_action'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/runner.rb:49:in `run_action'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/runner.rb:81:in `block (2 levels) in converge'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/runner.rb:81:in `each'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/runner.rb:81:in `block in converge'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/resource_collection.rb:98:in `block in execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
my code is :
in application_php /providers/ mod_php_apache2 file)
include Chef::DSL::Recipe
action :before_compile do
include_recipe "apache2"
include_recipe "apache2::mod_rewrite"
include_recipe
"apache2::mod_deflate"
include_recipe "apache2::mod_headers"
include_recipe "apache2::mod_php5"
unless new_resource.server_aliases
server_aliases = [ "#{new_resource.application.name}.#{node['domain']}", node['fqdn'] ]
if node.has_key?("cloud")
server_aliases << node['cloud']['public_hostname']
end
new_resource.server_aliases server_aliases
end
unless new_resource.restart_command
new_resource.restart_command do
run_context.resource_collection.find(:service => "apache2").run_action(:restart)
end
end
end
action :before_deploy do
new_resource = @new_resource
web_app new_resource.application.name do
docroot "#{new_resource.application.path}/current#{new_resource.app_root}"
template
new_resource.webapp_template || 'php.conf.erb'
cookbook new_resource.webapp_template ? new_resource.cookbook_name.to_s : "application_php"
server_name "#{new_resource.application.name}.#{node['domain']}"
server_aliases new_resource.server_aliases
log_dir node['apache2']['log_dir']
if(new_resource.webapp_overrides)
new_resource.webapp_overrides.each do |attribute, value|
self.send(attribute, value)
end
end
end
apache_site "000-default" do
enable false
end
end
action :before_migrate do
end
action :before_symlink do
end
action :before_restart do
end
action :after_restart do
end
and my sugarcrm recipe is :
::Chef::Recipe.send(:include, Opscode::OpenSSL::Password)
include_recipe 'apt'
include_recipe 'apache2'
include_recipe 'git'
include_recipe 'application'
include_recipe 'application_php'
node.set['mysql']['server_root_password'] = secure_password if node['mysql']['server_root_password'] == 'ilikerandompasswords'
include_recipe 'mysql::server'
include_recipe 'php::module_mysql'
node.set_unless['sugarcrm-ce']['db']['password'] = secure_password
node.set_unless['sugarcrm-ce']['admin_pass'] = secure_password
puts "ssssss"
application 'sugarcrm' do
puts "s11111111"
path
node['sugarcrm-ce']['webroot']
owner node['apache2']['user']
group node['apache2']['group']
repository 'git://github.com/sugarcrm/sugarcrm_dev.git'
revision node['sugarcrm-ce']['version'] || 'master'
puts "s2222"
mod_php_apache2 do
puts "s333"
server_aliases [node['fqdn'], node['host_name']]
webapp_template 'web_app.conf.erb'
end
php do
puts "s444"
local_settings_file 'config_si.php'
end
end
cron 'sugarcron' do
minute '*/2'
command "/usr/bin/php -f #{node['sugarcrm-ce']['webroot']}/cron.php >> /dev/null"
user node['apache2']['user']
end
Also i change apache to apache2 which i ve apache2 cookbook
Thanks & regards,
indra K