XAMPP is the title used for a com­pi­la­tion of free software. The name is an acronym, with each letter rep­re­sent­ing one of the five key com­po­nents. The software packet contains the web server Apache, the re­la­tion­al database man­age­ment system MySQL (or MariaDB), and the scripting languages Perl and PHP. The initial X stands for the operating systems that it works with: Linux, Windows, and Mac OS X.

  • Apache: ihe open source web server Apache is the most widely used server worldwide for delivery of web content. The server ap­pli­ca­tion is made available as a free software by the Apache Software Foun­da­tion.
  • MySQL/MariaDB: in MySQL, XAMPP contains one of the most popular re­la­tion­al database man­age­ment systems in the world. In com­bi­na­tion with the web server Apache and the scripting language PHP, MySQL offers data storage for web services. Current XAMPP versions have replaced MySQL with MariaDB (a community-developed fork of the MySQL project, made by the original de­vel­op­ers).
  • PHP: the server-side pro­gram­ming language PHP enables users to create dynamic websites or ap­pli­ca­tions. PHP can be installed on all platforms and supports a number of diverse database systems.
  • Perl: the scripting language Perl is used in system ad­min­is­tra­tion, web de­vel­op­ment, and network pro­gram­ming. Like PHP, Perl also enables users to program dynamic web ap­pli­ca­tions.

Alongside these core com­po­nents, this free-to-use Apache dis­tri­b­u­tion contains some other useful tools, which vary depending on your operating system. These tools include the mail server Mercury, the database ad­min­is­tra­tion tool ph­p­MyAd­min, the web analytics software solutions Webalizer, OpenSSL, and Apache Tomcat, and the FTP servers FileZilla or ProFTPd.

$1 Domain Names – Register yours today!
  • Simple reg­is­tra­tion
  • Premium TLDs at great prices
  • 24/7 personal con­sul­tant included
  • Free privacy pro­tec­tion for eligible domains

Ap­pli­ca­tion areas

An XAMPP server can be installed and used with a single ex­e­cutable file quickly and easily, func­tion­ing as a local test system for Linux, Windows, and Mac OS X. The software packet contains the same com­po­nents that are found on common web servers. De­vel­op­ers have the chance to test out their projects locally and to transfer them easily to pro­duc­tive systems. But XAMPP isn’t suitable to use as a public server, because many safety features have been de­lib­er­ate­ly left out to simplify and speed up the system for testing.

Tip

You need a server for your web project? With IONOS you can easily rent your server online. From virtual servers for middle to large-sized projects, to cloud servers for optimal flex­i­bil­i­ty as well as dedicated servers for par­tic­u­lar­ly complex re­quire­ments. Check out the range!

In­stalling XAMPP

Our XAMPP tutorial will take you through the in­stal­la­tion process for the software package on Windows. If you’re using Linux or Mac OS X, then the steps listed below for the in­stal­la­tion process may differ.

Step 1: Download

XAMPP is a release made available by the non-profit project Apache Friends. Versions with PHP 5.5, 5.6, or 7 are available for download on the Apache Friends website.

Step 2: Run .exe file

Once the software bundle has been down­loaded, you can start the in­stal­la­tion by double clicking on the file with the ending .exe.

Step 3: De­ac­ti­vate any antivirus software

Since an active antivirus program can neg­a­tive­ly affect the in­stal­la­tion process, it’s rec­om­mend­ed to tem­porar­i­ly pause any antivirus software until all XAMPP com­po­nents have suc­cess­ful­ly been installed.

Step 4: De­ac­ti­vate UAC

User Account Control (UAC) can interfere with the XAMPP in­stal­la­tion because it limits writing access to the C: drive, so we recommend you de­ac­ti­vate this too for the duration of the in­stal­la­tion process. To find out how to turn off your UAC, head to the Microsoft Windows support pages.

Step 5: Start the setup wizard

