Skip to content
Vagrant scripts to build Linux on Virtual Box with Apache, MariaDB, PHP, Python and Node installed and ready to develop on.
Shell Ruby JavaScript Python PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Development Vagrant Box


This folder contains scripts to set up a virtual machine for PHP, Python and/or NodeJS. You can install any or all of these programs in order to learn, play and even get started developing. It also has a very quick script for setting up MariaDB and creating a user and table called 'mydb' that can be accessed by each of these languages as needed.

This is a work in progress, and posted for casual practice and development environments only. It is NOT recommended that you use this box to do any serious development or create actual hosted environments for production websites.

Setup and Use

  1. Install Vagrant and VirtualBox before proceeding.
  2. If you're using Windows, install Cygwin to get better command line capabilities.
  3. Download this project folder, name it whatever you like, and edit ./resources/Vagrantfile to give your box another name and/or forward its ports (and any others) to other ports on your machine. This one uses a default of 8380 for port 80 and 8480 for port 8080 (to run the Node sample). If this is the only box you're running, chances are the settings will work as-is. (The rest of these instructions will assume that you used 8380 and 8480.)
  4. Run ./ to build the base Linux environment. In Windows, you can do this by double-clicking the file. In OSX/Linux environments, you can cd into the directory in a terminal and run 'bash ./' from there. (You can do this in Windows too.)
  5. When it's finished running, you'll automatically SSH into the new machine's command line. If you ever want to do this again, you can run ./ If the machine is down for any reason, you can run ./ to bring it up and SSH in.
  6. Once in the command line, you can run any or all of the following to install the various pieces. For playing around, there's no harm in running all 5 of them:
    cd /vagrant
  7. To destroy the box at any time, wiping anything that's inside of the ./box/ folder (so be careful and save your work!) you can run ./
  8. To visit the demo pages for each of PHP, Python CGI and NodeJS, try these links:
    1. http://localhost:8380/phpHelloWorld.php
    2. http://localhost:8380/
    3. http://localhost:8480/ (note: you'll have to run 'node nodeHelloWorld.js' first)
  9. A database called 'mydb' with user 'mydb' and password 'mydb' has been created, but more can be created as you wish. To access your MySQL database in the command line with full admin permissions:
    sudo mysql
  10. If you'd like to connect using software on your host machine, you can do this via SSH. Here are some instructions.. The following command, executed in the /vagrant/ folder in your host, will show you the settings you need to use when connecting through TCP/IP over SSH:
    vagrant ssh-config
  11. If you're interested in using React, and you're on a Windows machine, make sure you run the cmd prompt as Administrator (right-click, "run as administrator") in order to run the ./ script so that you can bypass some restrictions on creating symlinks when running Once it runs, you should be able to visit https://localhost:8300 in your local browser to view it running on port 3000 in your VM.

Learn on your Own!

Web Design with HTML and CSS

JavaScript and Related Frameworks

SQL for Databases

PHP and Related Frameworks

Python and Related Frameworks

Node and Express


Learn from Me!

Are you in the NC Triad or Triangle area? Want face-to-face instruction in an indivual or small-group setting with much more personal attention at a much lower cost? I charge $60 per hour for individual tutoring, or as little as $40 per hour for longer commitments. That's about half the price of other local boot camp offerings like UNC Boot Camp. More importantly, it's more modular and focused, saving you money on the things that you already know or aren't ready to learn yet. Instructional quality is top notch: I have years of experience teaching at the college level, a masters in the field, and over 15 years of hands-on experience doing this stuff myself.

Learn more here:

You can’t perform that action at this time.