diff --git a/README.md b/README.md index f67a6cf7..4685a0f8 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,34 @@ -## Laravel PHP Framework +# Starting a dev environment +To begin development, you must do three things: -[![Build Status](https://travis-ci.org/laravel/framework.svg)](https://travis-ci.org/laravel/framework) -[![Total Downloads](https://poser.pugx.org/laravel/framework/d/total.svg)](https://packagist.org/packages/laravel/framework) -[![Latest Stable Version](https://poser.pugx.org/laravel/framework/v/stable.svg)](https://packagist.org/packages/laravel/framework) -[![Latest Unstable Version](https://poser.pugx.org/laravel/framework/v/unstable.svg)](https://packagist.org/packages/laravel/framework) -[![License](https://poser.pugx.org/laravel/framework/license.svg)](https://packagist.org/packages/laravel/framework) +1. Install the `vagrant-hostmanager` plugin: `vagrant plugin install vagrant-hostmanager` -Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, queueing, and caching. +2. Install the "vagrant-bindfs" plugin: `vagrant plugin install vagrant-bindfs` -Laravel is accessible, yet powerful, providing powerful tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked. +3. Create the directory `pony.fm.files` in the repository's parent directory -## Official Documentation +4. Run `vagrant up` from the folder in which you cloned the repository -Documentation for the framework can be found on the [Laravel website](http://laravel.com/docs). +Once everything is up and running, you'll be able to access the site at http://pony.fm.local. You can access the MySQL database by logging into **192.168.33.11:3306** with the username of **homestead** and the password of **secret**. The pony.fm database is named **homestead**. -## Contributing +# Asset pipeline +Pony.fm uses gulp to mange its asset pipeline. **Important** due to everything being awful, you must run npm and gulp from your host machine and not the VM. You must first have it installed globally: +> npm install -g gulp -Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](http://laravel.com/docs/contributions). +And then install all of the required local packages by invoking: +> npm install -## Security Vulnerabilities +Finally, build all of the scripts by executing: +> gulp build -If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell at taylor@laravel.com. All security vulnerabilities will be promptly addressed. +During development, you should make a point to run "gulp watch". You can do this simply by executing: +> gulp watch -### License +This will watch and compile the .less and .coffee files in real time. -The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT) +# Configuring the servers +Pony.fm uses nginx, php-fpm, redis, and MySQL. You can modify the configuration of these services by locating the appropriate config file in the "vagrant" folder. Once modified, you must reload the configuration by running the appropriate shell script (**reload-config.sh**) or bat files (**reload-config.bat** and **reload-config.vmware.bat**). These scripts simply tell Vagrant to run "copy-and-restart-config.sh" on the VM. + +If you need to change any other configuration file on the VM - copy the entire file over into the vagrant folder, make your changes, and update the "copy-and-restart-config.sh" script to copy the modified config back into the proper folder. All potential configuration requirements should be represented in the vagrant folder **and never only on the VM itself** as changes will not be preserved. + +**NOTE:** currently, Redis' configuration is not reloaded by the "copy-and-restart-config.sh" diff --git a/Vagrantfile b/Vagrantfile index e2760c27..f24179c0 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -1,11 +1,20 @@ Vagrant.configure("2") do |config| + + config.hostmanager.enabled = true + config.hostmanager.manage_host = true + config.vm.box = 'laravel/homestead' config.vm.provider "virtualbox" do |v| v.cpus = 4 v.memory = 2048 end - config.vm.network :private_network, ip: "192.168.33.11" + config.vm.define 'default' do |node| + node.vm.hostname = 'pony.fm.local' + node.vm.network :private_network, ip: "192.168.33.11" + node.hostmanager.aliases = %w(api.pony.fm.local) + end + config.vm.synced_folder ".", "/vagrant", type: "nfs" config.vm.provision "shell", path: "vagrant/install.sh"