localhost/xampp

http://localhost/xampp

The XAMPP dashboard at localhost/xampp provides quick access to your local development server status, phpMyAdmin database management, server configuration, and essential XAMPP tools for web development.

→ Open localhost/xampp

What is XAMPP?

XAMPP is a free, open-source, cross-platform web server solution stack package developed by Apache Friends. It provides everything needed for local web development:

  • X - Cross-platform (Windows, Linux, Mac)
  • A - Apache HTTP Server (web server)
  • M - MySQL/MariaDB (database management system)
  • P - PHP (server-side scripting language)
  • P - Perl (programming language)

XAMPP creates a complete local development environment on your computer, allowing you to develop and test websites and web applications offline before deploying to production servers.

XAMPP Components and Versions

Component Purpose Port
Apache Web server for serving HTML/PHP pages 80, 443
MySQL/MariaDB Relational database management system 3306
PHP Server-side scripting language -
phpMyAdmin Web-based database administration tool -
ProFTPD FTP server for file transfers 21
Mercury Mail transport system (SMTP) 25
Tomcat Java servlet container 8080
Perl Scripting language -

How to Access XAMPP Dashboard

  1. Install XAMPP from apachefriends.org
  2. Open XAMPP Control Panel application
  3. Start Apache web server (click Start button)
  4. Wait for Apache to show "Running" status
  5. Open web browser (Chrome, Firefox, Edge)
  6. Navigate to localhost/xampp or localhost/dashboard
  7. XAMPP welcome page will display with navigation menu

XAMPP Dashboard Features and Tools

  • Status Check - View running services and their status
  • phpMyAdmin - Quick access to database management interface
  • phpinfo() - Display complete PHP configuration information
  • Security - Configure XAMPP security settings
  • Webalizer - Web server log file analysis
  • Documentation - Access XAMPP help and documentation
  • CD Collection - Demo database application example
  • FAQ - Frequently asked questions and answers
  • How-To Guides - Step-by-step tutorials
  • Language Selection - Switch dashboard language

Default XAMPP URLs and Access Points

  • localhost or 127.0.0.1 - Web server root / your projects
  • localhost/xampp - XAMPP dashboard and welcome page
  • localhost/dashboard - Alternative dashboard URL
  • localhost/phpmyadmin - Database management interface
  • localhost/webalizer - Web server statistics
  • localhost/security - XAMPP security configuration
  • localhost:80 - Apache HTTP port
  • localhost:443 - Apache HTTPS SSL port
  • localhost:3306 - MySQL database port

XAMPP Installation Locations

Operating System Default Installation Path
Windows 32-bit C:\xampp\
Windows 64-bit C:\xampp\
Linux /opt/lampp/
Mac OS X /Applications/XAMPP/

Important XAMPP Directories

Windows Directory Structure

  • C:\xampp\htdocs\ - Web server document root (put your projects here)
  • C:\xampp\apache\conf\ - Apache configuration files
  • C:\xampp\apache\logs\ - Apache error and access logs
  • C:\xampp\mysql\data\ - MySQL database files
  • C:\xampp\mysql\bin\ - MySQL executable files
  • C:\xampp\php\ - PHP installation directory
  • C:\xampp\phpMyAdmin\ - phpMyAdmin files
  • C:\xampp\perl\ - Perl installation
  • C:\xampp\tmp\ - Temporary files

Linux Directory Structure

  • /opt/lampp/htdocs/ - Web document root
  • /opt/lampp/etc/ - Configuration files
  • /opt/lampp/logs/ - Log files
  • /opt/lampp/var/mysql/ - MySQL data
  • /opt/lampp/bin/ - Executable files

How to Start and Stop XAMPP Services

Windows GUI Method

  1. Open XAMPP Control Panel (xampp-control.exe)
  2. Click "Start" button next to Apache
  3. Click "Start" button next to MySQL
  4. Services will show "Running" when started successfully
  5. Click "Stop" button to stop services
  6. Use "Admin" buttons for service-specific administration

Command Line Methods

