Even though Apple hides High Sierra from the Mojave Mac App Store, you can still access the High Sierra download page via this direct link. Depending on your browser, you may need to click “allow” or “open” to have the link open in the Mac App Store. This should take you to the macOS High Sierra page in the Mac App Store. The final release of macOS 10.13 High Sierra is now available to download as of September 25, 2017. Leading into this, some Apple fanatics opted to install macOS 10.13 High Sierra early via.
Turn on Apache
- Open Terminal by clicking on the magnifying glass at the top right corner of your screen and searching for Terminal
- Type
sudo apachectl start
and press enter - Open Safari (or your browser of choice), type localhost in the address bar, and press enter
Can’t believe it’s that easy? It is! You should now see It works! in the browser.
Turn on PHP
Mac already comes with PHP, so you don’t need to install it from PHP.net. Before High Sierra (version 10.13), Mac came with PHP 5 installed. This caused users to get annoyed because it didn’t come with PHP 7, so you’d have to go through extra work to upgrade from PHP 5 to PHP 7. Thankfully High Sierra already comes with PHP 7.1!!!
- Open Terminal and type
sudo nano /etc/apache2/httpd.conf
and press enter - Press Ctrl+W which will bring up a search
- Search for php and press enter. You’ll see the following:
- Delete the # from
#LoadModule php7_module libexec/apache2/libphp7.so
- Press Ctrl+O followed by Enter to save the change you just made
- Press Ctrl+X to exit nano
- Type
sudo apachectl restart
and press enter
You just turned PHP 7 on. Great work so far!
Create Sites Folder
- Click on Finder at the bottom left corner of your screen and click on Go > Home the top navigation bar. This will take you to your home directory, which will also be whatever your computer is named; in this case it’s david.
- Create a new folder and name it Sites (The Safari icon shown below gets added automatically to the Sites folder as shown below)
- Open your favorite text editor and create a file called index.php with the following code:
- Save index.php in the Sites folder you created
- Go back to Terminal and enter
sudo nano /etc/apache2/httpd.conf
- Press Ctrl+W to bring up search
- Search for Library and press enter. You should see this:
- Replace both occurrences of
/Library/WebServer/Documents
with/Users/david/Sites
(instead of david use your name which can be found at the top of your terminal next to the home icon) - Press Ctrl+O followed by Enter to save these changes
- Press Ctrl+X to exit nano
- Type
sudo apachectl restart
and press enter
Go back to Safari and refresh the localhost page and you’ll see Hello From Sites Folder! with PHP info that shows PHP 7 is being used.
Install MySQL
- Go to https://dev.mysql.com/downloads/mysql
- Scroll down until you see three download buttons and click on the one next to DMG Archive
- Scroll down and click No thanks, just start my download
- Click on the downloaded file, double click the pkg file, and go through the installation which should look like this:
- Once you get to the end of the installation, you’ll see a popup that gives you your MySQL username (root) and password (8hxKsiIh?YMt). Your password will be different. Copy the password to text file (or take a screenshot) and press okay. Do this now, as it will be pain to reset the password if you don’t know it.
- Press the Apple logo at the top left of your screen and go to System Preferences
- Click on MySQL and you’ll see that it’s turned off
- Press Start MySQL Server to turn it on and you’ll see:
- Go back to Terminal and type
sudo /usr/local/mysql/bin/mysql -u root -p
- When you press enter it will ask you for your Password. This is the password you use when you login to your Mac
- Then it says Enter Password: which is 8hxKsiIh?YMt for me (you should use the password you copied earlier instead of 8hxKsiIh?YMt). You’ll see this screen:
- Type
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
and press enter - Go to https://www.sequelpro.com and download Sequel Pro. This is like phpMyAdmin, but better because it’s a desktop app.
- Go through the installation, open Sequel Pro, and enter 127.0.0.1 for the Host. Enter root for the Username and newpassword for the Password. Press Connect
- Click Choose Database… at the top left followed by Add Database…
- Give it the name mydb and press enter
- Then click the plus sign at the bottom left to create a new table. Name the table mytable and press add
- Click the plus sign right above the word INDEXES and name the field message. Set the type to VARCHAR and give it a length of 200.
- Click on Content at the top.
- Click the plus sign at the bottom (the one to the left of the minus sign)
- Give the new entry an id of 1 and set the message to MySQL works perfectly!
- Open index.php in your Sites folder and change the code to
Obviously this example is immune to SQL injection, since there are no user-inputted values. However, if you don’t understand MySQLi prepared statements as well as you’d like, check out this post for an excellent tutorial on how to prevent SQL injection 😉. There’s even a PDO version, if you prefer that more.
- Refresh localhost on Safari and you should see:
Great! You now have MySQL working, so you can use localhost to store information in databases.
Make SEO Friendly URLs Work
Instead of going to localhost/profile.php?user=david, it looks nicer when you can go to localhost/profile/david. Let’s make this work by enabling mod_rewrite so you can use RewriteRules.
- Go to Terminal and type
sudo nano /etc/apache2/httpd.conf
followed by pressing enter - Press Ctrl+W, type rewrite, and press enter
- Remove the # in
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
- Press Ctrl+O followed by Enter to save
- Press Ctrl+X to exit nano
- Type
sudo apachectl restart
Now you can use friendly URLs when you develop using localhost.
Make .htaccess Work
This isn’t necessary to make vanity URLs work, but I personally prefer using an .htaccess file, as it allows me version control it.
- Go to Terminal and type
sudo nano /etc/apache2/httpd.conf
followed by pressing enter - Press Ctrl+W, type
AllowOverride controls
, and press enter - Change
AllowOverride None
toAllowOverride All
- Press Ctrl+O followed by Enter to save
- Press Ctrl+X to exit nano
- Type
sudo apachectl restart
Now you can add a .htaccess file in the Sites folder and it will work well.
Turn On SSL/HTTPS
Instead of accessing your website through localhost, you might want to access your website by going to https://localhost. If you turn on SSL, you’ll see a padlock next to localhost in the URL bar.
- Go to Terminal and type
sudo nano /etc/apache2/httpd.conf
followed by pressing enter - Press Ctrl+W, type socache_shmcb_module, and press enter
- Delete the # from
#LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
- Press Ctrl+W, type mod_ssl, and press enter
- Delete the # from
#LoadModule ssl_module libexec/apache2/mod_ssl.so
- Press Ctrl+W, type httpd-ssl, and press enter
- Delete the # from
#Include /private/etc/apache2/extra/httpd-ssl.conf
- Press Ctrl+O followed by Enter to save
- Press Ctrl+X to exit nano
- Type
sudo nano /etc/apache2/extra/httpd-ssl.conf
and press enter - Press Ctrl+W, type ServerName, and press enter
- Replace www.example.com:443 with localhost
- Right above you’ll see
/Library/WebServer/Documents
. Replace that with/Users/david/Sites
. (Use your name instead of david just like you did earlier) - Right underneath
<VirtualHost_default_:443>
add (but make sure to replace david with your name):
Mysql For Mac Os
- Your terminal should now look like this:
- Press Ctrl+O followed by Enter to save
- Press Ctrl+X to exit nano
- Type
sudo nano /etc/ssl/openssl.cnf
and press enter - At the bottom of openssl.cnf add this:
- Your terminal should look like this:
- Press Ctrl+O followed by Enter to save
- Press Ctrl+X to exit nano
- Type
and press enter. (You can use your information instead, but don’t change localhost)
- Type
and press enter
- Type
sudo apachectl
restart - Now go to https://localhost in your browser, and you’ll see a padlock next to the url which means you’re done setting up SSL!
As always, if you have any questions please leave them in the comments, and we’ll do our best to help you.
MySQL is a relational database management system. MySQL is the widely used database server in the world. This tutorial helps you to install MySQL database server on macOS Sierra 10.12 and High Sierra 10.13 and other supported versions using Homebrew.
Step 1 – Prerequisites
Before starting the installation of MySQL using this tutorial you must have the following prerequisites
- Terminal: You must have Mac Terminal access and little knowledge about working with the terminal application.
- Homebrew: Homebrew is a popular package management tools used for installing most open source software like Node. Here is the Homebrew installation tutorial
Step 2 – Install MySQL on macOS
At this time of writing this tutorial, Homebrew has MySQL 5.7.21 version in its main repository. Start a terminal and run command to install MySQL:
Wait for the installation process finish. Now you just need to configure things so that your MySQL server is auto-started
Also, you have to set a strong password for the MySQL root account. Use the following command to set a new password. Make sure to use a strong password.
Step 3 – MySQL Configuration
MySQL server has been installed on your system. The binary files are installed under /usr/local/bin directory and all the MySQL related files are created under “/usr/local/var/mysql” directory. The main confiugration file is created at:
Install Mysql Mac
You can use above file to customize your MySQL server. Now, Connect to MySQL server using the command:
Step 4 – Manage MySQL Service
Mysql For Mac
There are mysql.server command available under /usr/local/bin directory, which is used to manage MySQL service. You can use mysql.server command with options status, stop, start, or restart MySQL service on your system.
Mysql Download Mac Os
All done. You have running MySQL server on your system. What next? Visit our MySQL tutorial section to create and manage databases from the command line.