How to Develop WordPress Locally with DevKinsta

    SitePoint Team
    Share

    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.

    Introducing DevKinsta

    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:

    1. Visit kinsta.com/devkinsta and click the Download button.
    2. Add your name and email address in the modal window, then click the button.
    3. The download process will initiate automatically and, based on your operating system, you’ll be downloading either the .dmg, .exe file, or .deb.
    4. 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.

    System requirements

    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:

    1. 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.
    2. 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!
    3. 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.
    Creating a new site with DevKinsa

    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.

    Create a new WordPress site in DevKinsta

    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.

    Clone your live site with the Import from Kinsta feature

    Custom 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
    Customize a local WordPress installation with DevKinsta

    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.

    Deploy multiple WordPress local environments with DevKinsta

    On this screen, you can see a list of all your local WordPress sites. To add another site, just click the Add Site button.

    Manage multiple WordPress sites with DevKinsta

    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.

    Push your local WordPress site to a Kinsta staging environment

    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.

    Choose a staging environment to push changes to

    Finally, click Push to Staging to confirm the action.

    Confirm the Push to Staging 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.

    How to Use DevKinsta’s Database Management Tool

    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.

    Click Database Manager to access Adminer in DevKinsta

    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 wp_comments, wp_posts, etc.

    WordPress database in Adminer

    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 wp_options table.

    Click Select Data to edit your WordPress database tables

    On this page, we can edit the option_value for siteurl to update the site URL of our WordPress site, and the same can be done for the home URL as well.

    Edit a WordPress database option_value with Adminer

    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 .sql.gz files.

    Import a database backup with Adminer

    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 .sql.gz file.

    Export a database backup from Adminer

    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.

    Query your database with a SQL command in Adminer

    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!

    How to Inspect Outgoing Emails With DevKinsta’s Email Inbox Tool

    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.

    DevKinsta includes a built-in SMTP server and email capture tool

    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.

    An outgoing email in DevKinsta’s email inbox

    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.

    DevKinsta email inbox display modes

    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 MIME-Version and X-Mailer directly.

    Where to Learn More About DevKinsta

    To learn more about DevKinsta, be sure to join the official community forum and read the DevKinsta documentation.

    We look forward to seeing what you create!