XAMP
is a popular software that provides some tools to run a website. These tools names first letters created the XAMP where X is used for both Linux and Windows, A for Apache Webserver, M for MySQL Database Server, P for PHP Programming Language and Interpreter. Also, some extra tools are provided to complement Apache, MySQL, and PHP. These tools are OpenSSL, FileZilla, Tomcat, phpMyAdmin etc.
What makes XAMP special is that it provides all of these different tools as a bundle and easy to install way. With a single XAMP download and install all of these tools and applications will be installed. All of these tools inside the XAMP are free and opensource projects which costs nothing.
Download XAMP
XAMP installer can be downloaded from the following link which is provided by the Apache Friends
project. The download page provides different installer options.
https://www.apachefriends.org/download.html
XAMP is provided for the operating systems Windows, Linux and MacOS X. So the X letter will set for the operating system we want to use for example XAMP for Windows will be WAMP
or Linux will be LAMP
etc. The XAMP is only provided as 64-bit where Apache, MySQL, PHP Components are 64 bit too. The XAMP version is mainly related with the PHP version where the XAMP version will be the same the PHP installer version provided for the given XAMP installer.

For this example, we will download and install the latest XAMP for the Windows operating system. So we will use the following link to download XAMP version 7.2.29 for the Windows 64-bit. The download size may change according to version but in general, the size of the XAMP installer file named xampp-windows-x64-7.4.4-1-VC15-installer
is about 150 MB.
https://www.apachefriends.org/xampp-files/7.2.29/xampp-windows-x64-7.2.29-1-VC15-installer.exe

Install XAMP
We will start the installation process by double clicking the XAMP installer. If we are using Windows 10 with the SmartScreen endpoint security enabled we will see the followinconfirmation screen. We will click to the Run
button to start installation.

As we will install some applications into windows the installation requires some Administrative pirivelges which will be given with the followin confirmation for the User Account Control. We will simply click to the Yes
to continue installation.

XAMP is a project which is supported and co-provided by the Bitnami. So the start screen of the XAMP installation provides this information where we will click to Next
.

Next step is the most important step where we will select the components we want to install. The components are divided into 2 categories named Server
, Program Languages
. By default all of these components are selected for installation which is the best practice. Apache Web Server and PHP Programming language installation is must and all other components including MySQL are optional.

In this step, we will specify the installation path of the XAMP. The default installation path is C:\xamp
where all binaries will be installed as well as the default web site files storage location. Alternatively, we can specify the different paths of partitions to install XAMP.

In this screen we will set the XAMP Control Panel language which is English
but the only alternative is German langauge.

This step is the previous step before the installation starts. We can get more information about the Bitnami for XAMP by checking the given checkbox and clicking Next
.

In this screen we will just click to Next
which will start copying and installation of the XAMP components.

This step will take some time where the XAMP components Apache, MySQL, PHP and others will be installed.

At the end of the Setup process, we will be asked for Firewall configuration to enable Apache HTTP ports 80 and 443 with the following screen. We will just click the Allow access
to allow access to these ports from other computers. If not these ports will be only accessible from the localhost.

When the setup is completed we will see the following screen where we can open the XAMP Control Panel
.

XAMP Control Panel
XAMP bundle is controlled with the XAMP Control Panel. XAMP Control provides the following screen where the services are listed and actions like Start
, Admin
,Config
and Logs
for each service. In the following example, the Apache Web Server service is working with the process id 156 and listening for the ports 80 and 443. The MySQL service does not run currently but can be started with the Start
button. As you expect the service can be stopped with the Stop
button.

XAMP Configuration
The configurations about the service can be listed, edited from the Config
buttons where available configuration files are list. For example, the Apache configurations can be listed like below where different configuration files are provided like httpd.conf
, httpd-ssl.conf
, httpd-xampp.conf
, php.ini
, config.inc.php
.

XAMP Log
The Apache and MySQL Services logs the actions about the service, requests, errors, warnings, etc. These log files are can be stored in a single log file or multiple log files according to the log event type. Apache Web Server service provides the following log files.

access.log
provides events and information about the webserver access requests and response. We can see that information like date, time, the request method, requested URL, HTTP response code, response size the client web browser information are logged by default,

error.log
provides the error logs where all minor and major errors are listed. Information like date, time, error type, process id, error code, error details are listed in the error.log file of the Apache Web Server.

Create a PHP Webpage For XAMP
The web page scripts, code, tags, style files like HTML, PHP, JavaScript, CSS, images etc are stored in the XAMP installation path under the htdocs
directory. In this case which full path is C:\xampp\htdocs
. We can see that there are some default files which is a test page for the Apache and PHP.

We will create a new PHP file named poftut.php
which can be also created by copying the index.php
file and renaming it to poftut.php. Then put the following PHP test code into the poftut.php with your favorite text editor or regular windows notepad application.
<?php
echo "This is POFTUT test page";
?>

Now we have created our test web page. Now we will open these web pages with the web browser. We will open our web browser, in this case, I use Google Chrome and then navigate to the URL localhost/poftut.php
which will run our newly created code inside the poftut.php file.
