How do I install XAMPP for Mac OS X? To install XAMPP, follow these steps: Open the DMG-Image. Double-click the image to start the installation process. XAMPP is now installed below the /Applications/XAMPP directory. Does XAMPP include MySQL or MariaDB? Since XAMPP 5.5.30 and 5.6.14, XAMPP ships MariaDB instead of MySQL. Looking for safe Xampp For Mac download links? Learn more about free and legal ways to download the program in 2021. XAMPP is an open source and free web based web server implementation package, written in PHP, based on the Apache web hosting platform.

  1. Xampp For Mac Os X
  2. Xampp For Mac
  3. 3,186 3,186 Weekly Downloads
  4. How To Install Xampp On Mac OS X
  5. See Full List On Sourceforge.net

XAMPP for Mac is an easy to install Apache distribution for Mac OS X, Windows, Linux and Solaris. The package includes the Apache web server, MySQL, PHP, Perl, a FTP server and phpMyAdmin. XAMPP for Mac has been designed to be the easiest way to install and run a development server. XAMPP is a free and open-source, cross-platform web server solution stack which is developed by Apache Friends. XAMPP supports most of the operating systems including Windows, MacOS and Ubuntu. It stands for Cross-Platform (X), Apache, MySQL, MariaDB, PHP and Perl which are also the main components of the stack package. XAMPP For Mac v7.4.14 Best Apache, PHP, MySQL, and Perl all in one package For Mac. Download XAMPP is a free program mainly used for the programmer who uses to develop programs of a different kind. I used to make various programs when I had nothing to do, and I aimed to work online.

A web site located on a local computer is accessed in a browser through the URL localhost and normally served by a local Apache server. There are two parts to this process. The first is the resolution of the name localhost to the IPv4 loopback address which is configured in the local computer’s hosts file.

On macOS this is /private/etc/hosts:
The /private/etc/hosts file on macOS

Throughout the remainder of this article the URL localhost is synonymous with http://localhost, and

The second part is the configuration of the local Apache server to tell it where to locate and serve the web site’s files. This location is known as the DocumentRoot and is normally configured in a file named httpd.conf. The location of this file will differ depending on how your computer provides a local Apache environment. For XAMPP this is /Applications/XAMPP/xamppfiles/etc/httpd.conf and below is part of that file showing the default DocumentRoot configuration:


The default DocumentRoot configuration in /Applications/XAMPP/xamppfiles/etc/httpd.conf

For requests to localhost, the Apache server in XAMPP serves the file index.php located in the DocumentRoot folder /Applications/XAMPP/xamppfiles/htdocs/:

Redirecting to localhost/dashboard in /Applications/XAMPP/xamppfiles/htdocs/index.php

Line 8 of index.php performs a redirect from localhost to localhost/dashboard/ where Apache serves the XAMPP Welcome Page generated by the file index.html located in /Applications/XAMPP/xamppfiles/htdocs/dashboard/:

To have Apache serve your own web site content there are two main options. The first is to place it within the default DocumentRoot. The second is to place it outside of the default DocumentRoot and use the Alias directive to map a URL to this location.

How to install, start and test XAMPP on Mac OSX   Webucator

In the following examples, the generic index.php file below is placed within the DocumentRoot or aliased location and simply displays its name and location within the server’s folder structure:

Generic index.php used in examples

1. Place Web Site Content Within the DocumentRoot

Perhaps the easiest option – and the one requiring least change – is to place your web site content within the default DocumentRoot folder /Applications/XAMPP/xamppfiles/htdocs/ remembering to replace, rename or delete the existing index.php there.

A request to localhost then serves the following page:

An alternative is to re-define the DocumentRoot configuration in /Applications/XAMPP/xamppfiles/etc/httpd.conf to point to another folder and place your web site content in this new location. This folder does not have to be within the /Applications/XAMPP/ folder structure. Below the DocumentRoot is changed to /User/steve/Sites/mysite:

Re-defining the DocumentRoot configuration in /Applications/XAMPP/xamppfiles/etc/httpd.conf

A request to localhost now serves the following page:

2. Place Web Site Content Outside the DocumentRoot

