As a web developer, you’re always trying to avoid problems and save time when it comes to setting up projects. So, even if you’re working on Windows or you’re a Mac fanatic, you’d want to have a quick way to kick start projects. If you’re running a web server and/or a database server, you’ll soon come to realize that virtualisation is the right way to go, especially when you want to be sure that you’re on the same page as your team or simply want to deploy the projects without too much of a hassle.
So, what does this Vagrant thing do?
This is where Vagrant comes into play. Sure, you’d have other options, too, but I’ll explain shortly why you should at least try out my suggestion. This is what the official website states:
“Vagrant provides the same, easy workflow regardless of your role as a developer, operator, or designer. It leverages a declarative configuration file which describes all your software requirements, packages, operating system configuration, users, and more.”
With the help of Vagrant, you can mirror production environments. For big projects, that is of huge help. You’re going to be on the “same page” as your fellow co-workers. If you’re working on mid-size or small projects, then Vagrant is going to help you with starting the work really-really fast. Moving even further down this road, using some Vagrant boxes will get you started in 5 minutes. You can actually save all that time needed to set up the project and use it for coding. Fun, right?
3 Useful Vagrant Boxes
1. Scotch Box – at the time of writing this article, Scotch Box is at vs 3.0. This box is perfect for running a LAMP/LEMP Stack. It has both a free and a pro version, but if you’re on your web development beginnings and you’re also on a budget, the free version offers quite a lot. Free Version features Ubuntu 14.04.5 LTS (Trusty Tahr), Apache, PHP v7.0, Python v2.7, Node.js v5.0.0, Git v2.7.4, Composer, WP-CLI and a lot of PHP modules. You can get an instance of any CMS (Content Management System) up-and-running in matter of minutes. ScotchBox is also ready to run Laravel, CakePHP, Symfony, Zend, Phalcon, CodeIgniter, Yii / Yii 2, Fuel PHP and others. Even though on VagrantUp listing of boxes page you’ll only see it with over 2 million downloads, from my point of view, Scotch Box is actually one of the best boxes you can start with when it comes to local web development. Also, if you’re into WordPress, you can have a look over WPDistillery (kickstarts your WordPress installation on Scotch Box and gets you started in less than 5 minutes – according to the official website). Starting a project with Scotch Box is as easy as a “git clone”.
2. Laravel / Homestead – even if this box was intended as a help for PHP developers, especially ones working with Laravel as a PHP framework, is actually a wonderful development environment for any developer who needs some or any of the following: Ubuntu 16.04, Git, PHP 7.2, Nginx, Apache (Optional), MySQL, MariaDB, PostgreSQL, Composer (of course), Node.js (With Yarn, Bower, Grunt, and Gulp), Redis and Memcached. Since I’ve used WordPress as an example for the previous box, I will continue using it for this one, as well. So yes, WP is really easy to set up, will take you a bit more than by using WPDistillery, but you still won’t be spending more than 10 minutes on it. Installing Homestead can also be done with a really simple git clone.
3. ubuntu/trusty64 – is probably the most downloaded Vagrant box (over 30 million downloads). You will have to do most of the work here, starting with installing the web server, the preferred PHP / node.js / Python version, the preferred database release and so on. But this also means you will have better control on what’s on your server or you can be a bit more flexible when it comes to adapting to the environment a team is already working on. You will need, on the other hand, some experience with Linux & provisioning.
As you can see, it doesn’t really matter if you’re a freelance web developer of a PHP software development company, Vagrant is going to make things easier. And if you’re also going to look at the name of the organizations that trusted Vagrant for their projects (BBC, Nokia, Yammer or Mozilla) you’re got even more reasons to be convinced that this would be a right move for your improved work-flow. Saving time, especially on repetitive tasks, can also mean having happier developers who actually do what they enjoy: coding, instead of environment set up.