# Windows - Start XAMPP Control Panel C:\xampp\xampp-control.exe # Windows - Start Apache C:\xampp\apache_start.bat # Windows - Stop Apache C:\xampp\apache_stop.bat # Windows - Start MySQL C:\xampp\mysql_start.bat # Windows - Stop MySQL C:\xampp\mysql_stop.bat
Linux XAMPP Commands:
# Start all XAMPP services sudo /opt/lampp/lampp start # Stop all XAMPP services sudo /opt/lampp/lampp stop # Restart all services sudo /opt/lampp/lampp restart # Start Apache only sudo /opt/lampp/lampp startapache # Start MySQL only sudo /opt/lampp/lampp startmysql # Stop Apache only sudo /opt/lampp/lampp stopapache # Stop MySQL only sudo /opt/lampp/lampp stopmysql # Check XAMPP status sudo /opt/lampp/lampp status # Security configuration sudo /opt/lampp/lampp security
Mac XAMPP Commands:
# Start XAMPP services sudo /Applications/XAMPP/xamppfiles/xampp start # Stop XAMPP services sudo /Applications/XAMPP/xamppfiles/xampp stop # Restart services sudo /Applications/XAMPP/xamppfiles/xampp restart # Check status sudo /Applications/XAMPP/xamppfiles/xampp status # Open XAMPP Manager open /Applications/XAMPP/manager-osx.app

Common XAMPP Problems and Solutions

Error: "Apache won't start" or "Port 80 in use"

Port 80 is already being used by another application.

  • Check for IIS: Internet Information Services uses port 80 on Windows
  • Skype conflict: Old Skype versions use ports 80 and 443
  • Other web servers: nginx, WAMP, or another Apache instance
  • Solution 1: Stop the conflicting application
  • Solution 2: Change Apache port to 8080 in httpd.conf
  • Solution 3: Run XAMPP as administrator
# Windows - Find what's using port 80 netstat -ano | findstr :80 tasklist | findstr [PID] # Kill process using port 80 taskkill /F /PID [process_id] # Stop IIS if installed net stop was /y # Disable IIS on Windows startup sc config w3svc start= disabled

Error: "MySQL won't start" or "Port 3306 in use"

Port 3306 is occupied by another MySQL instance or service.

  • Check if MySQL Windows Service is running
  • Stop other MySQL instances
  • Change MySQL port in my.ini configuration file
  • Check for corrupted database files
  • Review MySQL error log for specific errors
# Windows - Stop MySQL Windows Service net stop MySQL # Disable MySQL service sc config MySQL start= disabled # Check port 3306 netstat -ano | findstr :3306

Error: "Access forbidden! You don't have permission"

Apache directory permissions or configuration issue.

  • Check folder permissions on htdocs directory
  • Review httpd.conf for "Require all granted" directive
  • Verify .htaccess file isn't blocking access
  • Ensure Apache user has read permissions
  • Check DocumentRoot setting in httpd.conf

Error: "localhost/xampp not found" or 404 Error

  • Verify Apache is running (green in control panel)
  • Try localhost/dashboard instead
  • Check if xampp folder exists in htdocs
  • Clear browser cache and cookies
  • Try 127.0.0.1/xampp instead of localhost
  • Restart Apache service

Error: "XAMPP Control Panel won't open"

  • Run as Administrator on Windows
  • Check if xampp-control.exe is running in Task Manager
  • Kill any existing xampp-control.exe processes
  • Reinstall XAMPP if corrupted
  • Check antivirus isn't blocking it

How to Change Apache Port in XAMPP

  1. Open XAMPP Control Panel
  2. Click "Config" button next to Apache
  3. Select "httpd.conf" from dropdown menu
  4. Find line: Listen 80
  5. Change to: Listen 8080 (or any available port)
  6. Find: ServerName localhost:80
  7. Change to: ServerName localhost:8080
  8. Save httpd.conf file
  9. Also edit httpd-ssl.conf for HTTPS port if needed
  10. Restart Apache from control panel
  11. Access at: localhost:8080

How to Change MySQL Port in XAMPP

  1. Stop MySQL service in control panel
  2. Click "Config" button next to MySQL
  3. Select "my.ini" configuration file
  4. Find: port=3306 under [mysqld] section
  5. Change to: port=3307 (or desired port)
  6. Also change under [client] section if present
  7. Save my.ini file
  8. Update phpMyAdmin config.inc.php with new port
  9. Start MySQL with new port

