apachectlから起動するのとhttpdから起動するのでは動作が異なる。
具体的には、envvarsを読まない(ような動きをしているっぽい)。
環境
RHEL6.5 X86_64
httpd-2.4.10
apacheをソースからビルドすると、自動起動の設定を自分でしてやる必要がある。
<pre>#service httpd start</pre>とかしたいんだ。
そこで、rpm配下の自動起動ファイルをコピーする。
自動起動ファイルのコピー
#cp /usr/local/src/httpd-2.4.10/build/rpm/httpd.init /etc/init.d/httpd
これをこのまま使うとhttpdから起動する。
しかし、タイトルに書いたようにapachectlから起動するのとhttpdから起動するのでは動作が異なる。具体的には、envvarsを読まないのだ。
やっぱり、本家の言う通りにapachectlから起動させてやりたい。
そこで、/etc/init.d/httpdの60行目を次のように変更しました。
60行目
(元)httpd=${HTTPD-/usr/sbin/httpd}
(新)httpd=${HTTPD-/usr/local/apache2/bin/apachectl}
これでapachectl を使いながら chkconfig httpd on と service httpd startができるようになった。
※補足
httpd.confにSetEnvする方法や、/etc/sysconfig/httpdに書く方法も試したのだけど上手くいきませんでした。偉い人教えてください。
以下を参考にしました。
http://stellecadente.b.sourceforge.jp/2013/08/10/yumによらないapacheのインストール(centos-6-4)/
ありがとうございました。