XAMPP is free and easy to install Apache distribution. It acronyms to Cross-Platform (X), Apache (A), MariaDB (M), PHP (P), and Perl (P). This provides a complete web development environment. You can easily install XAMPP on Windows and Linux OS.
Below are the installation steps for Windows,
- Download the latest XAMPP installer. The current version is 7.1.27, 7.2.16 & 7.3.3 at the time of writing this article.
- It is a wizard-driven installer. Double-click on Installer.
- Follow the on-screen instructions. Do not change any default value.
- Click next to install it.
XAMPP Control Panel
XAMPP Control panel (v3.2.2) is a plain, simple interface for XAMPP that helps you to Start/Stop, Administer, and configure services like Apache, MYSQL, FileZilla, Mercury, and Tomcat. You can also change ports, monitor services, start a shell, view logs, etc.
The interface is simple. There is a module list along with Start, Admin, Config, and Logs buttons along with advanced control options on the right-hand side.
Below is the default XAMPP dashboard.
The functionality of different control buttons.
- Start – Use this button to Start and Stop the respective module/service.
- Admin – Use this button to open the admin or application console for the respective module.
- Config – Use this button to open configuration files like httpd.conf, my.ini, mercuri.ini
- Logs – Use this button to open log files like access.log, error.log
How to use the XAMPP Control Panel
Go to Start search for XAMPP and select the XAMPP Control panel to start it in Windows.
Now, click the start button for the respective module/service to start the service. As soon as you click the Start Button, the module background turns green, and Ports and PIDs get populated. This means the service is started successfully. The caption of the button changes to Stop. Use the same button to stop service.
XAMPP also shows the log (Check image) like,
Attempting to start Apache app…
Status change detected: running.
Sample Log below
12:03:09 PM [main] Initializing Control Panel 12:03:09 PM [main] Windows Version: Windows 8.1 Enterprise 64-bit 12:03:09 PM [main] XAMPP Version: 5.6.28 12:03:09 PM [main] Control Panel Version: 3.2.2 [ Compiled: Nov 12th 2015 ] 12:03:09 PM [main] You are not running with administrator rights! This will work for 12:03:09 PM [main] most application stuff but whenever you do something with services 12:03:09 PM [main] there will be a security dialogue or things will break! So think 12:03:09 PM [main] about running this application with administrator rights! 12:03:09 PM [main] XAMPP Installation Directory: "c:\xampp\" 12:03:09 PM [main] Checking for prerequisites 12:03:11 PM [main] All prerequisites found 12:03:11 PM [main] Initializing Modules 12:03:11 PM [main] Starting Check-Timer 12:03:11 PM [main] Control Panel Ready 12:03:13 PM [Apache] Attempting to start Apache app... 12:03:13 PM [Apache] Status change detected: running 12:03:14 PM [mysql] Attempting to start MySQL app... 12:03:22 PM [mysql] Status change detected: running
The log also shows an error message in case the respective service is not started. You can use the log to understand errors and debug.
1. Manage Apache Module
Apache(httpd) is a cross-platform HTTP, open-source Server. It is available for operating systems including UNIX and Windows. It is a secure, efficient, and extensible server that provides HTTP services as per current HTTP standards.
This section covers how to start/stop, configure and view logs for Apache Module.
Click the Admin button to open a dashboard as shown below. Use this interface to open the Applications, PhpInfo, and PhpMyAdmin modules. The links are at the right-hand top right corner( see the image below).
- Applications – It shows a list of all applications installed and links to access those. You can install different applications like WordPress, Joomla, and Moodle. Here it shows the information of the app with a clickable link to open it.
- FAQ – This is a frequently asked question section. This section has some common questions and answers.
- How-to Guides – This is the how-to guide section. It has good documents that show how to use XAMPP.
- PHPInfo – This shows information like PHP version, Apache configuration, environment, etc
- phpMyAdmin – This is a control panel for phpMyAdmin. It helps in administrating MySQL. You can create a database, table, users, and query database.
This option allows you to modify the configuration of the Apache module. Just click the Config button and it opens a popup showing a list of all configuration files.
Click the Individual file to open and edit it.
List of the available config files,
- Apache (httpd.conf) – This is the main Apache HTTP server configuration file. It contains the configuration directives that give the server its instructions.
- Apache (httpd-ssl.conf) – This is the Apache server configuration file providing SSL support. It contains the configuration directives to instruct the server on how to serve pages over an HTTPS connection.
- Apache (httpd-xampp.conf) – This is the XAMPP Setting file.
- PHP (php.ini) – PHP’s initialization file, generally called php.ini, is responsible for configuring many of the aspects of PHP’s behavior.
- phpMyAdmin (config.inc.php) – This is needed for cookie-based authentication to encrypt the password in the * cookie.
There are some <Browse> commands that actually open the respective file location in separate Windows Explorer.
How to change the configuration?
- Click the button to open the config file.
- Modify and save it.
- Restart the respective service to make sure changes are reflected.
This section list links to all log files. Click on the button to see a list of the available log files for the Apache module. Refer to this file if you face any issues with the respective service.
List of the available log files for Apache,
- Apache (access.log)
- Apache (error.log)
- Php (php_error_log)
2. Manage MySQL Module
MySQL is an open-source relational database management system. This covers MySQL options. XAMPP now comes with MariaDB instead of MySQL. Nothing changes for the end-user as MariaDB is an enhanced, drop-in replacement for MySQL and is available under the terms of the GPL v2 license
This opens a phpMyAdmin dashboard as explained above. This is the graphical interface to work with the MariaDB database. You can query, update, and delete from the database using it.
Note: Don’t modify anything unless you understand what you are doing.
This opens the my.ini control file for the MariaDB Module. Use this control file to modify different parameters like port, and memory setup for MariaDB Service.
3. Manage FileZilla
XAMPP comes with the FTP client FileZilla. This is a free, and open-source FTP client available for Windows, Mac, Linux, and other operating systems. Refer to this article to install FileZilla on Ubuntu Linux Distribution.
This section covers those options to manage the FileZilla module.
Click the Admin button to open the Connect to Server box as shown below. Enter the Server Address(IP Address) Administration Password and Port(Defaulted from the config file) to connect to the remote system.
Click the OK button.
This should open the below interface using which you can transfer files to the remote system.
This opens the FileZilla Server.xml configuration file where you can change the default port. Below is the sample file.
<FileZillaServer> <Settings> <Item name="Admin port" type="numeric">14147</Item> </Settings> </FileZillaServer>
This opens the FileZilla log file.
4. Manage Mercury – mail server
Mercury Mail Transport System (Mercury MTS) is a mail server. It is feature-rich, extremely standards-compliant, and supports all major Internet mail-related protocols. It is complex to install as a standalone server, but XAMPP comes with an easy-to-use and maintained Mercury Server.
This section covers those options to manage the Mercury module.
This open Mercury control panel for HTTP, POP3, PopPass, IMAP4, PH, and Finger Server is shown below.
This opens the mercury.ini configuration file. This file contains all setup information like protocol supported, localhost information, Delivery failure notification template, Delivery confirmation template, Mail Delivery Queue, etc.
This opens the logs file for Mercury.
5. Manage Tomcat
Apache Tomcat often referred to as Tomcat Server, is an open-source Java Servlet Container developed by the Apache Software Foundation. It is an open-source implementation of the Java Servlet, JavaServer Pages, Java Expression Language, and Java WebSocket technologies.
This section covers those options to manage the Tomcat module.
This should open the Tomcat control panel as shown below.
Use this button to open the Tomcat configuration file.
List of the configuration file,
Use this button to browse the log file.
As a normal user, you only work on the basic control operation mentioned above. Only change the below option if you face any issues with XAMPP.
XAMPP Advance Control Option
The toolbar on the right-hand side is for the advanced user to troubleshoot any issues with XAMPP. Please don’t change any default setup, unless it is not working.
These controls open some advanced options that are self-explanatory.
It opens the advanced configuration panel like this.
You can use this control to set,
- Editor – default is Notepad. You can change to any other preferred text editor like Notepad++, TextPad, etc. Just click on Browse and select the required editor.
- Browser – default browser to use. Empty means, it uses Windows default. You can change it if you like to use a different browser like Chrome, Firefox, Safari, etc. Click on browse and select the required.
- AutoStart of modules – You need to explicitly click on the start button to start the service. Specify the service that you want to start automatically as soon as XAMPP starts.
- Change Language – Use to select the language. English and German option is available.
- User-Defined Files – Use it to specify user-defined control and log files for the modules.
- Log Options – This allows you to change the log file font and font size. The default font is Arial with size 10.
- Service and Port Setting –
- Each service uses the default port e.g. Apache on port 80. More than one service cannot run on the same port. If you have some other server running and port 80 is not available you can change it here. Make sure to restart the service.
Netstat – Displays active TCP connections, and ports on which the computer listens.
Shell – Start XAMPP on MS-DOS mode
Explore – Open Windows Explorer
Service – Open Windows services panel
Help – Reference to help document
Quit – Quit XAMPP
This article explained how to use the XAMPP control panel to start/stop, and administer/ configure services like Apache, MYSQL, FileZilla, Mercury, and Tomcat with just a click of a button.
I hope you have a better understanding of the control panel and how to work with different modules.
Please share and subscribe if you liked the article.