This should be easy, just curious. I know "httpd" is the HTTP daemon, just curious what the relationship is between "httpd" and "apachectl."
It's short for apache control(ler?). It tells apache what to do, but it isn't the service itself.
httpd is the practical deamon. It's the part that really does the job. Apachectl is how you can control this demon, and do operations on it. It's merely a control inteface, not the real program itself.
From the manpage :
apache2ctl is a front end to the Apache HyperText Transfer Protocol (HTTP) server. It is designed to help the administrator control the functioning of the Apache apache2 daemon.
(I have apache2 on my machine but it's the same thing)
The server binary itself is called httpd
in the upstream distribution, but apache2
in others such as the debian package.
apachectl
or apache2ctl
(ctl stands for control) is a shell script that allows starting/stopping/etc. the bunch of httpd
or apache2
processes.