Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
In OS X, 10.8, Mountain Lion, Apple changed how you managed the Apache HTTP server. Apache is still included with the operating system, but the user interface changed significantly. The following steps work in Mountain Lion, and in the more recent version of OS X, Mavericks. If you go to System Preferences, and from there to Sharing, you won't find web sharing listed anywhere. It's been completely removed from the user interface.
As I said, Apache is still there, but you have to turn it on and off from the command line. And I'll show you how to do that here. I'll close the System Preferences application, and I'll go to Terminal. Terminal is your command line access to your Mac. To start Apache, use this command. Start off with sudo, that stands for super user do. Then type in the name of the Apache control application, apachectl and after a space, start. That's saying, start the Apache server.
Because you're executing the command as a super user, you're challenged for your administrative password. I'll type in the password. Press return, and that should start up the server. To test it, I'll go to a browser, and I'll type in local host. And I should get back the response, it works! A very simple HTML page, that's already in the document root of your Apache server. Now, if you don't see this right away, be patient.
On many initial installations of Mountain Lion, it takes a long time to resolve the DNS name local host. It equates to 127.0.0.1 if you're using IPv4, and to another string if you're using IPv6. But this introduction of IPv6 in Mountain Lion has caused an issue with how long it might take to resolve the URL in your browser. You can wait a minute or two, and it will almost certainly work.
But that's frustrating when you're doing development. So, I'll show you a work around if you're experiencing this slowness. You can simply disable IPv6 on your computer. And as long as you don't need this new feature for the rest of your work, you'll be able to get to local host instantly right after starting up the server. To do this, I'll go back to Terminal. I'll start by using a command called network setup. I'll type networksetup, and then -listallnetworkservices.
Make sure you spell this exactly as you see it here. All lower case and all one word. That should give you a list of the services on your computer. Your list might be different from mine. You're looking for a service named Ethernet. And if you see it there, as you should, that's the thing that's slowing you down. Here's how you turn off IPv6. Just as you did when you were starting up Apache, start with sudo. Then once again, type networksetup, and then setv6off, and after another space, the name of the service, Ethernet.
You're saying, disable IPv6 completely. Don't make it a part of my operating system. I'll press Return and I shouldn't get back any response, but I also shouldn't get back any errors. I'm going to restart Apache. I'll type in clear to clear the screen. Then I'll once again use sudo apachectl, then stop. Then I'll press the up arrow, and I'll press it a few times till I get back to my start command, and I'll press Return again. I can then go back to the browser and refresh with Cmd+R.
Regardless of whether you were seeing the slow down before, you should now see the default page instantly. The location of your document root folder is exactly the same as it was in previous versions of OS X. To get to it, go to Finder, then go to the menu, and choose Go > Go to Folder. From there, type in /Library/WebServer/Documents, and it is case sensitive. That should take you to the folder that contains your HTML page, and any other assets.
And if you're creating your own website or your own PHP based web application, this is where you would put your files. These are the steps you follow to configure the Apache server when you only need a single web server for your entire machine. But when you're doing development, you'll frequently want to use a personal site folder. And I'll show you how to configure that in the next video.
Get unlimited access to all courses for just $25/month.Become a member