
How to install WordPress, Joomla, and Drupal locally using XAMPP
Do you want to set up WordPress, Joomla or Drupal locally on your computer? I know I did when I was evaluating whether or not to use them for my website at least.
The most common reasons for installing any of them locally is:
- You get to check out what they have to offer without investing in a domain and hosting service.
- You get to test plugins, extensions, updates and other website changes before adding them to your live website
Please note that the local website we’re setting up here will only be visible to you on your computer. If you want to create a public live site you’ll have to follow either of these guides.
Setting up a local environment for WordPress, Joomla or Drupal can potentially be a little bit tricky, but as long as you follow this guide you should be fine.
If you do get stuck, do let me know and I’ll do my best to help out.
There are a few different options out there, but this guide will show you how to create a local environment using XAMPP.
What is XAMPP?
XAMPP stands for Cross-Platform (X), Apache (A), MySQL (M), PHP (P) and Perl (P). The reason I chose XAMPP over WAMP(Windows) and MAMP(Mac) is because XAMPP is cross-platform and works on Windows, Mac, and Linux. This guide will focus on how the setup is for Windows 10.
XAMPP will allow us to set up a web server(Apache) and a database on our computer, which again will allow us to host WordPress locally.
If you already have XAMPP installed you can jump directly to the install WordPress section, the install Joomla section, or the install Drupal section.
Installing XAMPP
First, you’ll have to go to the XAMPP site and click the download button for your operating system.

Once downloaded, launch the installer.
During the installation, you might be prompted with a warning or two, and a message saying that your antivirus might interfere with the installation of the software. You should read the messages and make up your own mind (As with any new software installation), but in most cases, you should be fine by clicking “OK” and “Yes”.
Click Next

The next window will ask you which packages you would like to install. The ones you need for this guide are Apache, MySQL, PHP, and phpMyAdmin, so I’ve unchecked the rest, but feel free to add the others if you like.

The next window will allow you to select the installation folder. Feel free to choose a folder of your liking, but I’m sticking to the default value C:\xampp.

The next window will ask if you’re interested in learning more about bitnami modules, but since we’re installing WordPress, Joomla, and Drupal manually later in this guide, I’ll uncheck that option. If you’re curious about what it is, you can always go back to bitnami.com/xampp and check it out.

Click Next twice, and the installation will start.

Once the installation is complete, you can just leave the Control Panel checkbox checked and click Finish.

If you uncheck the box, you can always start XAMPP by going to the installation folder and starting xampp-control.
If everything is running as it should, the Control Panel should open up and look like this.

Fixing XAMPP errors
If you instead get a lot of red text, then something is not working as it should. But don’t worry, this is often fairly easy to solve.

The most common reason for such an error is that you have another program blocking the ports 80 and 443, which is the default port setup for Apache.
I’ve listed three potential fixes below, try them in the order I’ve listed.
Skype
Skype is quite frequently guilty of blocking the ports 80 and 443, but luckily also very easy to identify. Try quitting Skype and then try starting Apache.
World Wide Web Publishing Service
If quitting Skype didn’t work and you’re using Windows 10, the next suspect on the list is the World Wide Web Publishing Service. If you’re not using it, you can stop it by doing the following:
- Go to the windows search field and type msc and select the best match.
- Scroll down in the Services window until you find World Wide Web Publishing Service
- Right-click on it and select Stop
Now restart XAMPP and try again.
Changing Apache ports
If none of the above suggestions helped, or you want to keep using the applications that are blocking the ports, the next option is to change the ports used by Apache.
This change can be made by clicking the Config button in the Apache row and selecting Apache (httpd.conf).

Once the file is opened you’ll have to find the line that says
Listen 80 and replace it with Listen 8080
And find the line that says
ServerName localhost:80 and change it to ServerName localhost:8080
This change will now result in Apache running on port 8080 instead of 80.
Restart XAMPP
NOTE! With that change in place, you will have to use http://localhost:8080/ instead of http://localhost in all the examples listed below.
Execution Time Error
If you at any time during the installation get a Maximum execution time exceeded message, here’s the fix for that.

You’ll have to find the php.ini file located in your xampp/php folder and open it in a text editor like notepad.

Then change the line that says max_execution_time to 1000.

Save the file and restart Apache.
Getting things up and running
With the troubleshooting out of the way, let’s get Apache and MySQL up and running.
Click Start on both Apache and MySQL in the Control Panel

Everything is working as it should, great job!
Now you are ready to install either one of the Content Management Systems and create a local website using XAMPP.
Install WordPress, Joomla, Drupal locally
First, you’ll need to download WordPress by visiting the WordPress.org site and clicking the ‘Download WordPress’ button.

When the download is complete, you’ll need to extract the zip-file, and this will give you a wordpress folder. Copy this folder.

Now, navigate back to your XAMPP installation folder and select the htdocs folder.
If you used the default setup, this should be C:\xampp\htdocs
Paste the wordpress folder you copied earlier into the htdocs folder.

I would recommend that you rename the folder to something that makes sense to you. I will name it wordpress1 since it will be the first WordPress site I’m making on my computer.
Next, open your browser and visit http://localhost/wordpress1
After selecting your preferred language for the WordPress installation, you should end up at this page:

This page tells us that before we can proceed, we need a database name, username, password, and host.
Let’s set up a database.
First, you’ll have to open a new browser window and go to http://localhost/phpmyadmin/. Alternatively, you can click the Admin button on the MySQL row in the XAMPP control panel.

