httpd - Apache Hypertext Transfer Protocol Server - Apache HTTP Server Version 2.4
には、httpd自体のコマンドラインオプションの説明があります。
環境によってデフォルト値も変わってくるため、
この説明をそのまま鵜呑みにもできませんが、
大事なことは
ServerRoot と呼ばれる、apache httpd自体の置き場所や動作の基準のディレクトリと、
config と呼ばれる、apache httpd自体の振る舞いを決める定義ファイルが
関わってくるということです。
ServerRootの定義自体も、configファイルの中で定義できるのですが、
仮にServerRootをコマンドラインから与えるとそこにある conf/httpd.conf を探しに行って読み込もうとします。
ServerRootすら与えなかった場合は、httpdが起動しようとしたカレントディレクトリから相対的に conf/httpd.conf を探しに行って読み込もうとします。
で、config は通例httpd.confファイルを指しますが、
どんなに乱暴でも
httpd -f /foo/bar/baz/renamed-httpd.conf
とか絶対パスでリネーム後のファイルを与えないと反映されない仕組みになってます。
まあ通常は支援ツールapachectlや環境依存を考慮したスクリプトを介して起動するため、
例えばCentOS7なら /etc/httpd/conf/httpd.conf や /etc/httpd/conf.d/*.conf が反映されるぞ、
っていう理解になります。
CentOS7で /usr/lib/systemd/system/httpd.service にあるsystemd向けの定義ファイルによってhttpdの起動が管理され、
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
とかあるんで、
/etc/sysconfig/httpd というファイルで$OPTIONS
の定義を書いて
通常の起動の流れを変えることもできますが、
設定した本人すら忘れがちでしょうから避けるべきです。
/etc/httpd/conf/httpd.conf をいくらいじっても反映されない、なんてことにもなりかねません。