Introduction
Cloud instances can be created from a CHEF script, this same script can be used to create Vagrant / VirtualBox VMs that can be used directly on the developers machine.
This creates a system where each developer is working independently and possibly remotely on a system that is identical to the production machines.
Vagrant
Vagrant utilises VirtualBox to create VMs from a script. Utilising Chef Solo we can automate the installation and running of a wide range of scenarios.
Vagrant can be used to bring up several VMs on the local machines to replicate the full production infrastructure.
- Create Scripts based on the current production set-up.
- Vagrant Tutorial
- Vagrant Boxes
- Vagrant on Windows
To power off a started vagrant machine that is perhaps in error
VBoxManage controlvm VMNAME poweroff
Installation
Download Box
$ sudo vagrant box add Precise64 http://files.vagrantup.com/precise64.box
Use the below to cache certain downloads Vagrant will make when preparing a box.
Elastic Search
Location on production server
~/software/elasticsearch
Scripting
Cookbooks
- Apt : 1.7.0
- Build Essential : 1.3.2
- Database : 1.3.8
- ElasticSearch : 0.1.0
- ImageMagick : 0.2.2
- JAVA : 1.7.0
- MySQL : 2.1.0
- Nginx : 1.1.2
- Ohai : 1.1.6
- OpenSSL : 1.0.0
- PHP : 1.1.4
- PHP-FPM : 0.3.0
- RUnit : 0.16.2
Would be nice to document also what version of each software the above cookbooks will install.
Connecting to DB
mysql -uroot -ppassword
Provide details on client connection
Todo
- Check out Berk Shelf more
- MySQL My.conf in build folder
- Sort out nginx conf
- Elastic Search conf
- PHP Conf
- Check out the installation of a chef server - maybe cookbooks remain up to date then