/Lagrant

Boilerplate Vagrant config with Laravel autosetup

Primary LanguageShellMIT LicenseMIT

#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:

mongohub

##What's in the box Lagrant will load Ubuntu 12 x64 VM with following components:

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:

Other packages (added to require section of composer and to configs):

##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