I've switched out the default apache for the homebrew version. I've stopped the default apache starting on boot with:

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

However, the homebrew version does not start automatically. The httpd process is running (as confirmed by brew services start httpd) but the server is not running, until I execute

sudo apachectl start

(apachectl here refers to the homebrew version at /usr/local/bin/apachectl)

I'm using macOS Mojave, and the homebrew Apache version is 2.4.37.


If you run:

brew services

The last two lines of the output gives the answer to your question:

If sudo is passed, operate on /Library/LaunchDaemons (started at boot).
Otherwise, operate on ~/Library/LaunchAgents (started at login).

So, to start apache at boot run:

sudo brew services start apache2

and to start apache at login run:

brew services start apache2

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.