How to start homebrew Apache on boot? 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