April 18, 2024

Install Apache, MySQL, PHP on macOS

I have been always playing with the Apache, PHP, and MySQL every time but since when I switched to Mac and wanted to make a web development environment on my Mac. So the first step is to install Apache, PHP, and MySQL.

Install Apache for Mac OS

Since Mac OS is ultimately built on Unix so it is very to install any Unix supporting software. The most interesting part is that Mac OS comes with the Apache web server and we just need to start it and make some changes to setup our development environment.

Now, We need to start the apache server with root privileges to avoid permission issues.

Therefore, just launch the terminal type the command as follows:-

apachectl start

After starting Apache – test to see if the webserver is working in the browser – http://localhost – you should see the “It Works!” text.

Creating Apache VirtualHosts

The default location for Apache webserver project files is /Library/WebServer/Documents/. In this location, you all can create your application in order to host your web applications.

To enable VirtualHosts, we need to make some changes in the Apache Configuration file (httpd.conf).

# vi /etc/apache2/httpd.conf
<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    DocumentRoot "/Users/Apple/CODE/example.com"
    ServerName example.com
    ServerAlias www.example.com
    ErrorLog "/private/var/log/apache2/example.com-error_log"
    CustomLog "/private/var/log/apache2/example.com-access_log" common
        <Directory "/Users/Apple/CODE/example.com">
                AllowOverride All
                Order allow,deny
                Allow from all

Make sure that you change your DocumentRoot, ServerName and Directory location according to your needs.

Now your VirtualHosts setup is done now, just restart the apache with command

# apachectl restart

Install PHP on Mac OS X

In order to install PHP, in Mac OS you will just need to enable PHP support for Apache, i.e, to need to make changes in its (httpd) configuration file.

Open httpd.conf file with the command as follows:-

# vi /etc/apache2/httpd.conf

Uncomment below the line and save it.

LoadModule php7_module libexec/apache2/libphp7.so

Now restart the server and it should be able to process PHP files. To test it we can create a simple PHP file as below.

Create test.php file in the /Library/WebServer/Documents/ directory with the following lines of code as shown below and save it.

echo phpinfo();

Load the PHP file in browser with URL http://localhost/test.php and you should see a huge page with all the PHP configurations as shown below:-

Congrats now you have successfully installed PHP on your Mac OS.

Installing MySql on Mac OS

Installing MySQL in Mac OS is very simple you will just have to download MySQL dmg file from the MySQL website and just press next, next in order to install.

Download the MySql DMG file from MySql Download Website.

Open the DMG file and install MySql server

Start the MySql server if it’s not running and you can find MySQL in system preferences.

Click on MySQL and you will see the screen as below:-

If you want to control MySQL through your terminal then you will have to add MySQL directory to your shell path, this is done in your “.bash_profile” file in your home directory if you don’t have that file just create it using vi or nano:

open that “.bash_profile” and add the following line and save it.

export PATH=${PATH}:/usr/local/mysql/bin/

Now, you can access MySQL through your terminal, in order to check just type the command as follows:-

# mysql -u root -p

Now, you have successfully connected your MySQL server through your terminal.

If you want to change the MySQL root password then just login to MySQL and the query as follows:-

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Change the lowercase ‘MyNewPass’ to what you want – and keep the single quotes.

Now you have successfully installed all your web development environment. If you want to GUI to manage MySQL then you can install MySQL workbench.

If you have any queries do post your questions in the comment section below: 🙂

Vedant Kumar

Currently I'm working as an Implementation Engineer, Started my career as an System Administrator - Linux. Additionally loves to explore new technologies and research about new open-source software that ease the development cycle.

View all posts by Vedant Kumar →

Leave a Reply

Your email address will not be published. Required fields are marked *

The reCAPTCHA verification period has expired. Please reload the page.


Ad Blocker Detected!

We've noticed that you are using an ad blocker. Advertising helps fund our server cost and keep it truly independent. It helps to build our content creator team. So please disable your ad blocker, and help us to keep providing you with free- great content - for free. Thank you for your support.