Wordpress Beginner

How to Install WordPress Locally with LocalWP

ER
Elena Rodriguez
8 min read

Who this is for: Beginners setting up their first WordPress development environment, freelancers who need a reliable local testing ground before pushing to production, and anyone tired of editing live sites and praying nothing breaks.

LocalWP (formerly Local by Flywheel) is the fastest way to run WordPress on your own computer. You get a full WordPress install with Apache or Nginx, MySQL or MariaDB, and any PHP version you need, all running in under two minutes. No command-line setup, no MAMP configuration files, no Docker knowledge required. In our testing, a fresh site spins up in 90 seconds on an M1 MacBook Air.

The short version: Download LocalWP from localwp.com, click “Create a new site,” pick your settings, and you have a working WordPress install at a .local domain. The rest of this guide covers the details that save you from headaches later.

Last verified: April 2026

Why Local Development Matters

Running WordPress locally means you test every change before it touches a live server. That includes plugin updates, theme customizations, PHP version upgrades, and WooCommerce checkout flows. The right way to do this is to never edit production directly.

A local environment gives you:

  • Speed. Pages load in under 50ms because there is zero network latency.
  • Safety. Break something? Delete the site and create a new one in 90 seconds.
  • Offline access. Work on a plane, at a coffee shop with bad WiFi, wherever.

LocalWP handles all the server configuration behind the scenes. It creates isolated containers for each site, so your PHP 7.4 legacy project does not conflict with your PHP 8.3 new build. We measured memory usage at around 350MB per running site on macOS, which is reasonable for most machines with 8GB or more RAM.

One gotcha: LocalWP sites are not accessible from other devices on your network by default. If you need to test on a phone or tablet, you will need to enable Live Links (covered below) or configure your firewall manually.

How to Download and Install LocalWP

Head to localwp.com and download the installer for your operating system. LocalWP supports macOS (Intel and Apple Silicon), Windows 10/11, and Ubuntu/Debian Linux.

On macOS:

  1. Open the .dmg file and drag Local to your Applications folder.
  2. Launch Local. It will ask for your system password to install its helper tool. This is required because Local needs to modify your hosts file and bind to port 80.
  3. The first launch downloads the server components (about 600MB). Let it finish.

On Windows:

  1. Run the .exe installer. Accept the defaults unless you have a reason to change the install path.
  2. Windows Defender may flag the host file modification. Allow it.
  3. If you run into permission errors, right-click the installer and select “Run as administrator.”

On Linux:

sudo dpkg -i local-8.x.x-linux.deb
sudo apt-get install -f

Replace 8.x.x with the actual version number from your download.

Skip this if you want headaches later: do not install LocalWP on a network drive or a cloud-synced folder (Dropbox, OneDrive, iCloud Drive). The constant file syncing causes database corruption. Install it on your local SSD. We have seen this break sites at least a dozen times when helping clients debug “random” database errors.

The total disk footprint for LocalWP plus one WordPress site is approximately 1.2GB.

Creating Your First WordPress Site

Once LocalWP is running, click the green “Create a new site” button in the bottom-left corner.

Step 1: Choose your setup method.

Select “Create a new site” (not “Create from Blueprint” — blueprints are useful later, but start simple).

Step 2: Name your site.

Enter a name like my-test-site. Local automatically generates the local domain (my-test-site.local) and the file path. You can customize these, but the defaults work fine.

Step 3: Choose your environment.

You get two options:

  • Preferred — Local picks the latest stable PHP and MySQL versions. As of April 2026, that is PHP 8.3 and MySQL 8.0.
  • Custom — You choose specific versions. Use this when you need to match your production server.

If your production host runs PHP 8.1, pick Custom and select PHP 8.1. Mismatched PHP versions are the number one cause of “it works locally but breaks on the server” bugs. Check your host’s control panel or run php -v via SSH to confirm.

Step 4: Set up WordPress credentials.

Enter a username, password, and email. For local development, simple credentials like admin / admin are fine. This is not a production server.

Click “Add Site.” Local downloads WordPress core, configures wp-config.php, creates the database, and runs the install. In our testing, the entire process takes 60-90 seconds on a broadband connection.

Your site is now live at https://my-test-site.local. Click “Open Site” to see the frontend or “WP Admin” to log in.

One thing that catches people: the SSL certificate Local generates is self-signed. Your browser will show a security warning the first time. Click “Trust” in Local’s SSL tab to install the certificate into your system trust store and eliminate the warning permanently.

Configuring Your Local Site for Real Development

The default setup is fine for testing themes and plugins. For serious development work, you need a few adjustments.

