How to install XAMPP on Windows 11, 10

These instructions will help you to install, set up, and troubleshoot problems with XAMPP on Windows 11 and 10.

XAMPP Setup on Windows 11
XAMPP Setup on Windows 11 / Image: Mauro Huculak
  • To install XAMMP on Windows 11 and 10, download and run the installer to unpack the files, continue with the default selection of components (MySQL, phpMyAdmin, PHP, and Apache), choose the installation location, continue with the on-screen directions, and allow access through the firewall.
  • You can open Command Prompt (admin) and run the “winget install –id ApacheFriends.Xampp.8.2” command.
  • Alternatively, it’s possible to install XAMPP using the XAMPP app on Windows 11 and 10.

UPDATED 9/24/2024: On Windows 10 and even on Windows 11, you can install XAMPP through the standalone installer or Command Prompt, and in this guide, I’ll teach you how to complete this process with both methods. XAMPP is a free, open-source software that provides an easy way for web designers and developers to install the components to run PHP-based software like WordPress, Drupal, Joomla, and others on Windows, Linux, and macOS.

If you are a web developer or are trying to get into blogging, XAMPP will save you time and frustration by automatically installing and configuring Apache, MySQL, PHP, and Perl to create a testing environment on your device.

In this guide, I will outline the steps to install XAMPP on Windows 11 (and 10) and the instructions to configure the web environment and fix common problems after the setup.

Install XAMPP on Windows 11 and 10

You can install XAMPP on Windows 11 and 10 by downloading and running the application installer from the official website, using Command Prompt with the Windows Package Manager (winget) tool, or the Dev Home app.

Method 1: From Installer

To download and install XAMPP on Windows 11 and 10, use these steps:

  1. Open Apache Friends website.

  2. Click the Download button for the Windows version of XAMPP and save the file on your computer.

    Quick note: If you have special version requirements for PHP, download the version you need to install. If you do not have a version requirement, download the oldest version, as it may help you avoid issues trying to install PHP-based software. In addition, these instructions have been tested to work for XAMPP version 8.2.12 and older versions, but you can use this guide for other versions.
  3. Double-click the downloaded file to launch the installer.

  4. Click the OK button.

  5. Click the Next button.

  6. XAMPP offers various components you can install, such as MySQL, phpMyAdmin, PHP, Apache, and more. Since you will be using most of these components, I recommend that you leave the default options.

  7. Click the Next button.

    XAMPP install components

  8. Use the default installed location. (You can also choose another folder to install the software in the “Select a folder” field.)

  9. Click the Next button.

    XAMPP installation location

  10. Select the language for the XAMPP Control Panel.

  11. Click the Next button.

  12. Clear the “Learn more about Bitnami for XAMPP” option.

  13. Click the Next button.

  14. Click the Next button again.

  15. Click the “Allow access” button to allow the app through the Windows Firewall (if applicable).

  16. Click the Finish button.

Once you complete the steps, the XAMPP Control Panel will launch, and you can begin configuring the web server environment.

You can also follow these instructions in my video tutorial on my YouTube channel. (Remember to like and subscribe.)

Method 2: From Command Prompt

To install XAMPP from Command Prompt with the winget tool on Windows, use these steps:

  1. Open Start.

  2. Search for Command Prompt, right-click the top result, and select the Run as administrator option.

  3. (Optional) Type the following command to search for the name of the application and press Enter:

    winget search xampp
    Quick note: While the command is not required, the installation query must match the ID, name, or moniker of the package, which can change at any time. So, searching the application to execute the correct install command is a good idea and helps you to determine the available versions of the app.
  4. Type the following command to install XAMPP with the Windows Package Manager and press Enter:

    winget install --id ApacheFriends.Xampp.8.2

    winget install XAMPP command

  5. Continue with the on-screen directions (if applicable).

After you complete the steps, the package manager will download the package from the specified source, and it will proceed to install the application. The device may restart automatically during this process. The installation will set up the app inside the C:\xampp folder.

Method 3: From Dev Home

