This is going to be series of article on MEAN stack. Start with setting up development environment with the following the tools
Introduction to Vagrant
Vagrant is computer software that creates and configures virtual development environments. It can be seen as a higher-level wrapper around virtualization software such as VirtualBox, VMware, KVM and Linux Containers (LXC), and around configuration management software such as Ansible, Chef, Salt, and Puppet.
Windows
- Install Vagrant
- check the link https://www.vagrantup.com/downloads.html and download
- run Vagrant.ext to install
- restart machine
- go to command line (cmd)
- type
vagrant --version
to verify the installation
- Create a vagrant script named vagrantfile
Vagrant.configure("2") do |config| // this is the box name config.vm.box = "ubuntu/trusty64" // provision script from a separate file config.vm.provision :shell, path: "bootstrap.sh" //forward the apache port to host machine with a different port config.vm.network :forwarded_port, guest: 80, host: 1001 //forward the nodejs port to host machine with a different port config.vm.network :forwarded_port, guest: 8001, host: 8001 //share folder between host and guest machine config.vm.synced_folder "/Users/vagrant/helloworld", "/vagrant" end
- Run Vagrant Machine with Ubuntu 14.04
# vagrant up
- Adding SSH key access to vagrant machine (using PPK file)
- Install Putty and Putty Gen
- To generate PPK (Putty Private key), open puttygen
- Select import private key from the menu
- show the path of the private key generated by vagrant, default at
YOUR_BOX_LOCATION\.vagrant\machines\default\virtualbox\private_key
- Click the
save private key
button and save the file in the same location where the default vagrant private key located.
- SSH to Vagrant Machine (putty, puttygen)
- Open putty program
- add the host name in hostbox, default is: 127.0.0.1
- add the port number, default is: 2222
- name the settings: testVagrant
- for authentication, from left sidebar look for auth options and select that. left side you will see the option to browse the path of the PPK file.
- Now click open and it will ask for login user name. Default user is: vagrant
- Running the Vagrant from host machine
- Install Apache Web Server using Ubuntu package manager (APT- Advanced Packaging Tool)
# Sudo apt-get update # sudo apt-get install apache2
- Forward port from guest machine to host machine using Vagrantfile configuration
- Install Apache Web Server using Ubuntu package manager (APT- Advanced Packaging Tool)
- Setup Vagrant Provisional items
- Add Apache web server in bootstrap.sh
#!/usr/bin/env bash # install apache2 server apt-get update apt-get install -y apache2 if ! [ -L /var/www ]; then rm -rf /var/www ln -fs /vagrant /var/www fi
- Add node package into the server
# install node package apt-get install -y g++ curl -sL https://deb.nodesource.com/setup_0.12 | sh apt-get install -y nodejs su vagrant mkdir /home/vagrant/node_modules cd /var/www/ ln -s /home/vagrant/node_modules/ node_modules npm install karma
- Create and Run First node.js server
var http = require('http'); var server = http.createServer(function (request, response) { response.writeHead(200, {"content-Type": "text/plain"}); response.end("Hello Node World\n"); }); server.listen(8001); console.log('Server running at http://127.0.0.1:8001');
- Add Apache web server in bootstrap.sh
- Mac
- Install Vagrant
- Create a vagrant script
Series:
MEAN Stack 01: Prepare development environment
MEAN Stack 02: mongoDB installation with provision and starting with mongodb
MEAN Stack 03: How to work with mongoDB
MEAN Stack 04: Start with Express framework using nodejs