How to Install XAMPP for Windows: Apache, MariaDB, and PHP
- 開発環境
- Windows
Note: The screenshots in this article were captured in a Japanese-language Windows environment. Menu and setting names may differ slightly in an English-language installation.
If you want to check a website that uses PHP or databases on a Windows PC, you can use XAMPP to install Apache, MariaDB, PHP, etc. all at once. Here, we will use XAMPP 8.2.12 as the verification environment and proceed from downloading to starting Apache/MariaDB and checking the display of phpMyAdmin.
What is XAMPP?
XAMPP is an all-in-one local server package for Windows that allows you to install Apache (web server), MariaDB (database), PHP, and Perl all in one installer.
It is an open source distribution distributed by Apache Friends, which allows you to prepare a local web server environment simply by running the installer, eliminating the need to separately set up and link Apache, PHP, and databases. The "X" in the name stands for cross-platform (Windows/Linux/OS X), "A" stands for Apache, "M" stands for MariaDB (formerly MySQL), "P" stands for PHP, and "P" stands for Perl.
XAMPP operating requirements
In a 64-bit environment of Windows 10/11, you can install XAMPP as is without preparing an additional runtime.
| Item | Guideline |
|---|---|
| Compatible OS | Windows 10/11 (64bit) *Windows XP and Windows Server 2003 are not supported |
| Required disk space | Approximately 150 to 300MB (additional amount of operation log and database after installation will be added separately) |
| authority | Administrator privileges (for running installers, firewall permissions) |
| Prerequisite software | Not required (Apache, PHP, MariaDB are included in XAMPP) |
Why do we need XAMPP?
This is necessary because you will be able to check the operation of sites and applications using PHP and databases on your Windows PC without using a real rental server or cloud environment.
There are three main reasons why XAMPP is chosen:
- Local verification before production launch:You can check the operation of PHP scripts and database linkage on your PC before uploading to a rental server or cloud environment.
- Reduce the effort of individual setup: There is no need to install Apache, PHP, and MariaDB separately and configure their linkage, and a single installer provides a working web server environment.
- Offline learning/verification: You can learn PHP/MySQL and test internal tools without an Internet connection or rental server contract.
XAMPP download instructions
Get the 64-bit version installer for Windows from the Apache Friends official website's download page.
1. Access the download page of the official website
Access apachefriends.org/jp/download.html in your browser. At the top of the page, there is an explanation that says, "XAMPP is an easy-to-install Apache distribution that includes MariaDB, PHP, and Perl." and a list of supported versions is displayed.

2. Check compatible versions
As of August 20, 2026, the following three systems have been released as XAMPP for Windows. The release status may change, so please check the official page when downloading.
| version | Compatible PHP | size |
|---|---|---|
| XAMPP 8.0.30 | PHP 8.0.30 | 144 Mb |
| XAMPP 8.1.25 | PHP 8.1.25 | 148 Mb |
| XAMPP 8.2.12 | PHP 8.2.12 | 149 Mb |
For new learning/verification purposes, new published versions are candidates. However, when reproducing an existing site, WordPress, PHP framework, etc., please prioritize the PHP version that is supported by the target CMS or application. 8.2.12 of this article is a verification example to show the screen and operation results. Please note that Windows XP and Windows Server 2003 are not supported.
3. Click the "Download (64bit)" button
Click the "Download (64bit)" button in the row of the corresponding version to download the installer (.exe).
XAMPP installation instructions
Step through the installer to configure the components, installation location, and display language. The time required will vary depending on the performance of your PC and the components you select.
1. Check the UAC warning dialog
When you start the installer, the following warning dialog will be displayed first.
To summarize, this is a warning that if you install XAMPP under C:\Program Files in an environment where UAC (User Account Control) is enabled, you may not have sufficient write permissions and some functions may not work properly. Click OK to proceed.

2. Start the setup wizard
The "Setup – XAMPP" screen (initial screen of the Setup Wizard) will be displayed, so click "Next >".

3. Select components to install
On the "Select Components" screen, check the features you want to install. By default, all of the following are selected:
| Category | component |
|---|---|
| Server | Apache (required/grayed out), MySQL, FileZilla FTP Server, Mercury Mail Server, Tomcat |
| Program Languages | PHP (required/grayed out), Perl |
| Program Languages (Other) | phpMyAdmin, Webalizer, etc. |
Apache itself and PHP cannot be deselected (grayed out) because they are essential for XAMPP to operate. If you are developing locally and do not use email sending/receiving or FTP functions, you can uncheck Mercury Mail Server and FileZilla FTP Server. Once you have made your selections, click Next >.

4. Specify the installation folder
On the Installation folder screen, specify the installation path. The default value is C:\xampp. As noted in the warning in step 1, avoid installing under C:\Program Files. Unless you have a reason to change the location, leave it as C:\xampp and click “Next >”.

5. Select display language
On the "Language" screen (XAMPP Control Panel display language settings), select the language from the pull-down. This time, leave it as "English" and click "Next >".

6. Check and execute the installation contents
The "Ready to Install" screen will display "Setup is now ready to begin installing XAMPP on your computer." Click "Next >" to begin the installation.

The progress bar advances on the "Welcome to XAMPP!" screen, and statuses such as "Installing" and "Unpacking files" are displayed.

7. Set Windows Firewall Permissions
During installation, a Windows Security dialog may appear asking, "Do you want to allow public and private networks to access this app?" The target is "Apache HTTP Server" (Publisher: Apache Software Foundation).
If you only access it via localhost on the same PC, there's no need to allow Apache to accept connections from external terminals. Only select and allow a trusted "private network" when accessing via LAN from another PC or smartphone. Avoid allowing public networks such as public Wi-Fi.

