XAMPP lets you host a quick and dirty test server from Windows without investing in an expensive license.
These days, Linux tends to be the go-to platform for setting up and deploying an Apache-powered server. But if you prefer the Microsoft way and want to host a quick and dirty test server from Windows without investing in an expensive license for Windows Server or messing around with Linux, the open source community has you covered.
XAMPP, by Apache Friends, is known as an installable Apache distribution, containing everything you need to get a server up and running on your own PC. Essentially, this package includes several applications and services all bundled together for fast and easy configuration, such as Apache, MySQL, PHP, OpenSSL, FileZilla FTP server, and more. This web server kit has recently reached version 1.8 and comes loaded with various improvements and fixes as well as preliminary support for Mac OS X and Solaris.
It's easy to get started. Simply download XAMPP for Windows from the Apache Friends website, launch the installer, and set your system services for Apache and MySQL. Presto, you're online and ready to go.
XAMPP provides a convenient and easy to use control panel, which allows you to turn services like Apache or MySQL on and off, view process IDs and port numbers, edit configuration files, read activity logs and use Netstat. When the server starts up, you are given a local IP address which points to your page for testing purposes. Typing either http://127.0.0.1/ or http://localhost/ in your web browser will open the "XAMPP installed successfully" page.
From here, you can load all of your site content under what XAMPP calls the DocumentRoot area, which is similar in concept to the public_html folder found on most servers. Under Windows, the default location is C:\xampp\htdocs\.
Once you are finished copying in all the content, replace the index.php and/or index.html file to finish the process and replace the demo page provided by XAMPP. Since there is far more than I can properly cover here in this post, you can find out more about the web server setup and configuration procedure at the XAMPP Windows FAQ page. There are also various guides on the Web which give a series of steps from start to finish, including this one from New Net Enterprises.
In summary, XAMPP is designed with the web developer in mind, giving one the power and flexibility of a test web server without all the hassle of setting up a dedicated box running a special server operating system, just for site testing. When it comes to throwing a server out into the wild however, proper hardened security is a must and operating systems designed specifically for servers should be used for public-facing production sites instead of XAMPP. My advice for anyone wanting to give XAMPP a spin: Stay within the confines of an internal LAN, and you should have no problems.