Skip to content

Instantly share code, notes, and snippets.

@tbonesteaks
Last active April 19, 2021 12:10
Show Gist options
  • Save tbonesteaks/000dc2d0584f30013913 to your computer and use it in GitHub Desktop.
Save tbonesteaks/000dc2d0584f30013913 to your computer and use it in GitHub Desktop.
brew, vagrant, virtualbox, and vagrant file howto...

NSOT engineers have built Vagrantfiles for you deploy test NSOT software (Demo) in a multitude of environments. This tutorial will prepare your computer for those demonstration servers. This tutorial prepares a Mac OS X environment with Vagrant.

NSOT publishes complete installations, demos, and branch versions, in a multitude of environments. These tutorials are in addition to, not an alternative for the pip-install method.

The Goal: Install Brew, VirtualBox, Vagrant and Vagrant-Manager, on a Macintosh 10.10.x system to deploy test versions of NSOT. When done we will be able to provision a variety of linux distributions with NSOT pre-configured, as virtual servers, via Vagrantfile(s).

Context: We will use Vagrant and associated Virtual Server software to build Ubuntu, Debian, CentOS, and other installations of Network Server of Truth (NSOT) elsewhere in these documents. This guide is to help those unfamiliar with how to install and use Vagrant and Virtualbox in the first place

Vagrant allows us to provision complete virtual machines (Unix, Linux, Mac, or Windows) inside the Mac Operating system as virtual machines. The vagrant virtual servers are configured with a single file (called a “Vagrantfile.”) started with a single command (vagrant up), are contained within a single folder, and can be destroyed with a single command (vagrant destroy). This environment is nicely segregated from your day to day computing, and allows you to test our software in a variety of environments.

Assumptions: You are running a computer with Mac OS X 10.10.x installed.

(The graphics are from a 10.10.5 installation).

Overview: Install Prerequisite Software (XCode)*. Install Brew*. Brew Vagrant **. “Hello World” Vagrant **.

Install Prerequisite Software (XCode from App Store via Link): Click link to Get Xcode —>

https://itunes.apple.com/au/app/xcode/id497799835?mt=12

Agree to EULA and Install. Install Prerequisite Software (XCode Tools from Command Line): Open a Terminal (Launchpad —> Other —> Terminal). At the command prompt run the following command to install XCode Tools.

xcode-select —install

Agree to install at Prompt. Accept the EULA. Install Prerequisite Software (Homebrew from Command Line): Using the same terminal, now download Homebrew by copying this command.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

This will ask for your password, and install Homebrew on your Mac. Run this command from the terminal to update and confirm install of Homebrew.

brew doctor

Agree to EULA for Terminal in Mac OS X From Command line run this command to bring up licenses:

sudo xcodebuild -license

Check that Brew is up to date. From Command line run this command to ensure Homebrew is up to date:

brew update

Install Vagrant and Virtualbox via Homebrew: From command line run this to download, verify, and install VirtualBox.

brew install Caskroom/cask/virtualbox

From command line run this to download, verify, and install VirtualBox extension pack for your version of virtualbox. brew install Caskroom/cask/virtualbox-extension-pack

From command line run this to download, verify, and install Vagrant.

brew install Caskroom/cask/vagrant

From command line run this to download, verify, and install Vagrant-Manager.

brew install Caskroom/cask/vagrant-manager Start a Virtual Ubuntu Server: Download an OS —> We’ll use Ubuntu. From Command line enter the following to make a sandbox directory, cd into it, and then download the OS:

mkdir sandbox && cd sandbox && vagrant box add precise64 http://files.vagrantup.com/precise64.box

Initialize the installation inside the sandbox folder (aka make the Vagrantfile). (You can modify the Vagrantfile and look at it after this step.)

vagrant init precise64

Start the Ubuntu server via Vagrant by typing this at command line:

vagrant up

To login to the new server via ssh, enter the following via command line:

vagrant ssh

Change what you like. Mess it up if you care to. Once done poking around, logout.

exit

To destroy the Ubuntu virtual server installation

vagrant destroy

To rebuild from the OS again…

vagrant up

Conclusion: After the login regimen finishes, you should be inside the new server you just created, for the second time. You have built a new server, Destroyed it, and built another in less time than it takes to drink a cup of coffee.

Homebrew installation based on the guide published here. http://coolestguidesontheplanet.com/installing-homebrew-os-x-yosemite-10-10-package-manager-unix-apps/

** Based on the Vagrant installation guide published here.
http://sourabhbajaj.com/mac-setup/Vagrant/README.html
@tdiderich
Copy link

This was the best tutorial I found on Vagrant/VirtualBox. Appreciate the write-up!

@obfusticatedcode
Copy link

Thank you

@illogicalextend
Copy link

Good except current version of virtualbox isn't compatible with current version of vagrant. Had to downgrade to virtualbox 5.1 to make it work.

@ysghairi
Copy link

ysghairi commented Nov 7, 2017

Thank you

@jeffminsungkim
Copy link

Thank you 👍

@mingalevme
Copy link

What is the difference between brew install Caskroom/cask/vagrant and brew install --cask virtualbox?

Official docs (https://formulae.brew.sh/cask/virtualbox) says to use brew install --cask virtualbox but it's does not work: vagrant: command not found, but brew install Caskroom/cask/vagrant works ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment