Im Posting Vagrant: Sind Sie bereit Ihren Umgang mit IT Infrastruktur zu revolutionieren? haben wir die Installation von Vagrant kennengelernt und einen Apache Webserver installiert. Nun wollen wir eine Virtuelle Machine vorbereiten mit der man Wordpress Seiten ausprobieren bzw. entwickeln kann.
Der Focus liegt nun auf Chef bzw. Chef-Solo von Opscode. Es gibt bereits eine Menge an sogenannten Kochrezepten für die Installation von Infrastruktur Komponenten. Für einen funktionierenden Wordpress Blog benötigen wir Apache2, PHP5 und Mysql.
Diese Rezepte müssen wir in den cookbooks Ordner legen. Weiters benötigen wir noch das Rezept für Wordpress. Eine Beschreibung für das Wordpress Rezept kann man hier finden .
Unser cookbooks Ordner schaut nun also so aus:
1
2 drwxr-xr-x 10 ehaselwanter ehaselwanter 340 6 Dez 21:24 apache2
3 drwxr-xr-x 7 ehaselwanter ehaselwanter 238 7 Dez 09:50 apt
4 drwxr-xr-x 11 ehaselwanter ehaselwanter 374 6 Dez 21:24 mysql
5 drwxr-xr-x 7 ehaselwanter ehaselwanter 238 6 Dez 21:25 openssl
6 drwxr-xr-x 8 ehaselwanter ehaselwanter 272 6 Dez 21:25 php
7 drwxr-xr-x 8 ehaselwanter ehaselwanter 272 6 Dez 21:24 wordpress
8 drwxr-xr-x 3 ehaselwanter ehaselwanter 102 6 Dez 21:20 wordpress_demo
9
Wobei apt für die Aktualisierung von apt-get zuständig ist und openssl eine Abhängigkeit der verwendeten Rezepte darstellt
Nun benötigen wir noch ein Rezept, um Wordpress zu installieren:
1
2 # wordpress_demo cookbook
3 # This cookbook includes and sets up a server with wordpress
4 #
5 require_recipe "wordpress"
6
Wie versprochen, genau eine Zeile Code :-)
Damit das Ganze funktioniert müssen wir Chef Solo und Vagrant noch ein wenig Konfiguration mit auf den Weg geben:
1
2 Vagrant::Config.run do |config|
3 # All Vagrant configuration is done here. For a detailed explanation
4 # and listing of configuration options, please view the documentation
5 # online.
6
7 # Every Vagrant virtual environment requires a box to build off of.
8 config.vm.box = "base"
9
10 # Forward guest port 80 to host port 4567 and name the mapping "web"
11 config.vm.forward_port("web", 80, 4567)
12
13 # This path will be expanded relative to the project directory
14 config.chef.cookbooks_path = "cookbooks"
15 # ensure the latest packages
16 config.chef.add_recipe("apt")
17
18 #this recipe we want to run
19 config.chef.add_recipe("wordpress_demo")
20
21 # just set a password for now
22 config.chef.json.merge!({
23 :mysql => {
24 :server_debian_password => "secure_password",
25 :server_root_password => "secure_password",
26 :server_repl_password => "secure_password"
27 }
28 })
29
30 # we use chef-solo to provision stuff
31 config.vm.provisioner = :chef_solo
32 end
33
Und los geht es.
Ein vagrant up im Projekt Verzeichnis erzeugt eine neue Virtuelle Maschine basierend auf unsere Base Box lucid32. Danach werden alle Abhängigkeiten von Wordpress und Wordpress selbst installiert.
Sobald das Kommando fertig durchgelaufen ist kann man die Installation unter
1
2 http://localhost:4567/wordpress/wp-admin/install.php
3
bewundern.

Und wieder zum Selbst ausprobieren:
1
2 git://github.com/iteh/vagrant-demos.git
3 cd vagrant-demos/vagrant-wordpress
4 vagrant up
5
und ein wenig warten :-)
Weitere Artikel die Sie interessieren könnten:
Links der Woche vom 2011-05-23 bis 2011-05-29Diese Woche Links zu den Themen Windows, Ruby, opscode, JavaScript, maps, Leaflet, WordPress, Chef, windows, powershell, opschef, ios, ruby, devops, sysadmin, monitoringsucks
Links der Woche vom 2011-05-16 bis 2011-05-22Diese Woche Links zu den Themen coffeebeans, Rails, CoffeeScript, Array, Ruby, Chef, Django, zo, devops, sysadmin, git, chef, CSS3, HTML5, WordPress, nipplegate, MongoDB, rails, rails3, asciicast, test, Android, opschef, Gem, aws, slim, Haml, ruby
Data Driven Deployment einer Java Web Application mit Chef SoloChef Application Cookbook Showcase Dieses Vagrant Projekt auf unserem Github Repository ( https://github.com/iteh/vagrant-demos/ ) zeigt die Verwendung des Application Cookbooks für Chef
Links der Woche vom 2011-03-28 bis 2011-04-03Diese Woche Links zu den Themen design, utilities, rails, asciicast, gem, ux, Awesome, jQuery, devops, Git, radiantcms, rvm, opschef, osx, MacRuby, chef, opscode, Rails, i18n, java, Vagrant, automation, Typography, Type
Links der Woche vom 2011-03-21 bis 2011-03-27Diese Woche Links zu den Themen MacRuby, Java, Ruby, Mirah, CSS, refreshtoplayagain, gainsboro, photo, Design, mechanize, capybara, PHP, Rails, html5, webdesign, XCode, iPads, WordPress, Vagrant, Opscode, RUBY, Selenium, php, opschef, osx, devops,...
Links der Woche vom 2011-03-14 bis 2011-03-20Diese Woche Links zu den Themen opschef, chef, mwrc, saas, Subscription, Billing, git, ruby, HTTP, Rails, Caching, devops, vagrant, opscode, Wordpress
Wordpress über JSON Api mit Facebook Page oder Tumblr befüllenIn diesem Beispiel zeigen wir die Installation von Wordpress in einem Ubuntu LAMP Stack. Weiters wird das JSON-Api Plugin für Wordpress und ein Theme installiert. Danach wird mit Mechanize der Wordpress Blog automatisch installiert und...
Vagrant: Sind Sie bereit Ihren Umgang mit IT Infrastruktur zu revolutionieren?Vargant ist ein Tool für das Erstellen und Verbreiten von virtualisierten Entwicklungsumgebungen. Vagrant baut hier auf Ruby auf und ermöglicht es, ausgehend von einer Basis Installation, automatisiert spezielle Entwicklungsumgebungen aufzubauen....
Links der Woche vom 2010-11-15 bis 2010-11-21Diese Woche Links zu den Themen viapackratius, Rails3, Dragonfly, NoSQL, SQL, i, ruby, Rails, fb, vagrant, rubyonrails, graz, opscode, radiant
Links der Woche vom 2010-11-08 bis 2010-11-14Diese Woche Links zu den Themen viapackratius, Vagrant, i, Amazon