Once you’re on the phpMyAdmin page, select the Databases tab. Here you’ll have to provide a database name. Since I’m creating a database for my site wordpress1, I’ll name the database db_wordpress1.
Click Create.

Once your database is created, let’s head back to your browser window with http://localhost/wordpress1 and click Let’s go!
Here you’ll be asked to provide the database information.
Enter the database name you created in the previous step, set Username to ‘root’ and leave Password empty.
Click Submit

These settings will then be automatically stored in the wp-config.php file in your wordpress1 folder.
On the next page, click Run the installation
The next step will be to provide some information about your website. The first thing you’ll have to set is a title for your website.
Next, you’ll have to provide a username, password, and email to be used for your admin account.
Click Install WordPress

Once the installation is complete you’ll be prompted a Success! Page.
Congratulations, you’ve now completed the local WordPress installation!
Click Log in, or go to http://localhost/wordpress1/wp-login.php to get to the login page.
To log in, just enter the username and password you created during the installation.

Next, let’s modify your WordPress site
First, you’ll need to download Joomla! by visiting the Joomla.org site and clicking the ‘Download Joomla!’ button.

When the download is complete, you’ll need to extract the zip-file, and this will give you a folder named something like Joomla_3.8.3-Stable-Full-Package. Copy this folder.

Now, navigate back to your XAMPP installation folder and select the htdocs folder.
If you used the default setup, this should be C:\xampp\htdocs
Paste the Joomla folder you copied earlier into the htdocs folder.

I would recommend that you rename the folder to something that makes sense to you. I will name it joomla1 since it will be the first Joomla site I’m making on my computer.
Next, open your browser and visit http://localhost/joomla1
This will take you to a page where you’ll have to provide some information about your website. The first thing you’ll have to set is a Site Name for your website.
The Description field can be left blank since this is a local installation that will not be available to the public.
Next, you’ll have to provide a username, password, and email to be used for your admin account.
Click Next

The next page requires a database name, username, password and hostname.
So, let’s set up a database.
First, you’ll have to open a new browser window and go to http://localhost/phpmyadmin/. Alternatively, you can click the Admin button on the MySQL row in the XAMPP control panel.

Once you’re on the phpMyAdmin page, select the Databases tab. Here you’ll have to provide a database name. Since I’m creating a database for my site joomla1, I’ll name the database db_joomla1.
Click Create.

Once your database is created, let’s head back to your browser window with http://localhost/joomla1
Enter the database name you created in the previous step, set Username to ‘root’ and leave Password empty.
Click Next

The next page gives you an overview of the setup and also gives you an option to choose if you want any sample data installed at the same time.
If you’d like to see how the different samples look like, head over to ostraining.com for an overview of the different options.
I’ll choose the Learn Joomla English option.
Once you’ve made your selection, click Install.

Once the installation is complete, you’ll end up on an Installation complete page.
Here you should click the button that says Remove installation folder.

Once that is done, the setup is complete, Congratulations!

You can now view your site by clicking the Site button, or by going to http://localhost/joomla1/
You can also log in to modify your page by clicking the Administration button or going to http://localhost/joomla1/administrator/ and enter your username and password created during the installation.

Next, let’s modify your Joomla site
First, you’ll need to download Drupal by visiting the drupal.org site and clicking the ‘Download Drupal’ button.

Next, you can pick either of the two download options.

When the download is complete, you’ll need to extract the zip-file, and this will give you a Drupal folder. Copy this folder.

Now, navigate back to your XAMPP installation folder and select the htdocs folder.
If you used the default setup, this should be C:\xampp\htdocs
Paste the Drupal folder you copied earlier into the htdocs folder.

I would recommend that you rename the folder to something that makes sense to you. I will name it drupal1 since it will be the first Drupal site I’m making on my computer.
Before you start the installation, I would recommend that you increase the execution time of Apache as explained in the Execution Time Error section. This is because Drupal can be quite heavy to install.
Next, open your browser and visit http://localhost/drupal1
This will take you to the installation page, where you’ll first be able to select a language.

The next page will you to select installation profile. Just select Standard and click Save and continue

Next, the installation will check the system requirements, and here you might come across a few warnings like I did, but don’t worry too much about them.

Just scroll to the bottom of the page and click continue anyway.

The next page requires a database name, username, password.
So, let’s set up a database.
First, you’ll have to open a new browser window and go to http://localhost/phpmyadmin/. Alternatively, you can click the Admin button on the MySQL row in the XAMPP control panel.

Once you’re on the phpMyAdmin page, select the Databases tab. Here you’ll have to provide a database name. Since I’m creating a database for my site drupal1, I’ll name the database db_drupal1.
Click Create.

Once your database is created, let’s head back to your browser window with http://localhost/drupal1
Enter the database name you created in the previous step, set Username to ‘root’ and leave Password empty.
Click Save and continue

Unless you followed my advice further up, this is where you might bump into a timeout error.

If that just happened to you, you’ll have to delete the folder and the database you created and start over. But first, remember to increase maximum execution time in the php.ini file and restart XAMPP.
When everything works as it should, you’ll see the installation bar.

On the following page, you’ll have to set a Site Name for your website.
Next, you’ll have to provide a username, password, and email to be used for your admin account.
Once you’re done, click save and continue

Once that is done, the setup is complete, Congratulations!

Your site can be visited by going to http://localhost/drupal1
Next, let’s modify your Drupal site
Final thoughts
There are several benefits of setting up a Content Management System locally
Once the setup is done, move on to the system specific guides in order to
If you liked this guide, please share it!