Skip to content

Instantly share code, notes, and snippets.

@kccogito
Last active December 23, 2022 08:28
Show Gist options
  • Save kccogito/31d8e3dfe8c3d90b090a34a964a12f8a to your computer and use it in GitHub Desktop.
Save kccogito/31d8e3dfe8c3d90b090a34a964a12f8a to your computer and use it in GitHub Desktop.
Install PHP and MySQL on Mac Tutorial WITHOUT XAMPP OR MAMP PRO

HOW TO INSTALL PHP AND MYSQL THE RIGHT WAY FOR MAC USER

If you do not have php install already in your mac system use below command:

brew install php

then you can do which php

or

php -v or php --version

Install homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1. Enable Apache

Open Terminal and run the following Code: sudo apachectl start

Open your browser and access http://localhost. If it says It Works, then you are set otherwise see if your apachectl has started or not.

2. Enable PHP for Apache

Let's make a backup of the default Apache configuration. This will help you to cross check later what you changed or in case you want to restore the configuration to default.

cd /etc/apache2/
cp httpd.conf httpd.conf.bak
Now edit the httpd.conf with vi or any other text editor: vi httpd.conf

Now uncomment the following line (Remove #): LoadModule php5_module libexec/apache2/libphp5.so

Now Restart apache: sudo apachectl restart

3. Install MySQL

To install MySQL: brew install mysql

Download Mysql : https://dev.mysql.com/downloads/mysql/

Install brew services now: brew tap homebrew/services

Now start MySQL: brew services start mysql

Now configure MySQL : mysql_secure_installation

Validate Password Plugin
Remove anonymous users
Disallow root login remotely
Remove test database and access to it
Reload privilege tables now - Choose yes
After finishing this up, 

4 : LOGIN TO MYSQL

MySQL: mysql -uroot -p

It will ask you write the password you set for mysql before. Enter password and then something like this appear:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.19 Homebrew

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

5. Connect PHP and MySQL

Now we need to ensure PHP and MySQL:

cd /var
mkdir mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock
All your sites would have URLs like http://locahost/some-site pointing to /Library/WebServer/Documents/some-site.

Note on Permissions You may recieve 403 forbidden when you visit your local site. The Apache user(_www) needs to have access to read, and sometimes write, your web directory.

You can either change permissions like this: chmod 755 directory/ or you can change the ownership of the directory to the apache user and group: chown -R _www:_www directory

6. Install PHPMyAdmin

This is optional. You can use MySQL through command line but this is a good way to administer MySQL. Download phpmyadmin from site.

cd /Library/WebServer/Documents/
tar -xvf ~/Downloads/phpMyAdmin-4.7.4-english.tar.gz
mv phpMyAdmin-4.7.4-english/ phpmyadmin
cd phpmyadmin
mv config.sample.inc.php config.inc.php

PLEASE SUBCRIBE AND FOLLOW ME HERE FOR NEW CONTENTS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment