How to install XAMPP on Windows 10 – Pureinfotech

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 10, Linux, and macOS.

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

In this guide, you’ll learn the steps to install XAMPP on Windows 10, as well as the instructions to configure the web environment and fix common problems after the setup.

How to install XAMPP on Windows 10

To download and install XAMPP on Windows 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.1.1 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.

    Complete XAMPP installation on Windows 10Complete XAMPP installation on Windows 10

  6. XAMPP offers various components that you can install, such as MySQL, phpMyAdmin, PHP, Apache, and more. For the most part, you will be using most of these components, which means that it is recommended to leave the default options.

  7. Click the Next button.

    XAMPP install componentsXAMPP install components

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

  9. Click the Next button.

    XAMPP installation locationXAMPP 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.

    XAMPP installation wizard on Windows 10XAMPP installation wizard on Windows 10

  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 the web server environment configuration.

Install XAMPP using winget command

Alternatively, you can install XAMPP using the Windows Package Manager (winget) using Command Prompt.

To install the latest version of XAMPP on Windows 10 with the winget command, 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, it’s good to search the application to execute the correct install command.

  4. Type the following command to install XAMPP with the Windows Package Manager and press Enter:

    winget install xampp

    winget install XAMPP commandwinget 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.

How to configure XAMPP on Windows 10

The XAMPP Control Panel includes three main sections. In the Modules 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 that each service is using. For example, by default, Apache uses TCP/IP port 80 and 443, 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 PanelXAMPP Control Panel

On the right side, there 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 ConfigXAMPP Config

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

XAMPP NetstatXAMPP Netstat

In addition, there are also quick access buttons from the control panel to open the shell command-line utility, XAMPP installation folder, services, and close the app.

Lastly, you get the logs section to glance at what happens every time you start a module or change a setting. Also, this is the first place to look when something isn’t working.

XAMPP Control Panel logsXAMPP Control Panel logs

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

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

How to 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 your computer, which also happens to be the default TCP/IP port that Apaches uses on XAMPP. And two applications can’t use the same networking port.

If you run into this issue, there are a couple of ways to get around it. You can uninstall the publishing service or change the default port on Apache.

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 offTurn 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 ServicesMicrosoft 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.

Change 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.

  4. Scroll down and find the line: Listen 80.

  5. Change the number 80 for another TCP/IP port number that isn’t in use. For instance, you can try port 81. (After the change, the line should read: Listen 81.)

    httpd.conf change TCP/IP port numberhttpd.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 your website. For example, to access the Apache server on the web browser, you will need to type: “localhost:81/dashboard” instead of “localhost/dashboard.”

Manually 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 ServiceWorld 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 settingsWorld 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 by uninstalling the World Wide Web Publishing Service. However, you can change the TCP/IP port number or stop the service as necessary when that is not possible.

How to increase phpMyAdmin upload size on XAMPP

Another common problem with XAMPP is the default database upload limit. For instance, developers often will copy a website for troubleshooting purposes or work on-site without disrupting the live website. However, people using WordPress or another content management software will quickly find out 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.

  3. Open the php folder.

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

  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 uploadPHPMyAdmin increase upload

  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 now be able to import large database files on phpMyAdmin.

How to change phpMyAdmin password on XAMPP

By default, phpMyAdmin (MySQL) uses “root” as a username without a password, which means that if you are installing a WordPress site when asked, you only need to enter 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. On MySQL, click the Admin button.

  3. Click on the User accounts tab.

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

    MySQL edit root settingsMySQL edit root settings

  5. Click the Change password button.

  6. Confirm a new password.

    MySQL change root passwordMySQL change root password

  7. Click the Go button.

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

Fix phpMyAdmin access denied message.

In the rare case that you’re having problems signing into phpMyAdmin, you’ll need to configure the config.inc.php.

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.

  5. Under the “Authentication type and info” section, update the following lines:

    • 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 infoConfig.inc.php Authentication type and info

  6. Save and close the file.

Once you complete the steps, you should be able to log in to the phpMyAdmin dashboard.

Now XAMPP is configured and ready to use with any supported PHP-based software.

Update January 13, 2022: This guide was published in March 2016, and it was revised in January 2022 to make sure the information still works with the latest version of XAMPP.