OSデフォルトの設定で入れられるApacheなどでは、設定ファイルが一本になっていなくて、conf.d
フォルダに入っているファイルを読み込んで追加設定する、という流れになっていることがよくあります。ただ、これを書き換える場合には注意が必要です。
設定変更してみた(とりあえず動いていた)
Apacheをインストールしてそのままの設定で使っていたところ、/manual
でApacheのマニュアルが出てしまったり、ディレクトリリストが見られてしまったりと、何かと不要な設定が効いている状態でしたので、conf.d/
以下で不要な.conf
ファイルを、mv manual.conf manual.conf.disabled
のように移動しておきました。大本になるhttpd.conf
ではInclude conf.d/*.conf
のようになっているので、拡張子を変えれば設定ファイルとしては無効となります。
トラブル発生!
そんな感じで問題なく運用していたのですが、セキュリティ上の問題が生じたので、yum update httpd
としてアップデートをかけました。そうしてから再起動をかけてみると、なんと無効化したはずの設定が復活していたのでした。conf.d/
の中を見てみると、名前を変えて消したはずのmanual.conf
ファイルが、バッチリ復活していました。
マニュアルが見えるくらいならサーバ自体は動きますしそこまで問題もないのですが、SSLの設定ファイルを別に用意していた場合には、Listen 443
の行が複数になり、サーバ起動時点でエラーとなってしまいます。
正しい殺し方
ということで、ファイルをなくしてしまうと、次にyum
でアップデートを掛ける際にファイルが新規作成されることとなってしまいます。必要ならバックアップを取った上で、無効化したい*.conf
ファイルの中身を空、あるいは状況説明のコメントだけにしてしまいましょう。