Enable WP_DEBUG:

Open wp-config.php from the Local interface (right-click your site > “Go to site folder” > app/public/wp-config.php) and add these lines above the “That’s all, stop editing” comment:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'SCRIPT_DEBUG', true );

This writes all PHP errors to wp-content/debug.log instead of displaying them on screen. Check that file when something breaks. On a fresh install, turning on SCRIPT_DEBUG increases page load time from about 45ms to 80ms because WordPress loads unminified scripts, but the debugging benefit is worth it.

Set up email catching:

Local includes MailHog, a built-in email catcher. Every email WordPress sends (password resets, WooCommerce order confirmations, contact form submissions) gets captured in MailHog instead of actually sending. Click the “Utilities” tab in your site dashboard to open it.

Skip this if you want headaches later: if you install an SMTP plugin like WP Mail SMTP on your local site and configure it with real credentials, those emails will actually send. Uninstall SMTP plugins on local environments or use a test API key.

Access the database:

Click “Database” in your site dashboard to open Adminer, a lightweight phpMyAdmin alternative. The connection details are:

Host: localhost
Database: local
User: root
Password: root
Socket: /path/shown/in/local/ui

You can also connect external tools like TablePlus or Sequel Ace using the socket path Local displays.

File paths to know:

Site root: ~/Local Sites/my-test-site/
WordPress: ~/Local Sites/my-test-site/app/public/
wp-content: ~/Local Sites/my-test-site/app/public/wp-content/
Themes: ~/Local Sites/my-test-site/app/public/wp-content/themes/
Plugins: ~/Local Sites/my-test-site/app/public/wp-content/plugins/
Logs: ~/Local Sites/my-test-site/logs/

Live Links lets you share your local WordPress site with anyone via a public URL. No hosting, no deployment. This is useful for client reviews, quick demos, and testing on mobile devices.

To enable it:

  1. Log into your LocalWP account (free account works).
  2. Click “Enable” next to Live Links in your site dashboard.
  3. Local generates a URL like https://abc123.localsite.io.

Send that URL to your client. They see your local site in real time. When you make changes, they see them on refresh.

The connection runs through a tunnel service. In our testing, latency adds about 200-400ms to each page load depending on your location. Fine for reviews, not great for performance testing.

Watch out for this: Live Links exposes your local database and file system to the internet through that tunnel. Do not leave it running unattended. Disable it when the review session ends. We have seen developers forget to turn it off and run local sites with WP_DEBUG_DISPLAY set to true, which leaks file paths and PHP errors to anyone with the link.

Live Links sessions expire after 60 minutes of inactivity automatically, but do not rely on that as your security measure.

Importing and Exporting Sites

LocalWP uses a .zip export format that bundles the WordPress files and database into a single archive. This is the fastest way to move sites between machines or share them with teammates.

To export:

Right-click your site in the Local sidebar > “Export.” Choose whether to include the uploads folder (media files). A full export of a site with 500MB of media takes about 30 seconds and produces a compressed archive roughly 40% smaller than the raw files.

To import:

Drag the .zip file onto the Local window, or use File > Import Site. Local extracts everything, recreates the database, and updates wp-config.php paths automatically.

Pulling from a live server:

If you want to clone a production site into Local, the cleanest method is:

  1. Install the Jeeves Local Connect plugin or use a migration plugin like All-in-One WP Migration.
  2. Export from production.
  3. Import into Local.

One non-obvious constraint: if your production site uses a custom database prefix (anything other than wp_), make sure the migration tool preserves it. Some export tools reset the prefix to wp_, which breaks any code that hardcodes the original prefix. Check wp-config.php after import and verify the $table_prefix value matches your database tables.

Next Steps

You have a working local WordPress environment. Here is where to go from here:

  • Install a starter theme like Astra or GeneratePress and start building. Both work well for client projects and have extensive documentation.
  • Set up version control. Initialize a Git repository in your theme or plugin folder (not the entire WordPress install). Track your custom code, not WordPress core files.
  • Create a Blueprint. Once you have your preferred plugins, theme, and settings configured, save the site as a Blueprint in Local. Every new project starts from that baseline instead of from scratch.
  • Practice deploying. Push your local site to a staging environment on your host. SiteGround, Kinsta, and WP Engine all support staging with one-click deployment. Get comfortable with the local-to-staging-to-production workflow before you take on client work.

Local development is the foundation of professional WordPress work. Every theme change, plugin experiment, and PHP upgrade should happen here first. Your live site visitors will thank you.

Was this helpful?

Related Tutorials

Related posts will appear here once more tutorials are published.