I am using OS X El Capitan with the Server (app) configured to allow me VPN access to my home network. Unfortunately, the Server app has decided to start a bunch of httpd processes, which are now listening on ports 80, 443 and others, even though the Server settings for Websites is OFF and no services should be started on these ports.
I do not want or need these services active and would like httpd to be shut down (or not start to begin with). Unfortunately, I can neither kill those processes (they just restart straight away) nor can I control them through launchctl.
sudo lsof -i :80
httpd 422 root 5u IPv6 0x7... 0t0 TCP *:http (LISTEN)
httpd 425 _www 5u IPv6 0x7... 0t0 TCP *:http (LISTEN)
ps u 422
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 422 0.0 0.0 2457156 6136 ?? Ss 5:55PM 0:00.07 /usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf -E /private/var/logWhen trying:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified serviceSo, how do I terminate those processes and free up those ports?
I know there is a config file for the apache server here: /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf
I can remove the following lines to unblock those ports, but the httpd processes are still running.
listen 80
listen 443 0 4 Answers
The apple proxy service is the service that grabs ports 80 and 443, so you need to stop that one.
sudo launchctl unload -w /Applications/ 1 You can stop that with command:
sudo apachectl stop 1 This command should kill them all:
sudo killall httpdThey will start again on next boot.
2In case others are reaching this question by searching for httpd or port 80 but don't have the Server.app running, this is the solution for macOS Monterey 12.x and later:
sudo launchctl bootout system/org.apache.httpd