#Lagrant
Boilerplate Laravel Vagrant config with autosetup.
Makes an isolated local development featured environment and installs Laravel with dev-packages OR runs exisisting one.
Status: Stable
##Requirements
##Usage ###Basic usage Open terminal, go to desired directory and type in:
git clone https://github.com/yaapis/Lagrant && mv Lagrant/* ./ && rm -r -f Lagrant
mv vagrant/provision.[small|medium|full].sh vagrant/provision.sh
vagrant up
Or just clone/download Lagrant, edit Vagrantfile's variables and/or provision.sh to your prefers and run vagrant up
And go have some coffee. When the script will finish it's work open http://localhost:8080 or http://33.33.33.33 and you'll see Laravel welcome page. Enjoy!
This will also work with existing project! If you run Lagrant from an existing project repo it will setup the VM and migrate&seed database to provide you an isolated local development environment.
###Advanced usage If you're not happy with my defaults, fork the repo, edit variables in the beginning of Vagrantfile, edit provision.sh script by changing set of existing modules and/or write your own and use it :)
###Using VM resources
To use shipped resources (such as composer, phpunit, etc) open terminal in project directory and type vagrant ssh
. Then cd /vagrant
and you are in project root in the VM. Files are seamlessly synced, so all your changes in VM will immediatly appear in host filesystem.
To connect to your databases (mysql, mongo, etc) in VM via clients use connection over SSH tunnel. SSH host will be 33.33.33.33, user and password — vagrant. Like this:
##What's in the box Lagrant will load Ubuntu 12 x64 VM with following components:
- php 5.5
- nginx as a default web-server
- chosen database (mysql, mariadb, postgresql; currently only mysql supported)
- redis
- mongodb
- nodejs and npm
- bower
- grunt
- grunt-autoprefixer
- gulp
- gulp-autoprefixer
- phantomjs
- ruby with rake
- less
- sass with compass
- coffeescript
- DART
- imagick or gmagick (imagick by default)
- ffmpeg commented by default!
- xdebug
- phpunit
- composer
- beanstalkd queue server and beanstalk console, available after install at http://localhost:8080/beanstalkd/index.php
- phpmyadmin, available after install at http://33.33.33.33/phpmyadmin/
Also it will create a database with provided in Vagrantfile credentials (default root password is root, default db name is database). If it performs a clean install of Laravel, it will create an environment configs set (defaults to dev) and set up local database and app configs.
Development packages (will be added during fresh install) included at the moment:
- way/generators — awesome code generators for rapid development
- way/laravel-test-helpers — helpers for Unit Testing
- barryvdh/laravel-ide-helper — IDE helper generator
- fzaninotto/faker — perfect tool for faking data and seeding test/dev databases
- codeception/codeception — great BDD-testing tool
Other packages (added to require section of composer and to configs):
- barryvdh/laravel-debugbar — awesome debug panel
- Anahkiasen/former — very useful form generator tool
- Anahkiasen/rocketeer — incredible deployment tool
rtablada/package-installer — handy tool for quick and easy installation of supported Laravel 4 packages(is not compatible with Laravel 4.1, commented out till fix)- pda/pheanstalk for beanstalkd L4 core support
##Troubleshoting
If establishing of private network during VM booting fails, run (for Mac users):
sudo /Library/StartupItems/VirtualBox/VirtualBox restart
(see this Vagrant/Virtual Box issue for details)
If you faced any error — feel free to open an issue
##Roadmap
###Server
- xhprof
- mariadb
- phpMyAdmin
- postgresql
- phpPgAdmin
###Application
- basic bower config
- basic gulp config
- build scripts (artisan commands)
- and bunch of cool Laravel Packages (research in progress)
##Thanx Thanx to Jeffrey Way for inspiring and ofcourse to Taylor Otwell for such awesome and stunning framework