skip to Main Content
Illustration Of A Configuration Progress Bar

How to install WordPress, Joomla, and Drupal locally using XAMPP

Updated on August 25th, 2018

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.

How to make a WordPress site

How to make a Joomla site

How to make a Drupal site

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.

How To Download Xampp

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

First Page Of The Xampp Installation

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.

Overview Of Xampp Components To Install

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.

Selection Of Xampp Installation Folder

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.

Link To Bitnami Within The Xampp Installation

Click Next twice, and the installation will start.

Xampp Installation Progress Bar

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

Xampp Installation Complete

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.

Xampp Control Panel Without Any Errors

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.

Xampp Control Panel With Errors

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:

  1. Go to the windows search field and type msc and select the best match.
  2. Scroll down in the Services window until you find World Wide Web Publishing Service
  3. 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).

How To Access Apache Config File From Xampp Control Panel

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.

Xampp Fatal Error Maximum Executions Time

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

Xampp Php Ini File

Then change the line that says max_execution_time to 1000.

Xampp Max Execution Time Setting In The Php.ini File

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

Xampp Control Panel With Apache And MySQL Running

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.

Button To Download WordPress

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

A Downloaded WordPress 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.

WordPress Installation Folder Moved To Xampp Htdocs

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:

WordPress Installation First 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.

How To Access PhpMyAdmin From 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.

Creating A Database In PhpMyAdmin Called Db_wordpress1

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

WordPress Installation Entering Database Information

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

WordPress Installation Entering Account Information

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.

WordPress Login Window

First, you’ll need to download Joomla! by visiting the Joomla.org site and clicking the ‘Download Joomla!’ button.

Download Button For Joomla

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.

Extracted Joomla Installation 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.

Joomla Installation Folder Moved To Xampp 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

Joomla Installation Main Configuration Step

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.

How To Access PhpMyAdmin From 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.

Creating A Database In PhpMyAdmin Called Db_joomla1

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

Joomla Installation Entering Database Information

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.

Joomla Installation Selecting Which Sample Data To 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.

Final Step In Joomla Installation, Removing Installation Folder

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

How To Access The Joomla Administrator Page

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.

Joomla Login Window

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.

Download Drupal Button

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

Choosing Between Tar.gz And Zip For Drupal Download

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

The Extracted Drupal Installation 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.

Drupal Installation Folder Moved To Xampp 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.

Drupal Installation Choosing Language

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

Drupal Installation Selecting Installation Profile

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.

Drupal Installation Requirements Review

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

Continue Drupal Installation Although Requirements Are Not Met

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.

How To Access PhpMyAdmin From 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.

Creating A Database In PhpMyAdmin Called Db_drupal1

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

Drupal Installation Database Configuration

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

Xampp Fatal Error Maximum Executions Time

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.

Drupal 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

Drupal Installation Entering Site Information

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

Frontpage Of A Default Drupal Installation

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

  • You can try out different systems free of charge
  • You can easily set up several sites and compare them with eachother
  • You can test out new functionality without putting your live site at risk

Once the setup is done, move on to the system specific guides in order to

If you liked this guide, please share it!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back To Top
×Close search
Search