GithubHelp home page GithubHelp logo

sm-lamp-dev-env's Introduction

Vagrant LAMP stack for project development

This is a pre-configured Vagrant LAMP Stack that is meant to be used as a project template.

Once project is set, it is quickly replicated to any team member's workstation. Code is modified locally whether you're working on Linux, Mac OS X, or Windows, but it is running in the same virtual environment created in Virtualbox and configured by Vagrant.

What is in the stack?

  • Ubuntu 14.04 LTS (Trusty Tahr)
  • Apache 2.4.x
  • MySQL server 5.5.x
  • PHP 5.6.x
  • PHP-FPM
  • Xdebug
  • Composer
  • Symfony installer

How to use?

Host setup

  1. Install Oracle VM Virtualbox
  2. Install Vagrant
  3. Install ansible if on Linux/Mac OS X (eg. brew install ansible)

Project setup

  1. Download and unpack latest version (master) to your projects location
  2. Rename sm-lamp-dev-env directory according to new project name
  3. Modify IP address in ansible/inventories/dev so it doesn't collide with other project VMs (read Network setup)
  4. Configure your VM in ansible/box/definition.yml by modifying all entries marked with SETUP
  5. Edit your hosts file so you can access project from browser (eg. 192.168.10.2 sm-test.dev)
  6. Start VM by running vagrant up in project root

Vagrant environment manipulation

Boot virtual machine by going to environment folder (eg. ie8-win7) and running vagrant up.

Suspending the virtual machine by calling vagrant suspend will save the current running state of the machine and stop it.

Provisioning the virtual machine by calling vagrant provision will apply changes from ansible roles.

Access virtual machine by calling vagrant ssh.

Halting the virtual machine by calling vagrant halt will gracefully shut down the guest operating system and power down the guest machine.

Destroying the virtual machine by calling vagrant destroy will remove all traces of the guest machine from your system. It'll stop the guest machine, power it down, and remove all of the guest hard disks.

Network setup

Boxes should be set to have NAT IPs in range 192.168.10.2-255. When choosing IP consult with internal Spoiled Milk document of available local IP addresses for your project.

Consult project box definition file to check which IP it is set to. Boxes also have bridged mode networks enabled, so they can also be accessed by other team members. During box startup you may be asked which host network card to use for bridge.

sm-lamp-dev-env's People

Contributors

stankovic84 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.