A standalone Magento DevOps environment built with Vagrant and Puppet from a vanilla Ubuntu 12.04 LTS box.
Leverage Composer and Phing scripts for enhanced DevOps automation.
Use your own Magento code or have it install the Magento version of your choice.
- Install the required software for your host machine
- Download and install VirtualBox
- Download and install Vagrant
- Download and install Git
- Create the parent directory for your projects
mkdir ~/Code
cd ~/Code
- Grab the magento-vagrant-puppet code
git clone https://github.com/matthewsplant/magento-vagrant-puppet.git project_dir
cd project_dir
- (Optional) Have script install Magento
- Set install to true in the Magento class of the main puppet manifest file (base.pp)
- Set the Magento version also in the Magento class of the main puppet manifest file
- And remember to revert the install back to false after install
- (Optional) Use your own Magento code
- "git-clone" your Magento project to "www/magento"
- Import your MySQL database and update the base URLs via the following MySQL query:
UPDATE magento.core_config_data
SET value = 'http://magento.localhost:8080/'
WHERE path in ('web/unsecure/base_url', 'web/secure/base_url')
- Clear the Magento cache
- Add magento.localhost to your hosts /etc/hosts file
127.0.0.1 magento.localhost
- Spin up your new DevOps environment
vagrant up
- (Optional) Install Phing along with additional support libraries on your new DevOps environment
vagrant ssh
cd /vagrant
composer install
This virtual machine is optimized for ease of use. Therefore it is not meant for production use.
- Ubuntu User - vagrant/vagrant
- MySQL User - root/r00t
- Magento Admin - admin/123123abc
- Ubuntu 12.04 LTS aka "precise32"
- Apache 2.2.22
- MySQL 5.5.31
- PHP 5.3.10
- Composer
- Phing 2.5.0
See http://magento.localhost:8080/phpinfo.php for more details.
- It was this way
- I like having the host vm separate from the client "vendor" files
- It makes it easy to exclude the whole client "vendor" directory from git