To install XAMPP with the Dev Home app, use these steps:

  1. Open Start.

  2. Search for Dev Home and click the top result to open the app.

  3. Click on Machine Configuration from the left navigation pane.

  4. Click the Install applications setting under the “Quick steps” section.

    Dev Home install app option

  5. Search for XAMPP using the search box at the top of the page.

  6. Click the Plus button next to the result to the app version you want on the list.

    Dev Home search XAMPP

  7. Click the Next button.

  8. Check the “I agree and want to continue” option.

  9. Click the Set up button to begin the installation.

    Dev Home install XAMPP

  10. Click the Yes button (if applicable).

Once you complete the steps, the Dev Home app will use the Windows Package Manager to download and install the version of XAMPP you selected.

Configure XAMPP on Windows 11 and 10

The XAMPP Control Panel includes three main sections. In the “Module” section, you will find all the web services available. You can start each service by clicking the “Start” button.

When you start some of the services, including Apache and MySQL, on the right side, you’ll also see the process ID (PID) number and TCP/IP port (Port) numbers each service uses. For example, Apache uses TCP/IP ports 80 and 443 by default, while MySQL uses TCP/IP port 3306.

You can also click the “Admin” button to access the administration dashboard for each service and verify that everything is working correctly.

XAMPP Control Panel / Image: Mauro Huculak
XAMPP Control Panel / Image: Mauro Huculak

On the right side is a list of buttons to configure various aspects of the control panel, including the “Config” button to configure which modules will automatically start when you launch XAMPP.

XAMPP Config
XAMPP Config / Image: Mauro Huculak

Clicking the “Netstart” button in the Control Panel will give you a list of services currently accessing the network, including TCP/IP address, port, and process ID information.

XAMPP Netstat
XAMPP Netstat / Image: Mauro Huculak

In addition, the Control Panel has quick-access buttons to open the shell command-line utility, XAMPP installation folder, and services and to close the app.

Finally, you can access the logs section to see what happens whenever you start a module or change a setting. This is the first place to look when something isn’t working.

XAMPP Control Panel logs
XAMPP Control Panel logs / Image: Mauro Huculak

The default settings should work for most situations to create a testing environment. However, depending on your setup configuration, you may have to change the Apache server’s TCP/IP port number, the database upload size, or the password for phpMyAdmin.

To access and change these settings, you’ll have to use the “Config” button for the corresponding service. For example, you’ll need to open the “httpd.conf” file to change the Apache server settings and the “my.ini” file to change the MySQL settings.

Fix Apache not starting on XAMPP

The XAMPP installation is very straightforward, but Windows 10 sometimes may not allow the Apache server to run. Usually, it’s because the “World Wide Publishing Service” is running on port “80” on the computer, which also happens to be the default TCP/IP port that Apaches use on XAMPP, and two apps can’t use the same networking port.

If you encounter this issue, there are several ways to resolve it. One is to uninstall the publishing service or change the default port on Apache.

Method 1: Uninstall World Wide Web Services

If you do not have any app depending on the World Wide Web Services feature, you can uninstall it with these steps:

  1. Open Start.

  2. Search for Control Panel, and click the top result to open the experience.

  3. Click on Programs.

  4. Click the Programs and Features option.

  5. Click the “Turn Windows features on or off” option from the left pane.

    Turn Windows features on or off

  6. Expand the “Internet Information Services” branch

  7. Clear the “World Wide Web Services” option.

  8. Click the OK button.

    Microsoft IIS - World Wide Web Services

  9. Restart your computer.

  10. Start the XAMPP Control Panel.

  11. Click the Start button on Apache.

After you complete the steps, Apache should be able to run in port 80 on your device.

Method 2: Change the default Apache TCP/IP port

Instead of removing the World Wide Web Services, you can configure Apache to run on a different TCP/IP port.

To change the Apache listening port on XAMPP, use the steps:

  1. Open XAMPP Control Panel.

  2. On Apache, click the Config button.

  3. Select the “Apache (httpd.conf)” option.

    XAMPP httpd.conf option

  4. Scroll down and find the “Listen 80” line.

  5. Change the number “80” for another TCP/IP port number that isn’t in use. For example, “81.”

    httpd.conf change TCP/IP port number

  6. Save and close the httpd.conf file.

  7. Click the Start button on Apache from the XAMPP Control Panel.

Once you complete the steps, the Apache server should run without issues on the new TCP/IP port specified. 

The only caveat with this configuration is that you’ll need to append the TCP/IP port number on the address whenever you want to connect to the test site. For example, to access the Apache server on the web browser, you must type “localhost:81/dashboard” instead of “localhost/dashboard.”

