Installing WordPress in Windows by using XAMPP

4718

Now I shall show how to install XAMPP on Windows. It not much more hard. It is very easy. Once you have installed your computer will be act like as a web server. You will use it in Intranet. I shall discuss here not more in details of XAMPP. Our focus is installing WordPress. So Lets start.

Having a localhost environment is an essential part of my WordPress workflow – I couldn’t do my day job without it. I regularly set up new installs of WordPress to test and play with new versions of themes and plugins, and I have multiple Multisite installs set up, too.

Note: If you’re still having trouble setting up XAMPP, let us help! Our awesome support team can help you with any WordPress issue, big or small – and for free! It doesn’t matter what time it is or whether it’s the weekend, our team is available 24/7. Check out our Support page to find out more.

The great thing about running a localhost install is that your test site will run much more quickly than it otherwise would online, but if you want to ensure it continues to run at optimal speed, be sure to install and activate Hummingbird on your install.

A localhost install is also more secure and provides an ideal testing environment on your computer, away from prying eyes or hackers.

We originally published a version of this post in mid-2014 and it quickly became one of our top 10 posts with well over 150 comments. Since then, XAMPP 5.6.15 is now available and Windows itself has undergone a few updates. So here’s a shiny new updated guide on how to set up XAMPP on Windows, with added information on how to get around pesky firewall and port issues.

What is XAMPP?

XAMPP stands for cross-platform, Apache, MySQL, PHP and Perl. It’s a simple and lightweight solution that allows you to create a local web server for testing purposes.

Since XAMPP is cross-platform, it also works on Mac and Linux, but today we’re going to focus on how to set up XAMPP on Windows 10.

WordPress isn’t a stand-alone application and requires server software in order to run. XAMPP provides the necessary environment needed to run WordPress on a local machine.

Installing XAMPP

Go to the Apache Friends website and download XAMPP.

The Apache Friends website.
The Apache Friends website.
The XAMPP file is 109MB. Once downloaded, launch the installer.

During the install process, you may receive warnings such as Windows asking you if you’re sure you want to install the software and the installer prompting you about antivirus software. As you would when installing any software on Windows, use your best judgment, but you probably want to click “Yes” to continue with the install.

The XAMPP setup wizard will guide you through the installation. Click Next.

The XAMPP setup wizard.

In the next window, you will be asked to select which components of the software you would like to install and which ones you don’t want. Some options, such as Apache and PHP are essential to running the software and will at automatically installed, so they are grayed out so you can’t select them.

It’s up to you which components you want to install. Since we want to run WordPress in our localhost environment, leave MySQL and phpMyAdmin checked and uncheck the remaining options.

Choose the options you want to install.

Next, select the folder where you would like to install XAMPP on your machine. I’m going to create a new folder in C:\Program Files\XAMPP.

Enter the path where you would like to install XAMPP.

In the next window, you’ll be asked whether you would like to install Bitnami for XAMPP, which offers free tools for installing WordPress, Drupal, and Joomla! on top of XAMPP.

Since we’re going to install WordPress manually later in this tutorial and don’t need free installers, untick “Learn more about Bitnami for XAMPP” and click Next.

We don’t want to install any free installers.

After going through all those initial installation steps, XAMPP is now finally ready to install. Click Next.

Installing XAMPP.

Once installed, you’ll be asked whether you would like to start the XAMPP Control Panel, which provides an interface for running your localhost environment. Leave this option ticked and click Finish.

The installation process is quick and painless, though it’s not uncommon for Windows to throw up warnings every now and then.

The Control Panel will automatically open, but if you unchecked the option in the previous window, you can go to the XAMPP folder on your computer and open XAMPP Control Panel instead.

If the installation process went well and everything is running smoothly, the control panel will open with black and blue text updates at the bottom. But if there are issues…

Gah! Errors :/

… Well, look at that – red text! It looks like I’ve run into some errors already. Not to fear, it looks like a port conflict.

Fixing Port Errors

The main reason why XAMPP throws up errors like this is due to another program on your machine using ports 80 or 443 – the ports Apache and MySQL need in order to run.

If you’re using Windows 10, World Wide Web Publishing Service is most likely using post 80. This program, which is for Internet Information Services (IIS) for Windows® Server, comes pre-installed and if you’re not using it, you can simply stop the service running on your machine or even delete it.

To stop the service running, do the following:

Go to Start, type in “services.msc” and select the best match
Scroll down in the Services window to find World Wide Web Publishing Service
Right-click on it and select Stop
This should free up port 80. When you restart XAMPP it should run without errors
If that doesn’t resolve the issue, you can set up a new firewall rule to forcibly unblock the ports:

Open Windows Firewall on your machine and > click on Advanced Settings on the left
Click on Inbound on the left, then on the far right click New Rule
Click Port and then TCP. In the field below for Specific Ports type in “80, 443” and click Next
Check Allow the Connection then click Next
Make sure all options are checked and click Next
In the name field, enter whatever you want, but for the sake of consistency let’s type in LOCALHOST1. Click Finish
Now repeat steps 1-6, but name this new rule LOCALHOST2 and click Finish
Restart your computer
Ports 80 and 443 should now be open locally on your computer.

