It installs Apache, PHP and other XAMPP components directly on your OS X system, in the /Applications/XAMPP folder. How do I install XAMPP for Mac OS X? To install XAMPP, follow these steps. To start XAMPP simply open XAMPP Control and start Apache, MySQL and ProFTPD. The name of the XAMPP Control is 'manager-osx'. The MAMP package includes the Apache web server, PHP engine, and MySQL database. Mac OS X 10.5 and later include the MySQL database and Apache server with PHP support. While it certainly is possible to configure the built-in database and server with the IDE, MAMP’s all-in-one bundle provides a convenient and easily configurable solution.
macOS Update: While these instructions still work, there are new posts for recent versions of macOS, the latest being Install Apache, PHP, and MySQL on macOS Mojave.
PHP Update: Mac OS X Yosemite comes pre-installed with PHP version 5.5 which has reached its end of life. After you complete this post, you should upgrade PHP on Mac OS X.
I recently upgraded to Mac OS X Yosemite. It seems Mac OS X Yosemite makes my original post on installing Apache, PHP, and MySQL on Mac OS X obsolete. Specifically, Yosemite includes Apache 2.4. This post is a complete update for installing Apache, PHP, and MySQL on Mac OS X Yosemite.
A reminder that Mac OS X runs atop UNIX. So most UNIX software installs easily on Mac OS X. Furthermore, Apache and PHP come packaged with Mac OS X. To create a local web server, all you need to do is enable them and install MySQL.
I am aware of the web server software available for Mac OS X, notably MAMP. These get you started quickly. But they forego the learning experience and, as most developers report, can become difficult to manage.
Getting Started
First, open the Terminal app and switch to the
root
user to avoid permission issues while running these commands.Enable Apache on Mac OS X
Verify It works! by accessing http://localhost
Enable PHP for Apache
First, make a backup of the default Apache configuration. This is good practice and serves as a comparison against future versions of Mac OS X.
Now edit the Apache configuration. Feel free to use TextEdit if you are not familiar with vi.
Uncomment the following line (remove
#
):Restart Apache:
You can verify PHP is enabled by creating a
phpinfo()
page in your DocumentRoot
.The default
DocumentRoot
for Mac OS X Yosemite is /Library/WebServer/Documents
. You can verify this from your Apache configuration.![Apache Mysql For Mac Apache Mysql For Mac](/uploads/1/1/9/4/119407122/785246106.png)
Apache Mysql Php Mac Mojave
Now create the
phpinfo()
page in your DocumentRoot
:Verify PHP by accessing http://localhost/phpinfo.php
Install MySQL on Mac OS X
Note: If you are upgrading MySQL you should skip this section and instead read this.
- Download the MySQL DMG for Mac OS X
- Install MySQL
The README suggests creating aliases for
mysql
and mysqladmin
. However there are other commands that are helpful such as mysqldump
. Instead, I updated my path to include /usr/local/mysql/bin
.Note: You will need to open a new Terminal window or run the command above for your path to update.
I also run
mysql_secure_installation
. While this isn't necessary, it's good practice.Connect PHP and MySQL
You need to ensure PHP and MySQL can communicate with one another. There are several options to do so. I do the following:
Additional Configuration (optional)
The default configuration for Apache 2.4 on Mac OS X seemed pretty lean. For example, common modules like
mod_rewrite
were disabled. You may consider enabling this now to avoid forgetting they are disabled in the future.I edited my Apache Configuration:
I uncommented the following lines (remove
#
):Note: Previous version of Mac OS X ran Apache 2.2. If you upgraded OS X and previously configured Apache, you may want to read more about upgrading to to Apache 2.4 from Apache 2.2.
If you develop multiple projects and would like each to have a unique url, you can configure Apache VirtualHosts for Mac OS X.
If you would like to install PHPMyAdmin, return to my original post on installing Apache, PHP, and MySQL on Mac OS X.
Find this interesting? Let's continue the conversation on Twitter.
By default, XAMPP has no passwords set and it is not recommended to run XAMPP with this configuration as it is accessible to others.
Simply type the following command (as root) to start a simple security check:
sudo /Applications/XAMPP/xamppfiles/xampp security
Apache Mysql Php
Now you should see the following dialog on your screen:
![Macos Macos](/uploads/1/1/9/4/119407122/392827762.png)
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'!
Install Apache Mysql
After running this command, your XAMPP installation should be more secure.