How to install XAMPP for a MU Online server website
Complete guide to installing XAMPP for running a MU Online server's website: what XAMPP includes (Apache, PHP, MySQL/MariaDB, phpMyAdmin), the critical difference between XAMPP's MySQL and SQL Server (the game database), how to choose the right PHP version for your web system, the full XAMPP installation and control panel walkthrough, where to put the website files (htdocs folder), how to create and import the MySQL database for the web system via phpMyAdmin, how to install IonCube Loader in XAMPP for PHP-encoded MU web systems, the four most common XAMPP problems and fixes (port 80 conflict, MySQL not starting, wrong PHP version, blank page), and how to use XAMPP on a VPS vs a local development machine.
XAMPP is the fastest way to set up the PHP web environment needed for a MU Online server website. One installer gives you Apache, PHP, MySQL, and phpMyAdmin ready to use in minutes.
XAMPP is the fastest way to set up the PHP web environment needed for a MU Online server website. One installer gives you Apache, PHP, MySQL, and phpMyAdmin ready to use in minutes.
What XAMPP includes
XAMPP COMPONENTS:
Apache HTTP Server:
→ The web server that receives HTTP requests and executes PHP files
→ Listens on port 80 (http) and port 443 (https)
→ Serves the MU Online website to players' browsers
PHP:
→ The programming language the MU website system is written in
→ XAMPP includes multiple PHP versions — choose the one your web system needs
→ Processes account registration, rankings, news, admin panel
MySQL/MariaDB:
→ Database server for the website's data (news, sessions, web configs)
→ Runs on port 3306
→ Separate from SQL Server — the two don't conflict
phpMyAdmin:
→ Web-based graphical interface for MySQL
→ Accessible at http://localhost/phpmyadmin/
→ Used to create databases, import tables, and manage web data
Choosing the right PHP version
PHP VERSION SELECTION:
THIS IS THE MOST IMPORTANT DECISION IN XAMPP SETUP.
How to find the required PHP version:
→ Read your web system's README or installation guide
→ Look for a line like: "Requires PHP 7.4" or "Tested with PHP 8.0"
→ Common requirements for MU web systems:
→ Classic systems (2010-2018): PHP 5.6 to 7.2
→ Modern systems (2019+): PHP 7.4 to 8.2
XAMPP DOWNLOAD PAGE:
→ Visit apachefriends.org
→ The page lists multiple versions (e.g., "XAMPP 8.2.0 (PHP 8.2)")
→ Download the version whose PHP matches your requirement
→ PHP 7.4: XAMPP 7.4.x
→ PHP 8.0: XAMPP 8.0.x
→ PHP 8.2: XAMPP 8.2.x
IF YOUR WEB SYSTEM SAYS PHP 5.6 OR 7.0:
→ XAMPP no longer offers these versions in the main download
→ Options: use AppServ (which packages older PHP versions)
or use XAMPP's archived versions from the downloads archive
Step-by-step installation
INSTALLING XAMPP:
STEP 1 — CHECK FOR PORT 80 CONFLICTS FIRST:
→ Services.msc → find "World Wide Web Publishing Service" (IIS) → Stop + Disable
→ Or: Task Manager → look for httpd.exe (another Apache) → end it
STEP 2 — DOWNLOAD:
→ apachefriends.org → download your PHP version → Windows installer (.exe)
STEP 3 — RUN AS ADMINISTRATOR:
→ Right-click the .exe → Run as administrator
→ Note: don't install to C:\Program Files (UAC can cause issues)
→ The default C:\xampp is better
STEP 4 — COMPONENT SELECTION:
→ ☑ Apache
→ ☑ MySQL
→ ☑ PHP
→ ☑ phpMyAdmin
→ Others (FileZilla FTP Server, Mercury Mail): optional, uncheck if not needed
STEP 5 — INSTALLATION FOLDER:
→ Keep default: C:\xampp\
→ Click Next → Install → wait 2-5 minutes
STEP 6 — START THE XAMPP CONTROL PANEL:
→ After installation, the XAMPP Control Panel opens automatically
→ Click "Start" next to Apache → Apache's status turns green
→ Click "Start" next to MySQL → MySQL's status turns green
STEP 7 — VERIFY:
→ Open browser → http://localhost
→ Should show: the XAMPP welcome/dashboard page
→ Click on "phpMyAdmin" in the top menu
→ Should open the phpMyAdmin login (username: root, no password by default)
Where to put the website files
XAMPP WEB ROOT — HTDOCS:
LOCATION:
→ C:\xampp\htdocs\
→ Any file placed here is accessible at http://localhost/[filename]
COPY YOUR MU WEBSITE:
1. Create a folder for your site: C:\xampp\htdocs\musite\
2. Copy all your MU website files into that folder
3. Open browser: http://localhost/musite/
4. The site starts loading (configuration errors expected — set up DB next)
FOLDER EXAMPLE:
C:\xampp\htdocs\
index.php → http://localhost/index.php
musite\ → http://localhost/musite/
index.php
config.php (edit this to connect to the database)
/admin/
/include/
IMPORTANT:
→ Unlike AppServ (which uses www\), XAMPP uses htdocs\
→ If following a tutorial that says "put files in www/", use htdocs/ instead in XAMPP
Setting up the MySQL database
CREATE THE WEBSITE DATABASE IN PHPMYADMIN:
ACCESS PHPMYADMIN:
→ http://localhost/phpmyadmin/
→ Username: root | Password: (blank by default — set one for security!)
SET ROOT PASSWORD:
1. phpMyAdmin → User accounts → Edit privileges for root@localhost
2. Change password → type a new password → Go
3. Edit config.inc.php in C:\xampp\phpMyAdmin\:
$cfg['Servers'][$i]['password'] = 'your_new_root_password';
4. Restart Apache
CREATE THE SITE DATABASE:
1. phpMyAdmin → "New" in left panel
2. Name: musite | Collation: utf8mb4_general_ci
3. Click "Create"
IMPORT THE TABLES:
1. Click on "musite" in the left panel
2. "Import" tab → "Choose File" → select the .sql file from your web system
3. Click "Go" → tables appear
CONFIGURE THE SITE'S DB CONNECTION:
→ Edit the config.php file in your website folder:
$db_host = 'localhost';
$db_user = 'root'; // or a dedicated user
$db_pass = 'your_password';
$db_name = 'musite';
Installing IonCube Loader in XAMPP
IONCUBE FOR XAMPP:
STEP 1 — FIND YOUR PHP VERSION:
→ Create file: C:\xampp\htdocs\phpinfo.php
with content: <?php phpinfo(); ?>
→ Browse: http://localhost/phpinfo.php
→ Note the PHP version (e.g., 7.4.33)
STEP 2 — DOWNLOAD IONCUBE:
→ ioncube.com/loaders.php → Windows Loaders (zip)
→ Extract the zip
STEP 3 — COPY THE RIGHT LOADER:
→ Find: ioncube_loader_win_7.4.dll (for PHP 7.4, Windows)
→ Copy to: C:\xampp\php\ext\
STEP 4 — EDIT php.ini:
→ In XAMPP Control Panel: click "Config" next to Apache → "PHP (php.ini)"
→ Find any existing zend_extension line
→ Add this line BEFORE it (or at the very start of the extensions block):
zend_extension = "C:/xampp/php/ext/ioncube_loader_win_7.4.dll"
→ Save
STEP 5 — RESTART APACHE:
→ XAMPP Control Panel → Stop Apache → Start Apache
STEP 6 — VERIFY:
→ http://localhost/phpinfo.php → CTRL+F → search "ioncube"
→ If the ioncube section appears: it's working
→ Delete phpinfo.php after testing (security)
Common XAMPP problems
TROUBLESHOOTING:
PROBLEM: Apache shows red / won't start
→ Port 80 is taken: find what's using it:
netstat -ano | find ":80" in CMD
→ Stop IIS: services.msc → World Wide Web Publishing Service → Stop
→ Or change Apache to port 8080: XAMPP Control Panel → Apache → Config → httpd.conf
→ Find "Listen 80" → change to "Listen 8080"
→ Access at http://localhost:8080/ instead
PROBLEM: MySQL won't start
→ Another MySQL instance running: stop it in services.msc
→ MySQL data directory is corrupt: backup and reinitialize
PROBLEM: Site shows PHP errors about deprecated functions
→ Wrong PHP version: your web system needs an older PHP than you installed
→ Download XAMPP with the correct PHP version for your web system
PROBLEM: Blank white page
→ IonCube not installed (most common cause for MU web systems)
→ PHP error being swallowed: add ini_set('display_errors', 1); to the top of config.php
→ Database connection fails silently: verify MySQL is running and the DB credentials
Continue with the website hosting tutorial (for connecting the XAMPP-served site to the game's SQL Server database), the IonCube and permissions tutorial (more detail on getting protected PHP files working), and the AppServ tutorial (if you prefer AppServ's simpler approach or need an older PHP version).
Frequently asked questions
What is XAMPP for on a MU server?
XAMPP provides Apache (web server), PHP (scripting language), MySQL/MariaDB (database), and phpMyAdmin (database manager) in a single installer. These components run the server's WEBSITE — the page where players register accounts, check rankings, and download the client. The game itself (MuServer) uses SQL Server (Microsoft), which is completely separate from XAMPP's MySQL.
Does XAMPP include a SQL Server for the game?
No. XAMPP includes MySQL/MariaDB, which is used for the website's database. The MU Online game server requires SQL Server (Microsoft) — a completely different database system. Both can run on the same Windows machine: SQL Server (port 1433) for the game, MySQL via XAMPP (port 3306) for the website. They don't conflict.
Which XAMPP version should I download?
Download the version that matches your web system's PHP requirement. If the web system requires PHP 7.4: download the XAMPP version with PHP 7.4. If it requires PHP 8.x: use a newer XAMPP. The web system's documentation or README will state the PHP version. Using XAMPP with the wrong PHP version (too old or too new) causes errors and blank pages.
Why is there a 'port 80 is already in use' error when starting Apache?
Windows itself or an existing web server is using port 80. Common culprits: IIS (Internet Information Services), Skype (older versions), or a previously installed Apache. To fix: go to the Service.msc (Windows Services) and stop 'World Wide Web Publishing Service' (IIS). For Skype: Settings → Advanced → disable 'Use port 80 as an alternative.' Then restart Apache in XAMPP Control Panel.