質問: Apacheで外部に設定ファイルを作って、httpd.confからincludeするという方法があることを知りました。 これを使えば、一部の設定を除き直接httpd.confを修正する必要がないとのことでした。 しかし、色々なサイトを見ていると、ほとんどの場合でhttpd.confを直で修正しているように思います。 外部に設定ファイルを作ってinclude or httpd.confを直接修正するのはどちらが多数はなのでしょうか?
回答: 分離します。というか、パッケージのApacheをインストールするとデフォルトですでに分離されてます。 以下はUbuntuのapache2パッケージでインストールした場合の構成です(apache2.confより)。 ``` # /etc/apache2/ # |-- apache2.conf # | `-- ports.conf # |-- mods-enabled # | |-- *.load # | `-- *.conf # |-- conf-enabled # | `-- *.conf # `-- sites-enabled # `-- *.conf ``` この場合ですと、ポートの設定はports.confに、モジュールの設定はmods-enabled/以下の設定ファイルに、文字コードやCGIなどの設定はconf-enabled/以下に、Webサイトの設定はsites-enabled/以下に、と細かく分かれています。 それぞれの設定ファイルはメイン設定ファイルであるapache2.confから`Include`や`IncludeOptional`ディレクティブで読み込まれています。 CentOSのApache2.2でもhttpd.confにはポート番号やタイムアウトなど基本となる設定のみで各サイトの設定やSSLの設定などはconf.d/以下に別ファイルで分かれています。 一つのファイルに全部書くこともできますが、非常に長くなりごちゃごちゃしてしまうので分離した方がいいでしょう。逆に分離しすぎてよくわからない、とかもあるかもしれませんのでその辺は適切に...。 私はローカルの作業環境ではプロジェクトごとに複数のサイトを動作させるので、サイトごとにconfファイルを作成しています。