70

OSX Mountain Lion removed the GUI for web sharing, but apache is still installed.

How do I start and stop the service? How do I get the service to automatically launch on startup?

  • Its starts automatically, at least for me. Just type 0.0.0.0 it should be there. – Wojciech Bednarski Aug 2 '12 at 21:51
  • @Lri No. I did upgrade from 10.7 – Wojciech Bednarski Aug 3 '12 at 16:29
79

The LaunchDaemon for Apache is still there as well, so all you have to do it load it:

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

The -w makes it permanent, i.e. it'll be reloaded when you reboot.

  • How do you turn this off once it's started this way? – James McMahon Sep 5 '12 at 14:13
  • 9
    @JamesMcMahon: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist – Gordon Davisson Sep 5 '12 at 14:14
  • Hmm, something is still running on localhost, I had assumed it was Apache, maybe I have something else running. – James McMahon Sep 5 '12 at 14:19
  • @JamesMcMahon: You can use e.g. sudo lsof -i:80 to see what process is listening on a given port. From there, this previous answer might help you track it down... – Gordon Davisson Sep 5 '12 at 14:58
35

Terminal Commands

Starting: "sudo apachectl start"

Stopping: "sudo apachectl stop"

Restarting: "sudo apachectl restart"

Launching on Startup

(See the marked answer in this thread)

  • Is there an equivalent ShutdownItems dir? Don't have OSX in front of me at the moment... – Rich Homolka Jul 30 '12 at 20:33
  • There used to be /etc/rc.shutdown.local -- not sure if that is still around... – slifty Jul 30 '12 at 20:37
12

sudo apachectl start also enables the launchd daemon. It overrides the Disabled key in /System/Library/LaunchDaemons/org.apache.httpd.plist by modifying /private/var/db/launchd.db/com.apple.launchd/overrides.plist, just like launchctl load -w.

For http://localhost/~username/ to work, you have to create /etc/apache2/users/username.conf and add a <Directory> directive like this:

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
8

Slifty and Lauri hint at an important concept without clearly saying it.

"sudo apachectl start" will not only start apache but will also modify /private/var/db/launchd.db/com.apple.launchd/overrides.plist so that apache will automatically restart each time the system is rebooted.

Similarly, "sudo apachectl stop" will stop apache and modify the above file so that apache won't start when the system is rebooted.

This seems to be the simplest way to control whether the service starts automatically.

3

For those in search of a GUI, Click On Tyler has developed a control panel app, http://clickontyler.com/blog/2012/02/web-sharing-mountain-lion/

GUI sample

  • Nice widget.. however in my system something went wrong and apache is not starting..:( – Dilip Rajkumar Oct 14 '12 at 5:20
  • Same here. Seems to be a little bit sloppy coded - good old confusion about the .pid-file I guess ...zzz – conny Nov 2 '12 at 12:14
  • This is cool.. But outdated, doesn't work on Yosemite. How do we remove this from our settings pane? – emotality Feb 21 '15 at 23:37
  • To Delete: ~/Library/PreferencePanes – emotality Feb 21 '15 at 23:38
  • Sorry, this is no longer available, or became part of a commercial product that you can only download complete - not just the preference panel. Any alternatives? – Motti Shneor Nov 16 '16 at 8:48
1

This preference pane has the links for computer site folder and to open a browser : http://stowlake.com/WebServer

  • This rather ugly UI's preference panel crashes immediately as you try to start the web-server on both OS-X 10.11 and 10.12. Crash-logs available at your request ;) – Motti Shneor Nov 16 '16 at 8:53

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.