Brazil's biggest MU Online portal — since 2003
Tutorial Beginner Server

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.

BR Bruno · Updated on Jan 17, 2025 · ⏱ 12 min read
Quick answer

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.

Nota: XAMPP handles the WEBSITE (PHP + MySQL). The GAME uses SQL Server (Microsoft). These are two separate systems. XAMPP's MySQL and the game's SQL Server can both run on the same machine without conflict.

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
Dica: For a VPS, XAMPP works but isn't the most efficient option — it's primarily designed for local development. On a production VPS, consider using standalone Apache + PHP installation instead, which uses fewer resources and is more configurable. XAMPP shines for local testing before deploying to the live server.

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.

BR
Events, maps & items editor

Bruno specializes in MU Online events, maps, bosses and item economy. He documents every detail based on real gameplay.

Keep reading

Related articles

🧰
Tutorial

How to install AppServ for your MU Online server website

Complete guide to installing AppServ for running a MU Online server website on Windows: what AppServ is and what it includes (Apache, PHP, MySQL, phpMyAdmin), when to choose AppServ over XAMPP, the full installation walkthrough with each configuration screen explained (Apache port, admin email, MySQL root password, charset), where AppServ installs its files (C:\\AppServ\\www\\), how to access phpMyAdmin, installing IonCube Loader in AppServ for protected MU web systems, configuring the virtual host for multiple sites, solving the most common AppServ problems (port 80 conflict, MySQL not starting, phpMyAdmin access), the AppServ vs XAMPP comparison in detail, and the security hardening steps before going live.

12 min · Beginner ·
🐬
Tutorial

Install MySQL and phpMyAdmin for the MU Online server website

Complete guide to installing MySQL and phpMyAdmin for a MU Online server website: the critical difference between MySQL (for the website) and SQL Server (for the game), when to install MySQL separately vs using XAMPP or AppServ, the full MySQL Community Server installation walkthrough (7 steps including the authentication method choice for PHP compatibility), how to install phpMyAdmin manually and configure config.inc.php, how to create the website database and import the web system's SQL file, how to create a dedicated MySQL user (never use root in the site config), common MySQL connection errors and how to fix them, and security best practices (no port 3306 exposed, strong root password, dedicated user).

12 min · Beginner ·
🛡️
Tutorial

How to Create Real-Time Ranking Website for MU Server

Build a live-updating ranking portal for MU Online S6 servers — covering all 6 classes, guild boards, and database architecture.

12 min · Advanced ·