How to run XAMPP and IIS together on the same machine?
Well, working together on both IIS & XAMPP can really be a tricky task for beginners. The main aim of this article is to help beginners to get XAMPP Apache Server and IIS server works together.
As port 80 is also used by IIS, we need to change XAMPP port 80 to another port number that is not used by any other service.
Understanding XAMPP and IIS
XAMPP: XAMPP is a popular web server solution that bundles Apache, MySQL, PHP, and Perl, creating an environment for testing and development. It is a free and open-source cross-platform web server developed by Apache Friends. It is a simple, lightweight distribution that makes it extremely easy for developers to create a local web server for testing purposes.
IIS: On the other hand, IIS is a Microsoft web server that offers robust features for hosting websites and applications on Windows systems. IIS stands for Internet Information Services (formerly Internet Information Server). It is a web server developed by Microsoft which is used for development and testing purposes. It supports HTTP, HTTPS, FTP, FTPS, SMTP, and NNTP.
Benefits of Running XAMPP and IIS Together
Running XAMPP and IIS together on the same Windows system offers significant advantages for developers, testers, and IT professionals. By configuring Apache to use alternate ports, you can avoid conflicts and enjoy the flexibility of working with both open-source and Microsoft technologies simultaneously. Below are the key benefits of using XAMPP and IIS concurrently.
Here are some of the key advantages:
1. Versatile Web Development Environment
Running XAMPP and IIS together allows developers to work with a wide range of technologies in a single setup. XAMPP supports Apache, PHP, MySQL, and Perl, making it ideal for open-source and CMS-based projects such as WordPress, Laravel, and Joomla. IIS, on the other hand, is designed for ASP.NET, .NET Core, and Windows-based applications. This combined environment enables seamless development across different tech stacks.
2. Run XAMPP and IIS Simultaneously Without Port Conflicts
By configuring Apache to use alternate ports, you can run XAMPP and IIS simultaneously without interfering with each other. This setup allows you to test applications in real time on both servers, improving development speed and minimizing downtime during testing and deployment.
3. Faster Testing and Development Cycles
With both servers running in parallel, developers can instantly compare application behavior across Apache and IIS environments. This speeds up testing, debugging, and iteration, allowing you to identify environment-specific issues early in the development lifecycle.
4. Smooth Transition from Development to Production
Many production servers in Windows environments use IIS. Developing applications alongside IIS ensures a smooth transition from local development to production, reducing deployment errors and compatibility issues. This is especially beneficial for enterprise and corporate applications.
5. Efficient Resource Management
Running XAMPP and IIS together allows you to assign projects based on their resource requirements. Lightweight PHP projects can run on XAMPP, while more resource-intensive or enterprise-grade applications can be hosted on IIS. This ensures efficient CPU, memory, and port utilization on your system.
6. Improved Developer Workflow and Productivity
Having both Apache and IIS available eliminates the need to stop and start servers frequently or switch development environments. This streamlined workflow reduces context switching, improves focus, and significantly boosts productivity for multi-project developers.
7. Advanced Learning and Skill Enhancement
Using both XAMPP and IIS exposes developers to different server architectures, configuration files, and management tools. This practical experience enhances technical knowledge and makes developers more adaptable to real-world project requirements.
8. Enhanced Testing and Debugging Capabilities
Testing applications on both Apache and IIS helps identify server-specific behavior, configuration differences, and performance issues. This dual-server testing approach results in more stable, secure, and production-ready applications.
9. Cross-Platform and Enterprise Compatibility
XAMPP’s cross-platform nature combined with IIS’s Windows integration enables developers to build applications that work across multiple operating systems and hosting environments. This is crucial for teams working on scalable, enterprise-level projects.
10. Career and Professional Growth
Mastering how to run XAMPP and IIS together on Windows demonstrates strong technical proficiency and versatility. This skill is highly valued in web development, system administration, and DevOps roles, giving you a competitive edge in the job market.
How To Run XAMPP and IIS Together
Step 1: Download and Install XAMPP
Begin by downloading the latest version of XAMPP from the official Apache Friends website. Choose the version that matches your operating system (Windows, Linux, or macOS). Once downloaded, run the installer and follow the on-screen instructions.
During installation, you can keep the default settings unless you have specific requirements. Make sure Apache and MySQL are selected, as Apache is the component that will conflict with IIS if ports are not changed.
Step 2: Open the Apache Configuration File (httpd.conf)
After the installation is completed successfully, navigate to the XAMPP installation directory. Inside the XAMPP folder, go to:
/xampp/apache/conf/httpd.conf
Open the httpd.conf file using a text editor such as Notepad (run as Administrator), Notepad++, or any code editor. This file controls how the Apache server listens for incoming requests.
Step 3: Change the Default HTTP Port
Inside the httpd.conf file, search for the line:
Listen 80
Port 80 is commonly used by IIS, so Apache must be moved to a different port. Replace this line with:
Listen 8080
This change tells Apache to listen for HTTP requests on port 8080 instead of the default port 80.
Step 4: Update the ServerName Directive
Next, search for the following line in the same file:
ServerName localhost:80
Update it to:
ServerName localhost:8080
This ensures Apache correctly identifies the new port number and prevents startup warnings or errors related to hostname and port configuration.
Step 5: Save and Close the httpd.conf File
After making the above changes, save the httpd.conf file and close the text editor. These changes will take effect the next time Apache is restarted.
Step 6: Open the SSL Configuration File (httpd-ssl.conf)
Now, configure Apache’s SSL (HTTPS) settings. Navigate to the following directory:
/xampp/apache/conf/extra/httpd-ssl.conf
Open the httpd-ssl.conf file in a text editor with administrative privileges. This file controls how Apache handles secure HTTPS connections.
Step 7: Change the Default HTTPS Port
In the httpd-ssl.conf file, search for:
Listen 443
Since port 443 is often used by IIS for HTTPS, replace it with:
Listen 4499
This change assigns Apache a new HTTPS port to avoid conflicts with IIS.
Step 8: Update the VirtualHost Port
Next, locate the following line:
<VirtualHost _default_:443>
Change it to:
<VirtualHost _default_:4499>
This ensures that the SSL virtual host is correctly bound to the new HTTPS port.
Step 9: Update the SSL ServerName
Now, search for:
ServerName localhost:443
Replace it with:
ServerName localhost:4499
This final SSL-related change ensures Apache correctly maps secure requests to the updated port.
Step 10: Save and Close the httpd-ssl.conf File
After completing all SSL-related changes, save the file and close the editor. Your Apache HTTP and HTTPS configurations are now fully updated.
You may also like these resources on Server & Deployment:
1
Wrapping Up
In conclusion, mastering the art of running XAMPP and IIS concurrently on a single machine is an achievement that can greatly enhance your web development capabilities.
By following the comprehensive steps and guidelines outlined in this guide on how to run XAMPP & IIS together on the same machine, you’ve equipped yourself with the knowledge to seamlessly manage both platforms, harnessing their unique strengths for your diverse web projects. Whether it’s testing, designing, or deploying, the coexistence of XAMPP and IIS opens up a realm of possibilities, empowering you to create and innovate with confidence.
We welcome your insights and opinions in the comment section below. If you encounter any challenges while attempting to run XAMPP and IIS together, please don’t hesitate to reach out for assistance. Your feedback and questions are valued, and we’re here to support you in making the most of this integration.

15+ Best Websites for Free Stock Videos (2026)