Xampp Git

Posted on  by admin

XAMPP is the most popular PHP development environment XAMPP is a completely free, easy to install Apache distribution containing MariaDB, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to use. Step 4: Create a test project folder named myproject inside your normal WAMP/XAMPP webroot/htdocs folder or google drive webroot folder mentioned above (Although you can git-manage any folder anywhere on the drive but naturally we want to git-manage projects that we run from webroot/htdocs folder).

XAMPP is one of the widely used cross-platform web servers, which helps developers to create and test their programs on a local webserver. It was developed by the Apache Friends, and its native source code can be revised or modified by the audience. It consists of Apache HTTP Server, MariaDB, and interpreter for the different programming languages like PHP and Perl. It is available in 11 languages and supported by different platforms such as the IA-32 package of Windows & x64 package of macOS and Linux.

What is XAMPP?

XAMPP is an abbreviation where X stands for Cross-Platform, A stands for Apache, M stands for MYSQL, and the Ps stand for PHP and Perl, respectively. It is an open-source package of web solutions that includes Apache distribution for many servers and command-line executables along with modules such as Apache server, MariaDB, PHP, and Perl.

XAMPP helps a local host or server to test its website and clients via computers and laptops before releasing it to the main server. It is a platform that furnishes a suitable environment to test and verify the working of projects based on Apache, Perl, MySQL database, and PHP through the system of the host itself. Among these technologies, Perl is a programming language used for web development, PHP is a backend scripting language, and MariaDB is the most vividly used database developed by MySQL. The detailed description of these components is given below.

Components of XAMPP

As defined earlier, XAMPP is used to symbolize the classification of solutions for different technologies. It provides a base for testing of projects based on different technologies through a personal server. XAMPP is an abbreviated form of each alphabet representing each of its major components. This collection of software contains a web server named Apache, a database management system named MariaDB and scripting/ programming languages such as PHP and Perl. X denotes Cross-platform, which means that it can work on different platforms such as Windows, Linux, and macOS.

Many other components are also part of this collection of software and are explained below.

  1. Cross-Platform: Different local systems have different configurations of operating systems installed in it. The component of cross-platform has been included to increase the utility and audience for this package of Apache distributions. It supports various platforms such as packages of Windows, Linus, and MAC OS.
  2. Apache: It is an HTTP a cross-platform web server. It is used worldwide for delivering web content. The server application has made free for installation and used for the community of developers under the aegis of Apache Software Foundation. The remote server of Apache delivers the requested files, images, and other documents to the user.
  3. MariaDB: Originally, MySQL DBMS was a part of XAMPP, but now it has been replaced by MariaDB. It is one of the most widely used relational DBMS, developed by MySQL. It offers online services of data storage, manipulation, retrieval, arrangement, and deletion.
  4. PHP: It is the backend scripting language primarily used for web development. PHP allows users to create dynamic websites and applications. It can be installed on every platform and supports a variety of database management systems. It was implemented using C language. PHP stands for Hypertext Processor. It is said to be derived from Personal Home Page tools, which explains its simplicity and functionality.
  5. Perl: It is a combination of two high-level dynamic languages, namely Perl 5 and Perl 6. Perl can be applied for finding solutions for problems based on system administration, web development, and networking. Perl allows its users to program dynamic web applications. It is very flexible and robust.
  6. phpMyAdmin: It is a tool used for dealing with MariaDB. Its version 4.0.4 is currently being used in XAMPP. Administration of DBMS is its main role.
  7. OpenSSL: It is the open-source implementation of the Secure Socket Layer Protocol and Transport Layer Protocol. Presently version 0.9.8 is a part of XAMPP.
  8. XAMPP Control Panel: It is a panel that helps to operate and regulate upon other components of the XAMPP. Version 3.2.1 is the most recent update. A detailed description of the control panel will be done in the next section of the tutorial.
  9. Webalizer: It is a Web Analytics software solution used for User logs and provide details about the usage.
  10. Mercury: It is a mail transport system, and its latest version is 4.62. It is a mail server, which helps to manage the mails across the web.
  11. Tomcat: Version 7.0.42 is currently being used in XAMPP. It is a servlet based on JAVA to provide JAVA functionalities.
  12. Filezilla: It is a File Transfer Protocol Server, which supports and eases the transfer operations performed on files. Its recently updated version is 0.9.41.

XAMPP Format Support

XAMPP is supported in three file formats:

Xampp Git
  • .EXE- It is an extension used to denote executable files making it accessible to install because an executable file can run on a computer as any normal program.
  • .7z - 7zip file- This extension is used to denote compressed files that support multiple data compression and encryption algorithms. It is more favored by a formalist, although it requires working with more complex files.
  • .ZIP- This extension supports lossless compression of files. A Zipped file may contain multiple compressed files. The Deflate algorithm is mainly used for compression of files supported by this format. The .ZIP files are quite tricky to install as compared to .EXE

Thus .EXE is the most straightforward format to install, while the other two formats are quite complicated and complex to install.


Before going through XAMPP tutorial in-depth, you must have a fundamental knowledge of web development languages like HTML, and PHP.


Our XAMPP tutorial is designed for the aspirants who want to test their website or application on a localhost webserver. This tutorial will help those who want to build their career as a front end or web developer.


We assure you that it will resolve all your queries related to XAMPP, and you will not find any problem in this tutorial. Still, if there is any mistake or discrepancy, please post the problem in the contact form.

Next TopicInstallation process of XAMPP

  • Having set up the XAMPP package (see www.apachefriends.org)
  • Having set up Git on Windows (see http://git-scm.com)
  • Basic Git knowledge
  • Starting and stopping the Apache webserver

All code examples below starting with $ ... have to be executed in the Git Bash shell.

On the XAMPP server, the webroot by default is in C:xampphtdocs.

Create a new directory for git repositories below the webroot:

Creating an Apache Password File

  • The following code creates the password file with the username paultester:

Adding Git Settings

XAMPP splits its Apache configuration settings into a main httpd.conf file and some extra files for special purposes.

Xampp Github Download

  • Ensure mod_cgi, mod_alias, and mod_env are enabled (httpd.conf).
  • Create a new file C:xamppapacheconfextrahttpd-git.conf:
  • Edit the httpd.conf file and append including the new extra config file:
  • Restart Apache

Creating a local repository

Xampp Git Clone

  • Switch to your development PC
  • Create an environment variable HOME which points to your home directory, e.g. C:Userspaultester
  • Add the remote in your local repository
  • Replace with the webserver's hostname:
  • Add some code to your repository:
  • Push the repo to the webserver:
  • Continuously monitor the apache access and error log files:

Xampp Gitlab

To avoid to always enter the password, create a filer _netrc ├Čn your %HOME% directory:

Install Xampp Github

  • Replace <servername> with the webserver's hostname and <paulspassword> with your password.

Xampp Github

If you use a proxy to access the internet, but don't require one to access the webserver holding the remote rpositories, add this to your local repo's `.git/config``file:

Xampp Git Server

  • Make Git acceppting your _netrc file (stackoverflow): here and here