8. Complete setup
When the "Completing the XAMPP Setup Wizard" screen appears, the installation is complete with the message "Setup has finished installing XAMPP on your computer." If you check "Do you want to start the Control Panel now?" and click "Finish", the XAMPP Control Panel will start.

Operation confirmation procedure after installation
If you can start Apache and MySQL from the XAMPP Control Panel and access the dashboard and phpMyAdmin in your browser, the installation is successful.
1. Launch XAMPP Control Panel
"XAMPP Control Panel v3.3.0" (Compiled: Apr 6th 2021), which starts automatically after installation is complete, has Start / Admin / Config / Logs operation buttons for each module of Apache, MySQL, FileZilla, Mercury, and Tomcat. The following initialization message is displayed in the log field.
[main] XAMPP Installation Directory: "c:\xampp\"
[main] Checking for prerequisites
[main] All prerequisites found
[main] Initializing Modules
[main] Starting Check-Timer
[main] Control Panel Ready

2. Check the htdocs folder structure
When you open C:\xampp\htdocs in Explorer, the following folders and files are arranged by default. This is the local server's public directory (document root), described later.
| name | type |
|---|---|
| dashboard | folder |
| img | folder |
| webalizer | folder |
| xampp | folder |
| applications | Chrome HTML Document |
| bitnami | cascading style sheets |
| favicon | icon |
| index.php | PHP file |

3. Start Apache and MySQL
In the XAMPP Control Panel, click the "Start" button in the Apache and MySQL row. If the startup is successful, the entire line will turn green and display the PID and port number as shown below.
| module | port |
|---|---|
| Apache | 80, 443 |
| MySQL | 3306 |
In the log, startup messages such as "Attempting to start Apache app…" and "Status change detected: running" are output in order.

4. Access the dashboard in your browser
When you access http://localhost/dashboard/ in your browser, a page called "Welcome to XAMPP for Windows 8.2.12" is displayed, confirming that Apache, MariaDB, PHP, and Perl are all working correctly. You can go to FAQ, HOW-TO guide, PHPInfo, and phpMyAdmin from the menu at the top of the screen.

5. Check the database status with phpMyAdmin
Also from the menu, when you access http://localhost/phpmyadmin/, the phpMyAdmin administration screen is displayed. You can check the information on the server that is actually running in the "Database Server" column.

| Item | value |
|---|---|
| server | 127.0.0.1 via TCP/IP |
| Server type | MariaDB |
| server version | 10.4.32-MariaDB |
| user | root@localhost |
| Apache version | Apache/2.4.58 (Win64) OpenSSL/3.1.3 |
| PHP version | 8.2.12 |
If this screen is displayed, you can confirm that Apache, MariaDB, and PHP are all working together.
Precautions for safe use
XAMPP is a package that makes local development, learning, and verification easy. It is not suitable for publishing directly to the Internet, assuming initial settings and account configuration.
- Do not open ports on the router or allow reception from the cloud side.
- Stop Apache or MariaDB from the Control Panel when not in use
- Do not expose phpMyAdmin to external networks
- Do not enter real data or production passwords into the verification environment
- Even when accessing from within the LAN, reduce the permission range of the Windows firewall to the minimum necessary.
Troubleshooting
The two main reasons why Apache does not start are insufficient privileges on the installation destination and port conflicts.
- If installed under
C:\Program Files: Write permissions may be restricted by UAC, causing failure to start Apache or change module settings. As in steps 3 and 4, the basic approach is to install directly underC:\xampp, a drive location unlikely to be subject to UAC restrictions. - If port 80/443 is already in use: XAMPP Control Panel fails to start Apache if Skype, IIS, other web servers, etc. are using the same port. This can be resolved by closing other applications, or by changing the port number on the XAMPP side (via Config, by editing
httpd.conf). - If port 3306 is already in use: If a separately installed MySQL service is running on the PC, MariaDB will also fail to start. This can be resolved by stopping the relevant service, or by changing the port number on the MariaDB side in
my.ini.
Reference materials
Summary
| Item | Content |
|---|---|
| Distributor | Apache Friends official website (apachefriends.org) |
| Compatible version example | XAMPP 8.0.30/8.1.25/8.2.12 |
| The version introduced this time | XAMPP 8.2.12(PHP 8.2.12) |
| Installation destination | C:\xampp |
| Main components | Apache, MariaDB (MySQL compatible), PHP, Perl, phpMyAdmin |
| Apache version | 2.4.58(Win64) |
| MariaDB version | 10.4.32 |
| Operation confirmation URL | http://localhost/dashboard/、http://localhost/phpmyadmin/ |
| management tools | XAMPP Control Panel v3.3.0 |
With XAMPP, you can quickly build a local web development environment that integrates Apache, MariaDB, and PHP by simply following the installer's instructions. As long as you keep in mind the installation location, firewall permissions, and port conflicts, you can operate stably as a local verification environment using a Windows PC.
Related Articles
-
How to Install nvm-windows on Windows 10 and 11
-
How to Install and Switch Between Node.js and npm Versions with nvm on Windows
-
How to Install VS Code on Windows 10 and 11
-
How to Set the XAMPP root Password to root to Match MAMP
-
How to Configure AllowOverride in Apache and Enable .htaccess
-
Why Commands After npm Do Not Run in Windows Batch Files and How to Use call