How to Create Virtual Hosts in XAMPP

Virtual hosts allow you to use custom domain names like myproject.local instead of localhost/myproject:

  1. Edit httpd-vhosts.conf file
  2. Add virtual host configuration
  3. Edit hosts file on your computer
  4. Add domain mapping to 127.0.0.1
  5. Restart Apache
  6. Access your site at custom domain
# httpd-vhosts.conf location: # Windows: C:\xampp\apache\conf\extra\httpd-vhosts.conf # Linux: /opt/lampp/etc/extra/httpd-vhosts.conf # Add virtual host configuration: <VirtualHost *:80> ServerName myproject.local DocumentRoot "C:/xampp/htdocs/myproject" <Directory "C:/xampp/htdocs/myproject"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
# Edit hosts file: # Windows: C:\Windows\System32\drivers\etc\hosts # Linux/Mac: /etc/hosts # Add this line: 127.0.0.1 myproject.local

XAMPP Security Configuration

Secure your XAMPP installation for local development:

Set MySQL Root Password

  • Access localhost/phpmyadmin
  • Go to "User accounts" tab
  • Edit "root" user
  • Set strong password
  • Update password in phpMyAdmin config.inc.php

Security Checklist

  • Set MySQL root password (default is blank - insecure!)
  • Restrict phpMyAdmin access by IP address
  • Disable directory listing in Apache
  • Remove demo applications (CD Collection, etc.)
  • Enable XAMPP security page access control
  • Keep XAMPP updated to latest version
  • Never expose XAMPP to internet/network
  • Use XAMPP only for local development
Security Warning: XAMPP is designed for development use only and is NOT secure for production environments. Default passwords are blank, services run with maximum privileges, and security features are disabled for ease of development. Never use XAMPP on internet-facing servers.

Testing Your XAMPP Installation

Test 1: Apache Web Server

  1. Create file: htdocs/test.html
  2. Add content: <h1>Apache Works!</h1>
  3. Access: localhost/test.html
  4. Should display "Apache Works!" message

Test 2: PHP Installation

  1. Create file: htdocs/test.php
  2. Add code: <?php phpinfo(); ?>
  3. Access: localhost/test.php
  4. Should display PHP configuration page

Test 3: MySQL Database

  1. Access: localhost/phpmyadmin
  2. Login with root / (blank password)
  3. Create test database
  4. If successful, MySQL is working

Where to Put Your Web Projects

Place all your web development projects in the htdocs folder:

Windows

  • Location: C:\xampp\htdocs\
  • Example: C:\xampp\htdocs\myproject\
  • Access: localhost/myproject

Linux

  • Location: /opt/lampp/htdocs/
  • Example: /opt/lampp/htdocs/myproject/
  • Access: localhost/myproject

Mac

  • Location: /Applications/XAMPP/htdocs/
  • Example: /Applications/XAMPP/htdocs/myproject/
  • Access: localhost/myproject

XAMPP vs Alternatives

Software Platform Features
XAMPP Windows, Linux, Mac Apache, MySQL, PHP, Perl
WAMP Windows only Apache, MySQL, PHP
MAMP Mac, Windows Apache, MySQL, PHP
LAMP Linux Linux, Apache, MySQL, PHP
Laragon Windows Apache/Nginx, MySQL, PHP
AMPPS Windows, Linux, Mac Apache, MySQL, PHP, Softaculous

Frequently Asked Questions

How do I uninstall XAMPP?

Windows: Run uninstall.exe in XAMPP folder or use Programs & Features. Linux: Run sudo /opt/lampp/uninstall. Mac: Drag XAMPP folder to trash and remove with AppCleaner.

Can I install multiple PHP versions in XAMPP?

Yes, but requires manual configuration. Download different PHP versions, place in separate folders, and modify httpd.conf to switch between versions.

Is XAMPP free?

Yes, XAMPP is completely free and open source under GNU General Public License.

Can I use XAMPP for production?

No! XAMPP is designed only for development. It has insecure default settings and should never be exposed to the internet or used for production websites.

Related Resources and Tools