After you’ve opened the .exe file (after de­ac­ti­vat­ing your antivirus program(s) and taken note of the User Account Control, the start screen of the XAMPP setup wizard should appear au­to­mat­i­cal­ly. Click on ‘Next’ to configure the in­stal­la­tion settings.

Step 6: Choose software com­po­nents

Under ‘Select Com­po­nents’, you have the option to exclude in­di­vid­ual com­po­nents of the XAMPP software bundle from the in­stal­la­tion. But for a full local test server, we recommend you install using the standard setup and all available com­po­nents. After making your choice, click ‘Next’.

Step 7: Choose the in­stal­la­tion directory

In this next step, you have the chance to choose where you’d like the XAMPP software packet to be installed. If you opt for the standard setup, then a folder with the name XAMPP will be created under C:\ for you. After you’ve chosen a location, click ‘Next’.

Step 8: Start the in­stal­la­tion process

Once all the afore­men­tioned pref­er­ences have been decided, click to start the in­stal­la­tion. The setup wizard will unpack and install the selected com­po­nents and save them to the des­ig­nat­ed directory. This process can take several minutes in total. You can follow the progress of this in­stal­la­tion by keeping an eye on the green loading bar in the middle of the screen.

Step 9: Windows Firewall blocking

Your Firewall may interrupt the in­stal­la­tion process to block the some com­po­nents of the XAMPP. Use the cor­re­spond­ing check box to enable com­mu­ni­ca­tion between the Apache server and your private network or work network. Remember that making your XAMPP server available for public networks isn’t rec­om­mend­ed. 

Step 10: Complete in­stal­la­tion

Once all the com­po­nents are unpacked and installed, you can close the setup wizard by clicking on ‘Finish’. Click to tick the cor­re­spond­ing check box and open the XAMPP Control Panel once the in­stal­la­tion process is finished.

The XAMPP Control Panel

Controls for the in­di­vid­ual com­po­nents of your test server can be reached through the XAMPP Control Panel. The clear user interface logs all actions and allows you to start or stop in­di­vid­ual modules with a single. The XAMPP Control Panel also offers you various other buttons, including:

  • Config: allows you to configure the XAMPP as well as the in­di­vid­ual com­po­nents
  • Netstat: shows all running processes on the local computer
  • Shell: opens a UNIX shell
  • Explorer: opens the XAMPP folder in Windows Explorer
  • Services: shows all services currently running in the back­ground
  • Help: offers links to user forums
  • Quit: closes the XAMPP Control Panel

Starting modules

In­di­vid­ual modules can be started or stopped on the XAMPP Control Panel through the cor­re­spond­ing buttons under ‘Actions’. You can see which modules have been started because their names are high­light­ed green under the ‘Module’ title.

If a module can’t be started as a result of an error, you’ll be informed of this straight away in red font. A detailed error report can help you identify the cause of the issue. 

Setting up XAMPP

A common source of error connected with Apache is blocked ports. If you’re using the standard setup, then XAMPP will assign the web server to main port 80 and the SSL port 443. The latter of these par­tic­u­lar­ly is often blocked by other programs. In the example above, it’s likely that the Tomcat port is being blocked, meaning the web server can’t be started. There are three ways to solve this issue:

  • Change the con­flict­ing port: Let’s assume for the sake of example that the instant messenger program Skype is blocking SSL port 443 (this is a common problem). One way to deal with this issue is to change Skype’s port settings. To do this, open the program and navigate via ‘Actions’, ‘Options’, and ‘Advanced’, until you reach the ‘Con­nec­tions’ menu. You should find a box checked to allow Skype access to ports 80 and 443. Deselect this checkbox now.
  • Change the XAMPP module port settings: Click the Config button for the module in question and open the files httpd.conf and httpd-ssl.conf. Replace port number 80 in httpd.conf and port number 443 in httpd-ssl.conf with any free ports, before saving the file data. Now click on the general Config button on the right-hand side and select ‘Services and Ports Settings’. Customize the ports for the module server to reflect the changes in the conf files.
  • End the con­flict­ing program: The simplest way to avoid port conflicts in the short term is to end the con­flict­ing program (Skype in this case). If you restart Skype after your XAMPP module servers are already running, it will select a different port and your issue will be resolved.

Module ad­min­is­tra­tion

You have an ‘Admin’ option located on the Control Panel for every module in your XAMPP.

  • Click on the Admin button of your Apache server to go to the web address of your web server. The Control Panel will now start in your standard browser, and you’ll be led to the dashboard of your XAMPP’s local host. The dashboard features numerous links to websites for useful in­for­ma­tion as well as the open source project BitNami, which offers you many different ap­pli­ca­tions for your XAMPP, like WordPress or other content man­age­ment systems. Al­ter­na­tive­ly, you can reach the dashboard through localhost/dashboard/.
  • You can use the Admin button of your database module to open ph­p­MyAd­min. Here, you can manage the databases of your web projects that you’re testing on your XAMPP. Al­ter­na­tive­ly, you can reach the ad­min­is­tra­tion section of your MySQL database via localhost/ph­p­myad­min/

Testing your XAMPP in­stal­la­tion

To check whether your test server is installed and con­fig­ured correctly, you have the option to create a PHP test page, store them on your XAMPP’s local host, and retrieve them via the web browser.

  • Open the XAMPP directory through the ‘Explorer’ button in the Control Panel and choose the folder htdocs (C:\xampp\htdocs for standard in­stal­la­tions). This directory will store file data collected for web pages that you test on your XAMPP server. The htdocs folder should already contain data to help con­fig­u­ra­tion of the web server. But you should store your own projects in a new folder (like ‘Test Folder’ for example).
  • You can create a new PHP page easily by using the following content in your editor and storing it as test.php in your ‘ test’ folder (C:\xampp\htdocs\test):
<html>
 <head>
  <title>PHP-Test</title>
 </head>
 <body>
  <?php echo '<p>Hello World</p>'; ?>
 </body>
</html>
  • The last step now is to open your web browser and load your PHP page via localhost/test/test.php. If your browser window displays the words ‘Hello World’, then you’ve suc­cess­ful­ly installed and con­fig­ured your XAMPP.
Go to Main Menu