WAMP vs XAMPP Comparison
Comparison: WAMP vs XAMPP
Feature | WAMP | XAMPP |
---|---|---|
OS Support | Windows only | Cross-platform (Win/macOS/Linux) |
Components | Apache, MySQL, PHP | Apache, MariaDB, PHP, Perl |
Control Panel | System tray icon | Dedicated control panel |
Configuration | More Windows-friendly | Slightly more complex |
Portability | Less portable | More portable (can run from USB) |
Multiple PHP Versions | Supported via add-ons | Limited without manual config |
Default Ports | Apache: 80, MySQL: 3306 | Same |
Detailed Setup Instructions
Option 1: WAMP Setup
- Download: Get WAMP Server from wampserver.com
- Install: Run installer as Administrator, accept all defaults
- Verify Installation:
- Launch WAMP from Start Menu
- Wait for icon to turn green in system tray
- Visit
http://localhost
to see WAMP homepage
- WordPress Installation:
cd C:\wamp\www\ git clone https://github.com/WordPress/WordPress.git mywebsite
- Create Database:
- Open
http://localhost/phpmyadmin
- Create new database named
mywebsite_db
- Open
Option 2: XAMPP Setup
- Download: Get XAMPP from apachefriends.org
- Install:
- Run installer (disable any running Skype/TeamViewer as they use port 80)
- Select components: Apache, MySQL, PHP, phpMyAdmin
- Launch Control Panel:
- Start Apache and MySQL services
- Verify at
http://localhost
- WordPress Installation:
cd C:\xampp\htdocs\ git clone https://github.com/WordPress/WordPress.git site1
Hosting Multiple Websites
Method for Both WAMP/XAMPP:
- Create Virtual Hosts:
- Edit
httpd-vhosts.conf
(WAMP:C:\wamp\bin\apache\apacheX.X.X\conf\extra\
, XAMPP: similar path) ```apache
<VirtualHost *:80> DocumentRoot “C:/wamp/www/site1” ServerName site1.test </VirtualHost> <VirtualHost *:80> DocumentRoot “C:/wamp/www/site2” ServerName site2.test </VirtualHost> ```
- Edit
- Edit Hosts File:
- Add to
C:\Windows\System32\drivers\etc\hosts
:127.0.0.1 site1.test 127.0.0.1 site2.test
- Add to
- Restart Services and access sites at
http://site1.test
andhttp://site2.test
Critical Configuration Notes
- Always run installers as Administrator
- Configure Windows Firewall to allow Apache/MySQL
- For WordPress: set
define('WP_DEBUG', true);
inwp-config.php
during development - Recommended to use different ports if running multiple instances:
Listen 8080 <VirtualHost *:8080> # config for second site </VirtualHost>
For Docker enthusiasts, consider using docker-compose
with WordPress official images for even better isolation between sites.