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

  1. Download: Get WAMP Server from wampserver.com
  2. Install: Run installer as Administrator, accept all defaults
  3. Verify Installation:
    • Launch WAMP from Start Menu
    • Wait for icon to turn green in system tray
    • Visit http://localhost to see WAMP homepage
  4. WordPress Installation:
    cd C:\wamp\www\
    git clone https://github.com/WordPress/WordPress.git mywebsite
    
  5. Create Database:
    • Open http://localhost/phpmyadmin
    • Create new database named mywebsite_db

Option 2: XAMPP Setup

  1. Download: Get XAMPP from apachefriends.org
  2. Install:
    • Run installer (disable any running Skype/TeamViewer as they use port 80)
    • Select components: Apache, MySQL, PHP, phpMyAdmin
  3. Launch Control Panel:
    • Start Apache and MySQL services
    • Verify at http://localhost
  4. WordPress Installation:
    cd C:\xampp\htdocs\
    git clone https://github.com/WordPress/WordPress.git site1
    

Hosting Multiple Websites

Method for Both WAMP/XAMPP:

  1. 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> ```

  2. Edit Hosts File:
    • Add to C:\Windows\System32\drivers\etc\hosts:
      127.0.0.1 site1.test
      127.0.0.1 site2.test
      
  3. Restart Services and access sites at http://site1.test and http://site2.test

Critical Configuration Notes

  1. Always run installers as Administrator
  2. Configure Windows Firewall to allow Apache/MySQL
  3. For WordPress: set define('WP_DEBUG', true); in wp-config.php during development
  4. 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.