Method 2: Stop World Wide Web Publishing Service

Another way to fix the port problem is to stop the service and change its settings to start the service manually (only).

To change the World Wide Web Publishing Service, use these steps:

  1. Open Start.

  2. Search for Services, and click the top result to open the experience.

  3. Double-click the “World Wide Web Publishing Service” service.

    World Wide Web Publishing Service

  4. Click the Stop button.

  5. Change the startup type to Manual.

  6. Click the Apply button.

  7. Click the OK button.

    World Wide Web Publishing Service settings

  8. Open the XAMPP Control Panel.

  9. Click the Start button to run the Apache server.

The best way to get Apache working again is to uninstall the World Wide Web Publishing Service. However, if that is not possible, you can change the TCP/IP port number or stop the service as necessary.

Increase phpMyAdmin upload size on XAMPP

Another common problem with XAMPP is the default database upload limit. For instance, developers often copy a website for troubleshooting or work on-site without disrupting the live website. However, people using WordPress or another content management software will quickly discover that they can’t upload a database because it exceeds the maximum permitted upload size, 2048 KiB.

To increase the database upload limit on phpMyAdmin, use these steps:

  1. Open XAMPP Control Panel.

  2. Click the Explorer button.

    XAMPP open Explorer

  3. Open the php folder.

  4. Open the php.ini file with any text editor.

    XAMPP open php.ini

  5. Change the value for upload_max_filesize and post_max_size to the size you want. For example: post_max_size=100M and upload_max_filesize=100M to import database files of up to 40MB.

    PHPMyAdmin increase upload size

  6. Click the Stop button for MySQL and Apache.

  7. Click the Start button to restart Apache and MySQL.

Once you complete the steps, you should be able to import large database files on phpMyAdmin.

Change phpMyAdmin password on XAMPP

By default, phpMyAdmin (MySQL) uses “root” as a username without a password. This means that if you are installing a WordPress site when prompted, you only need to enter the root as the username and leave the password field empty. 

To change the phpMyAdmin password on XAMPP, use these steps:

  1. Open XAMPP Control Panel.

  2. Click the Admin button for MySQL.

    XAMPP open Apache admin

  3. Click on the “User accounts” tab.

  4. Click the Edit privileges option for the username root, but only the one with the hostname localhost.

    MySQL edit root settings

  5. Click the Change password button.

  6. Confirm a new password.

    MySQL change root password

  7. Click the Go button.

After you complete the steps, if you try to log in to phpMyAdmin, you might get an access denied “Cannot connect: invalid settings” message.

Fix phpMyAdmin access denied message

If you’re having problems signing into phpMyAdmin, you’ll need to configure the “config.inc.php” file.

To change the configuration settings in the “config.inc.php” file, use these steps:

  1. Open XAMPP Control Panel.

  2. Click the Explorer button.

  3. Open the phpMyAdmin folder.

  4. Open the config.inc.php file with any text editor.

    XAMPP open Config.inc.php

  5. Change the following lines under the “Authentication type and info” section:

    • On $cfg['Servers'][$i]['auth_type'] = 'config'; replace config for cookie.

    • On $cfg['Servers'][$i]['AllowNoPassword'] = true; replace true for false.

    Config.inc.php Authentication type and info

  6. Save and close the file.

Once you complete the steps, you can log in to the phpMyAdmin dashboard, and XAMPP should be configured and ready to use with any supported PHP-based software.

Update September 24, 2024: This guide has been updated to ensure accuracy and reflect that the instructions will work on Windows 10 as well as on Windows 11.

About the author

Mauro Huculak is a Windows How-To Expert who started Pureinfotech in 2010 as an independent online publication. He has also been a Windows Central contributor for nearly a decade. Mauro has over 15 years of experience writing comprehensive guides and creating professional videos about Windows and software, including Android and Linux. Before becoming a technology writer, he was an IT administrator for seven years. In total, Mauro has over 21 years of combined experience in technology. Throughout his career, he achieved different professional certifications from Microsoft (MSCA), Cisco (CCNP), VMware (VCP), and CompTIA (A+ and Network+), and he has been recognized as a Microsoft MVP for many years. You can follow him on X (Twitter), YouTube, LinkedIn and About.me. Email him at [email protected].