How to Develop WordPress Locally with DevKinsta
This article was created in partnership with Kinsta. Thank you for supporting the partners who make SitePoint possible.
Local development is the practice of building, editing, and testing code on a local machine, without the need for internet connectivity.
The benefits are plentiful:
- You can work on your own code (or your client’s code) from anywhere.
- You can debug plugins and themes within different environments with a few clicks.
- You can expedite your development and web design workflow by tweaking things locally as you need and pushing them to a staging environment.
DevKinsta is Kinsta’s free suite of tools for local WordPress development that lets you create local instances of WordPress with a complete hosting stack consisting of PHP, Nginx, and MySQL in just a few minutes.
DevKinsta comes with a solid and ever-growing list of features such as:
- one-click WordPress site creation
- PHP 7.x and 8.x support
- local email management
- built-in database manager
- seamless integration with MyKinsta
- a community of WordPress experts
DevKinsta supports macOS, Windows, and Ubuntu/Linux, and is available for free to everyone, not just Kinsta customers.
How to download DevKinsta
DevKinsta is available for macOS, Windows, and Ubuntu/Linux. Here’s how to get started:
- Visit kinsta.com/devkinsta and click the Download button.
- Add your name and email address in the modal window, then click the button.
- The download process will initiate automatically and, based on your operating system, you’ll be downloading either the
- Click the file and kick off the installation process.
When you start DevKinsta for the first time, Docker Desktop will be installed as a dependency. DevKinsta uses Docker Desktop for creating containerized WordPress environments.
During the DevKinsta installation process, you may see a popup message that says “Docker Desktop needs privileged access”. If you see that message, click Okay and provide the password for your user account so Docker Desktop can be installed correctly.
After you provide the password for installation, DevKinsta will install Docker Desktop along with some Docker images. The installation can take some time depending on the speed of your internet connection, so feel free to step away from the computer for a while.
To successfully install DevKinsta, you’ll need to make sure your local machine meets the following requirements:
- at least 5 GB of disk space. 20 GB+ is recommended
- at least 1 GB of RAM. 2 GB+ is recommended
- a stable internet connection for the download
- virtualization enabled in BIOS
For more detailed information, please make sure to go through the recommended installation process in our documentation.
How to Create a Local WordPress Site with DevKinsta
DevKinsta supports three methods for creating local WordPress sites:
- New WordPress Site lets you create a local site with the default hosting stack consisting of Nginx, MySQL, PHP 7.4, and the latest version of WordPress.
- Import from Kinsta lets you clone a site hosted on Kinsta to your local computer with just a few clicks. After you’re finished with your work, you can even push changes back to a Kinsta staging environment!
- Custom Site lets you create a local site with a customized hosting stack. This option allows you to choose your PHP version, specify your database name, and enable WordPress multisite.
New WordPress Site
To get started, select the New WordPress Site option. For this site creation method, all you have to do is specify a site name, WordPress admin username, and WordPress admin password. After you’ve filled in these three fields, click Create Site.
Import from Kinsta
The second option is to import a site environment that’s already hosted on Kinsta. To do this, click Import from Kinsta and provide your MyKinsta login details.
After logging in, select the Kinsta environment you’d like to clone to your local computer. DevKinsta supports both live and staging environments on Kinsta, so be sure to choose the correct one.
After clicking on an environment, specify whether or not the site is a multisite installation and click Import Site to start cloning your site.
The third and last option, Custom Site, lets you configure specific settings for your local WordPress installation.
Here are the settings you can tweak with this site creation method:
- Site Name
- PHP Version (PHP 7.2, 7.3, 7.4, and 8.0)
- Database Name
- Enable HTTPS
- WordPress Site Title
- WordPress Admin Email
- WordPress Admin Username
- WordPress Admin Password
- WordPress Multisite Mode
After configuring your desired settings, click Create Site to start the site creation process.
How to Manage Multiple Sites in DevKinsta
For agencies and developers working on multiple projects at once, DevKinsta lets you deploy and manage multiple local WordPress sites! Every local WordPress site managed by DevKinsta runs in its own containerized environment. This means every site has its own customizable PHP version, WordPress version, email inbox, and more.
To view your DevKinsta site list, click on the site’s icon in the left-hand sidebar.
On this screen, you can see a list of all your local WordPress sites. To add another site, just click the Add Site button.
How to Push Changes to a Kinsta Staging Environment
For users with WordPress sites hosted on Kinsta, DevKinsta makes it easy to push changes online to a Kinsta staging environment. To push a local site to Kinsta, just click the Push to Staging button on your “Site Info” page.
You may be prompted to enter your MyKinsta credentials.
You’ll then need to select a target site to push to. Keep in mind that this process will overwrite the contents of the current staging environment if one exists.
Finally, click Push to Staging to confirm the action.
After pushing your local WordPress site to Kinsta, you can then view the site via the staging environment URL. If necessary, you can then push staging to live in MyKinsta.
DevKinsta ships with a lightweight database management tool called Adminer. Like phpMyAdmin, which we use for sites hosted on Kinsta, Adminer provides you with a web interface to edit database tables, run database queries, import and export backups, and more.
To launch Adminer, click the Database Manager button at the top of the “Site Info” page. Adminer will then open in your default web browser.
After launching Adminer, you’ll see your WordPress database’s tables. The screenshot below shows the database of our “kinstalife” test site. Under the “Table” column, you can see the default WordPress tables like
To edit a database entry, click on the desired table. For example, if we want to edit the home and site URL of our WordPress site, we can click on the
On this page, we can edit the
siteurl to update the site URL of our WordPress site, and the same can be done for the home URL as well.
Adminer also supports database import and export as well. This is useful for working with database backup files like the ones we include with downloadable backups.
To import a database file, click Import in the upper left corner of Adminer. Click on Choose Files to select a database backup, and click Execute to start the import process. Adminer supports both raw
.sql files as well compressed
To export a complete database backup, click Export in the upper left corner of Adminer. Select “gzip” for the output format, “SQL” for the database format, and leave the other settings as they are. Click Export to start the backup process.
Adminer will then export your WordPress database to a compressed
Finally, Adminer supports SQL command execution, which means you can run database queries on your WordPress database. For example, if you’re trying to find the amount of autoloaded data in your database, you can run a SQL command below in Adminer.
SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes';
To run a database query, click SQL Command in the upper left corner of Adminer. Specify a database query and click Execute to run the command.
With DevKinsta’s Adminer integration, you have advanced control over your WordPress database.
Whether you need to edit database tables, import or export backups, or run complex SQL commands, DevKinsta has got you covered!
DevKinsta includes a built-in SMTP server and email capture tool. This allows your local WordPress sites to send outgoing emails like a live production site. However, sent emails will be captured and stored in DevKinsta’s email inbox.
This gives you the best of both worlds. You can use DevKinsta to test outgoing email functionality for marketing automation workflows, WooCommerce order confirmations, and more, without spamming the email inboxes of your visitors and customers.
To access DevKinsta’s email inbox, click on the mail icon in the left-hand sidebar.
In the email inbox, you’ll see a list of outgoing emails that were captured. In the screenshot below, you can see an outgoing email from our “kinstalife” test site.
To inspect an outgoing email, just click on it. For each email, use DevKinsta to inspect the “from address”, “to address”, body content, time of delivery, and more.
You can also choose to display the email in HTML, Plain Text, or Raw mode. The HTML mode is useful for testing out HTML email templates, while the Raw mode lets you inspect email headers like
Where to Learn More About DevKinsta
We look forward to seeing what you create!