2015-12-18 8 views
5

Ich lerne Chef im Moment mit OpsWorks, derzeit versuche ich ein Rezept zu erstellen, das 2 Paket in einer Instanz installieren wird. Ich mein Kochbuch auf Github gespeichert .. da habe ich ein Rezept, das so ist - webserver.rbChef kann nicht erhalten httpd abhängen

# Install apache and start the service 
httpd_service 'site' do 
    mpm 'prefork' 
    action [:create, :start] 
end 

# Add the site configuration 
httpd_config 'site' do 
    instance 'site' 
    source 'site.conf.erb' 
    notifies :restart, 'httpd_service[site]' 
end 

#create the document root directory 
#directory '/var/www/public_html' do 
# recursive true 
#end 

#write the homepage 
file '/var/www/index.html' do 
    content '<html>This is a web</html>' 
    mode '0644' 
    owner 'web_admin' 
    group 'web_admin' 
end 

# Install apache , config and etc END 

# Install the mod_php5 apache module 
httpd_module 'php' do 
    instance 'site' 
end 

#install php5-mysql 
package 'php-mysql' do 
    action :install 
    notifies :restart, 'httpd_service[site]' 
end 

#write the homepage 
file '/var/www/index2.php' do 
    content '<html><?php echo phpinfo(); ?></html>' 
    mode '0644' 
    owner 'web_admin' 
    group 'web_admin' 
end 

Ich bin nach dem Tutorial in AWS eine LAMP-Umgebung zu schaffen. Leider, wenn ich dies zu meiner Instanz, opsworks_cookbook_demo :: default (es wird einige include, einschließlich Webserver laufen.) Bekomme Fehler, dass precondition httpd cookbook not found, habe ich bereits auf meinem metadaba.rb hängt 'httpd' '~> ..', Kann jemand führe mir was hier falsch gemacht wird. Coz Ich nehme an, wann immer du setzt, hängt 'httpd' ab es wird mein Kochbuch erweitern, um dieses Kochbuch zu verwenden.

Benötige ich ein Berkshelf für diesen Fall? (Zur Zeit verwende ich AWS OpsWorks und habe mein Rezept in github)

Antwort

3

Sie müssen alle Abhängigkeiten im Voraus herunterladen, um sie an OpsWorks zu senden. Weitere Informationen finden Sie unter . Die älteren Chef 11-Stacks haben dies früher für Sie automatisiert, indem Sie berks vendor auf dem Ziel ausgeführt haben, aber jetzt müssen Sie das selbst auf Ihrer Workstation tun.

+0

Ich werde die Dokumente lesen. Vielen Dank! –

Verwandte Themen