Laravel4-Vagrant is a Vagrant development machine provisioned and preconfigured for working with PHP and the Laravel framework out of the box. From nginx, php5.4 to composer it has got everything you need for Laravel 4.
Ubuntu 12.04 64bit, Nginx, PHP5.5, php-fpm, composer, MySQL 5.5, Redis, supervisord, Node.js
- VirtualBox - Free virtualization software
- Vagrant - Tool for working with VirtualBox images
- Install VirtualBox and Vagrant
- Clone this repository
git clone https://github.com/olivierbufalini/Laravel4-Vagrant.git. - Run
vagrant upinside the newly created directory. (the first time you run Vagrant it will fetch the virtual box image which is ~300mb. So this could take some time) - Vagrant will now use Puppet to provision the devbox (this could take a few minutes)
- Point "devbox" and any other vhosts to
192.168.3.3in your hosts file of your host OS. e.g.192.168.3.3 devbox myproject.dev myotherproject.dev [HOSTNAME] - Now just clone/copy your Laravel projects into
www/[HOSTNAME]and open http://[HOSTNAME] in your browser. Done!
The www folder is automatically synced to the VM (/var/www). This is why we clone our Laravel project into this folder. The sync works in both directions. So any files generated by Laravel (/storage folder for example) will be accessible from your host machine.
- SSH User:
vagrantPW:vagrant - MySQL User:
rootPW:root(access MySQL through SSH)
vagrant upstarts the virtual machine and provisions itvagrant sshgives you shell access to the virtual machinevagrant suspendwill essentially put the machine to 'sleep' withvagrant resumewaking it back upvagrant reloadwill reload the VM. Do this when the VM config changed. For exmpale when you changed one of the configs (e.g. php.ini, sphinx.conf, etc. or after a git pull of this repo)vagrant haltattempts a graceful shutdown of the machine and will need to be brought back withvagrant upvagrant halt --forceforce shutdown if normal halt doesn't workvagrant destroyyou broke something? this will destroy the VM and reprovisions it again completely. Takes some time.
For more: Vagrant is very well documented
Please fork, improve, extend, make pull request, wrap it as a gift. Use the GitHub Issues!