There’s another pre-defined location within XAMPP where you can place your site files. This is /Applications/XAMPP/xamppfiles/apache2/htdocs/. Navigating to the end of the Apache configuration file /Applications/XAMPP/xamppfiles/etc/htppd.conf we see:

Referencing additional configuration files in /Applications/XAMPP/xamppfiles/etc/htppd.conf

Below is the /Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf file passed as an argument to the Include statement on line 523:

Mapping a URL to a directory in /Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf file

On lines 1 and 2 the Alias directive is used to map a URL containing /bitnami/ or /bitnami to /Applications/XAMPP/xamppfiles/apache2/htdocs/ or /Applications/XAMPP/xamppfiles/apache2/htdocs respectively, allowing Apache to serve files outside of the DocumentRoot. As such, a request to localhost/bitnami should cause Apache to serve /Applications/XAMPP/xamppfiles/apache2/htdocs/index.html.

However out-of-the box, a request to localhost/bitnami results in a 403 Forbidden error:

To understand why this is happening let’s take a look at another section of the Apache configuration file /Applications/XAMPP/xamppfiles/etc/htppd.conf:

Xampp For Mac Os X

Denying access to the server’s entire filesystem in /Applications/XAMPP/xamppfiles/etc/htppd.conf

Using Require all denied, access to the server’s entire filesystem is forbidden and only granted to named directories if explicitly given. As an example, Require all granted explicitly grants access to /Applications/XAMPP/xamppfiles/htdocs as part of the Directory block on line 259 of /Applications/XAMPP/xamppfiles/etc/htppd.conf.

Explicitly granting access to an individual directory in /Applications/XAMPP/xamppfiles/etc/htppd.conf

However, if we look again at /Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf there is no Require all granted. Instead we see Order allow,deny and Allow from all:

The deprecated Order and Allow directives in /Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf

The Order and Allow directives are provided by Apache’s mod_access_compat module and as of Apache v2.4 have been deprecated in favour of the Require directive provided by the mod_authz_host module. Both of these modules are loaded by XAMPP so either Order allow,deny together with Allow from all or Require all granted by itself should work, but the Apache documentation states:

Mixing old directives like Order, Allow or Deny with new ones like Require is technically possible but discouraged. mod_access_compat was created to support configurations containing only old directives to facilitate the 2.4 upgrade. Please check the examples below to get a better idea about issues that might arise.

Let’s replace the Order and Allow directives with a single Require directive:

Xampp For Mac

Replacing the deprecated Order and Allow directives with the Require directive in /Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf

A request to localhost/bitnami/ now serves the following page:

As an alternative, we can map a new URL to a new location by adding the configuration to the existing /Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf file:

Mapping another URL to a new location in /Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf

A request to localhost/steve/ serves the following page:

Whenever changes are made to Apache’s configuration files the Apache server has to be re-started1 for the changes to take effect. You can start, stop and restart the Apache server using the Manage Servers tab of XAMPP‘s Application Manager:

3,186 3,186 Weekly Downloads

If you prefer, the Apache server can be managed from the command line in Terminal.

To stop the Apache server type:

To start the Apache server type:

How To Install Xampp On Mac OS X

To re-start1 the Apache server type:

1 If the Apache server is running, apachectl graceful doesn’t first stop and then start the server, it simply reloads the configuration files. If the Apache server is not running, apachectl graceful attempts to start it.

By default, XAMPP has no passwords set and it is not recommended to run XAMPP with this configuration as it is accessible to others.

See Full List On Sourceforge.net


Simply type the following command (as root) to start a simple security check:

sudo /Applications/XAMPP/xamppfiles/xampp security

Now you should see the following dialog on your screen:

XAMPP: Quick security check..
XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
XAMPP: Turned off.
XAMPP: Stopping MySQL..
XAMPP: Starting MySQL..
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the passworde somewhere down to make sure you won't forget it!!!
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Setting new MySQL root password.
XAMPP: Setting phpMyAdmin's root password to the new one.
XAMPP: The FTP password for user 'nobody' is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Reload ProFTPD..
XAMPP: Done.

(1) Setting a password will protect the XAMPP demo pages (http://localhost/xampp/) using this password. The user name is 'lampp'!

After running this command, your XAMPP installation should be more secure.