March 15, 2017

I’ve been using Vagrant and VVV with VV (a site creation wizard) for a while now as the cornerstone of my development workflow. I have customized my VVV quite a bit over the years, and – while I was happy with it – I was always on the lookout for something better to see if it would fit my development workflow better.  On a whim, I decided to check out a new app on a recommendation from a co-worker: Local by Flywheel.

Flywheel is a fantastic WordPress host, and I’ve had the chance to meet a few of their reps at the last WordCamp – they’ve got a great service, and to see them focusing on the entire development process (from local development to the final production site) is refreshing.

Local Installation

Installation of Local is easy: simply visit https://local.getflywheel.com/ and click on the obvious “Free Download” button. It’ll ask for a few pieces of information, and whether or not you want to use the Mac OSX version (stable) or a beta version of their Windows client. Run through the install process and run the program. It’ll set up the initial run-through and will set a few variables and settings on your machine.

Once you’ve installed the software, you’ll be taken to the home screen, where the fun really begins.

The Settings Tab

The screen has two tabs at the top (Sites and Settings). The Settings tab runs through the various options you can set up for your install. A lot of the options can be left at their default, but I want to go over a few of the important ones.

New Site Defaults

I like to set the Admin Username, Admin Password, and Admin Email here – that will allow any new sites to be created to default to those values.  The Default Sites Path is also good – I set mine to something in my home directory so I’d have quick access to it.

Add-Ons

I installed two add-ons at the time of this article: The “Pressmatic Stats”, and “Live Links”. I’ll assume you’ve installed them too, and will reference them later in this post.

The Sites Tab

The left bar will contain any sites that you’ve installed. Right now, we don’t have any, so let’s create one – Click on the plus sign in the bottom left corner and click “Add New Site”.

Enter a Site Name. The domain and path will auto-fill, but you can change those values as you need to. Under the Environment tab, you can customize your environment details. Personally, I like PHP 7.0.3+ and nginx as my server of choice, but that’s because it mimic’s my production environment. If your production environment is different, you can set the options to match.

Under WordPress, you can set up a multisite, as well as customize the Admin Username/Password/Email you set up earlier.

Click “Add Site”, and your computer -may- ask you for Administrator access. This is to auto update your hosts file so visiting the Site Domain (sitename.dev) will resolve correctly.

Once your site is live, you can view it at the link you put in the Site Domain.

Modifying a Site

Clicking on a created site in the left bar brings up the options panel. If the “light” next to the site is on, that means the site is active, and can’t be modified. Any sites that are off can have options modified upon their next activation.

Database

You can find all of the database credentials in the Database tab – as well as buttons that will automatically connect you via Sequel Pro or Adminer into the database – very useful if you’re migrating in a current site and want to drop the database in.

SSL

One of my favorite features, small irregardless, is the ability to trust the SSL certificate to allow secure access to the site. Done via OpenSSL, it’s a nice feature if you want to test security features and/or integrations (API, eCommerce, etc) on a secure production-like environment.

Utilities

The Mailcatcher is super useful – it’ll catch any outgoing emails from WordPress and hold them – great for seeing outgoing eCommerce emails, or other WordPress notifications.

The big thing here, however, is the Live Link.  If you downloaded the appropriate add-on earlier, you can activate this button and get a link to your WordPress install that works outside of your local environment. Developing a site and want to demo progress without pushing to a staging server? Activate the live link and send them the URL.

The More tab will also (if you installed the add-on) show you CPU and Memory usage via a handy-dandy scrolling graph.

The Verdict

The Live Link alone was worth switching to Local from Vagrant / VVV. I know there’s methods to allow that functionality in Vagrant / VVV, but the sheer ease-of-use makes it a slam dunk for me. I’ve been using it for a few weeks now – to properly put it through its paces – and it’s so much faster than Vagrant. I don’t have to wait to have the Vagrant box re-provision itself. Local uses a docker container setup and it makes the whole process so much more speedy.

So, if you’re like me and want a reliable, easy-to-use local environment, then head over to the Flywheel Site and download it!  If you’ve used it, or have a question, hit the comments below!

  • Thanks for sharing, Mitch! I saw your post about Local by Flywheel on Facebook and I, too, decided to give it a try.

    I no longer design or develop websites for clients, but I do like having a local environment for working on and testing things on my own sites. I’ve used MAMP, XAMPP, DesktopServer, and more recently, the VVVVVVVVVVVVVVVVV… combo. I love how simple Local by Flywheel is!

    • That was my big draw too. That and the Live Links. And working with Git and/or something like WP Migrate DB Pro, syncing can be done up and down very easily for local development. That, and the interface is nice and clean – which is a big plus for me.

  • donkeyjong

    I’m assuming you’re not working in a team and share the environment between you? We’re usually 2-3 on a project and have a lot of projects in the pipeline all the time. I took a look at Local and it looks great but I just don’t see how we can make it easy to share projects and setup on new computers. There’s also an issue of not being able to extend it with our own provisioning. It’d be killer if one could add a custom bash, wp cli and/or composer file which would run on each new setup to download our private repos, plugins, setup WP defaults etc.

    • There’s a lot of potential for back-end add-ons to be made; necessity is the mother of invention, after all. I do work on a team, but due to the nature of our server setup I don’t have to worry as much about the environment matching up completely. We do manual migrations into WP Multisite, so as long as I can get database stuff out easily, we’re good.

      We’re changing that, but that’s what years (decades, almost) of a decentralized system will do 🙂

      • donkeyjong

        Ohh that sounds like a beast to slay indeed.. We’re working in VVV (vagrant) right now and while it works fairly well there are a few caveats. Especially the way all sites share server and it just gets slower with each new project..

  • Local by Flywheel is a great product. My two wish list items would be bumping the MySQL version up, and adding support for Dynamic DNS.