apachectlでhttpd.confファイルを指定して起動する方法

Apache httpdでapachectl経由でhttpdを起動する際にhttpd.confをデフォルト以外のファイルを使うようにする方法です。

環境

apache httpd 2.2.17 (多分2.x系ならみんな同じ?)

目的

デフォルトのhttpd.conf以外の設定ファイルを指定してapachectl経由でhttpdを起動したい。

または、apachectlの--helpに倣って「-f 設定ファイル」オプションを付けても、httpdのhelpメッセージが表示されてしまう。

対処

基本的に「-f」オプションに続けて、設定ファイルへのフルパスを記述すればOKです。が……

これ、すごくハマったのですが、

[root@hogehoge]# apachectl -f /etc/httpd/conf/httpd.conf.hoge start

は誤りで、

[root@hogehoge]# apachectl -f /etc/httpd/conf/httpd.conf.hoge

が正しいのです!!
「-f」をつけてhttpdを起動したい場合、apachectlにstartは付けてはならず、「-f 設定ファイル」だけで良いのです。
(apachectlスクリプトの中身を見て考え込んでしまったよ~~!!)

ちなみに、停止するときは、

[root@hogehoge]# apachectl stop

で普通に止まります。「-f」はいらないようです。

履歴

2011/07/05 --- 初版