I should also mention at this stage that if you get any security/firewall warnings while installing or using XAMPP (such as the prompt pictured below), make sure you check “Private networks, such as my home or work network” and click “Allow access.” This is very important. If you don’t allow access, XAMPP won’t work.

You need to allow access so XAMPP can work.
Running XAMPP

Now, let’s see if everything works smoothly.

If you previously quit the control panel to fix a port issue, restart XAMPP. Then start up both Apache and MySQL.

You have no idea how happy I am to see both Apache and MySQL working, or maybe you do!
You have no idea how happy I am to see both Apache and MySQL working, or maybe you do!
Both services are running fine. Excellent!

You can check if your new local server is installed by visiting http://localhost in your browser.

Woohoo! Successfully set up.
Woohoo! Successfully set up.
Setting Up Your MySQL Database

Before we install WordPress, we need a database.

In your XAMPP Control Panel, click the Admin button in the MySQL section.

XAMPP control panel
Click on Admin in the MySQL row to launch phpMyAdmin.
A new browser window will automatically open with the phpMyAdmin interface.

Click “Admin” to set up MySQL or go to “localhost/phpmyadmin” in your browser.
Click “Admin” to set up MySQL or go to “localhost/phpmyadmin” in your browser.
Click on Databases near the top-left, and you’ll be prompted to create a new database. I’ve called mine “WP.”

When you’ve entered a name, click Create and close the window.

Quickly and easily set up a new MySQL database for WordPress.
Quickly and easily set up a new MySQL database for WordPress.
Download and Install WordPress

Download the latest version of WordPress.

In order to get WordPress working with XAMPP, we need to unzip WordPress in the right folder. Go to the XAMPP folder on your computer and open the htdocs folder – C:/Program Files/XAMPP/htdocs.

Unzip WordPress into its own folder and rename it whatever you like. For consistency, I’m going to call this installation of WordPress “WP” to match the name of the database I just created.

My installation of WordPress is called “WP.”
My installation of WordPress is called “WP.”
Open the WP folder where you saved WordPress, find the wp-config-sample.php file and rename it wp-config.php. Open the file and scroll down until you see the following lines:

Update your wp-config.php file with your database details.
Update your wp-config.php file with your database details.
These lines of code define the login details for your database:

Replace“database_name_here” with the name of your database, which in my case is “WP”
Replace “username_here” with “root” and leave “password_here” blank
Save the file and close it
Now we can get on with actually installing WordPress.

Open your browser and go to http://localhost/wp/

You should see the translation screen that comes before the famous five minute WordPress installation process.

Choose the language you want to use WordPress in.
Choose the language you want to use WordPress in.
Once you’ve chosen your language, continue onto the next screen and enter your username and password details. Click Install WordPress.

Your WordPress installation is now complete!

Setting up WordPress Multisite

Having Multisite setup locally provides an efficient way to test themes and plugins in a Multisite environment, but also makes it a quick and easy to have multiple instances of Multisite set up.

Open your wp-config.php file again and add/edit the following lines to activate Multisite’s installation mode:

define(‘WP_DEBUG’, false);

define(‘WP_ALLOW_MULTISITE’, true);

/* That’s all, stop editing! Happy blogging. */
view rawenable-multisite hosted with ❤ by GitHub
Open XAMPP and ensure Apache and MySQL are running.

Login to your localhost site in your browser and under Tools you will now have a new option, Network Setup.

Enter a name for your network and your email address, then click “Install.”

WordPress will prompt you to edit your wp-config.php and .htaccess files.

Following the onscreen instructions, open wp-config.php and add the following lines underneath your previous edit:

define(‘WP_DEBUG’, false);

define(‘WP_ALLOW_MULTISITE’, true);

define(‘MULTISITE’, true);
define(‘SUBDOMAIN_INSTALL’, false);
define(‘DOMAIN_CURRENT_SITE’, ‘localhost’);
define(‘PATH_CURRENT_SITE’, ‘/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);

/* That’s all, stop editing! Happy blogging. */
view rawsetting-up-multisite hosted with ❤ by GitHub
Next, open .htaccess. If you can’t find it, make sure hidden files are displaying on your computer. If you do not have a .htaccess file already, then create it in the same directory as your wp-config.php file. If you do have a .htaccess file, replace any existing lines with these new ones:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

# END WordPress
view rawmultisite-htaccess hosted with ❤ by GitHub
Multisite should now be installed.

You’ll need to log in again, and when you do, you’ll see the WordPress dashboard from where you’ll be able to access individual sites in your network.

Wrapping Up

XAMPP provides an easy way to run a local server environment on your Windows machine, allowing you to test and develop locally, rather than installing WordPress on a live site. It will also save you a bunch of time since you won’t have to install and uninstall WordPress each time you test themes and plugins.

The great thing about XAMPP is it’s free and open source. You can set up as many installations of WordPress as you want and it’s just as easy to get Multisite up and running.