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?

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

6 Answers 6

77

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.

4
  • How do you turn this off once it's started this way? Sep 5, 2012 at 14:13
  • 9
    @JamesMcMahon: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist Sep 5, 2012 at 14:14
  • Hmm, something is still running on localhost, I had assumed it was Apache, maybe I have something else running. Sep 5, 2012 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... Sep 5, 2012 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)

2
  • Is there an equivalent ShutdownItems dir? Don't have OSX in front of me at the moment... Jul 30, 2012 at 20:33
  • There used to be /etc/rc.shutdown.local -- not sure if that is still around...
    – slifty
    Jul 30, 2012 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>
1
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

6
  • Nice widget.. however in my system something went wrong and apache is not starting..:( Oct 14, 2012 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, 2012 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, 2015 at 23:37
  • To Delete: ~/Library/PreferencePanes
    – emotality
    Feb 21, 2015 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? Nov 16, 2016 at 8:48
1

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

1
  • 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 ;) Nov 16, 2016 at 8:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .