This article is outdated and may not work correctly for current operating systems or software.
For any modern development team, it is always a good idea to use a unified code running environment throughout a project. In a unified code running environment, team members can use different coding tools on different operating systems, but all the code they yield is validated in the same environment. Thus, those working-on-my-machine bugs can be avoided before they get into the production environment.
Vagrant is a great tool for building and maintaining unified code running environments mentioned above. With the help of Vagrant, a project organizer can easily setup a unified code running environment for every team member, even a new comer can dive into the same environment quickly.
In this article, we will be covering the process of installing Vagrant on CentOS 6 x64 along with its basic usages.
Deploy a new Vultr CentOS 6 x64 server instance
A sudo user.
VirtualBox installed on the instance.
By default, the VirtualBox software will create a user group named
vboxusers, you need to add the account you are using to this group before you can invoke the VirtualBox program properly. Remember to replace
vagrantuser with your own username:
sudo usermod -G vboxusers vagrantuser sudo shutdown -r now
Log in from your terminal again after the system reboot.
You can and should always find the latest version of Vagrant from its official website:
cd ~ wget https://releases.hashicorp.com/vagrant/1.8.1/vagrant_1.8.1_x86_64.rpm sudo yum install vagrant_1.8.1_x86_64.rpm
After the installation has been completed, use the below command to confirm vagrant is installed:
You can create a directory
projectx under your home directory to contain your project environment:
cd ~ mkdir projectx cd projectx
A Vagrant box is a package containing a predefined code running environment. You can use a Vagrant box on any platform that Vagrant supports to reproduce the identical environment.
You can use a Vagrant-owner-issued or a third-party box as the base of your environment.
For example, if you want to setup your project environment based on Ubuntu 12.04 LTS 32-bit, you can use a Vagrant-owner-issued box, hashicorp/precise32, to initiate your project environment:
vagrant init hashicorp/precise32
You can find more Vagrant-owner-issued boxes from vagrantcloud.com.
If you want to utilize a third-party Vagrant box, you need to add it to your box repo before you can use it:
vagrant box add centos66 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.0.0/centos-6.6-x86_64.box vagrant init centos66
Here, "centos66" is a user-defined name, the URL is the path to the box.
You can find more third-party Vagrant boxes from vagrantbox.es.
The "vagrant init" command will create a file "Vagrantfile" in the project directory.You can use it to adjust configurations of your project later.
Technically, a code running environment is a virtual machine provided by VirtualBox, you need to bring it up before you can log into it:
You need to log into your Vagrant virtual machine to use or customize it:
With the command above, you log into your Vagrant virtual machine using the default username "vagrant" and a predefined private key.
In the virtual machine, You can customize your code running environment as you wish.
In order to exit the virtual machine, press Ctrl-D or input
If you want to suspend your Vagrant virtual machine:
If you want to stop your Vagrant virtual machine:
You can package your code running environment and export it to a Vagrant box file with the following command:
The exported Vagrant box file "package.box" will reside in your project directory. All of your team members should use it to build their own code running environments.
You can destroy the Vagrant virtual machine with the following command:
This command will only destroy the virtual machine related to current project directory. None of your box files will be removed.
For help on Vagrant, input the following command:
This concludes our tutorial. Thank you for reading.