web-dev-qa-db-ja.com

Ubuntu Apache:httpd.confまたはApache2.conf?

apacheの設定にこれらの2つのファイルのどちらを使用する必要がありますか?

httpd.confは空ですが、Apache2.conf ではありません。

それは私を混乱させます!

44
ajsie

Httpd.confは、ユーザー構成用に設計されています。 Apache2.confは将来のアップグレードで更新される可能性があるため、編集しないでください。

追加のオプションは、カスタム構成を/etc/Apache2/conf.dに置くことです。このディレクトリ内のすべてのファイルも含まれます。

47
Rob Di Marco

これらは唯一のオプションではありません。 Ubuntu/Debianでは、Apacheは/etc/Apache2/sites-enabled/内のすべてのファイルも処理します(これはすべきsites-available/およびa2ensiteプログラムによって管理されるa2dissiteディレクトリ内のファイルへのシンボリックリンクです)

これらのディレクトリをVirtualHostsに使用することを目的としています。

19
Powerlord

Apache2.confにはhttpd.confが含まれています。

a@test$:/etc/Apache2$ cat Apache2.conf | grep httpd.conf 
Include /etc/Apache2/httpd.conf

私はhttpd.confは非推奨であると思いますが、保守的な人々のためにそこに残されているので、彼らは彼らが回避する方法を見つけます... :)

編集:

ロブの答えを読んだ後、私はより良いgrepを行いました:

a@test:/etc/Apache2$ grep -C 1 httpd.conf Apache2.conf 
# Include all the user configurations:
Include /etc/Apache2/httpd.conf

それはユーザー設定です...

5
Alexander T

Apache Software Foundationは多くのソフトウェアを公開しており、そのうちの1つはhttpdという名前のWebサーバーです。 httpdプロジェクトのソースには、とりわけhttpd.confサンプル構成ファイルが含まれています。これはデフォルトで/usr/local/etc/httpdまたは/etc/httpdにインストールされます。ほとんどのシステムでは、httpdという名前が付けられています。

しかし、はるか昔に、Debian GNU/Linuxディストリビューションの誰かが、そのディストリビューション内のソフトウェアの名前をhttpdからApache2に変更することを決定しました。したがって、Debianシステムでは、Apache2.confという名前のディレクトリに/etc/Apache2という名前の構成ファイルがあります。誰がこれをしたのか、なぜなのかはわかりませんが、Windows "Microsoft"またはESXi "VMware"を呼び出すのと同じくらい、混乱を招きがちです。 UbuntuなどのDebianベースのディストリビューションは、この奇妙さを継承しています。さらに奇妙なことに、ユーザーはカスタム構成を配置できる/etc/Apache2/httpd.confからのIncludedであるファイルApache2.confをインクルードします。

つまり、答えは、Debianベースのシステムを使用している場合、Debianが望んでいる方法で頭を曲げるということです。それ以外の場合は、上流のhttpdプロジェクトが行うように、通常は通常の方法で行います。

2
Michael Hampton

Apache 2.4

使用してください:

カスタム構成を/etc/Apache2/conf-available/{name}.confに配置します

Sudo a2enconf {name}またはSudo a2disconf {name}を使用して、設定を有効/無効にします。

(次にApache2サービスを再起動します。)

使用しない:

httpd.confは非推奨であり、今後は表示されないはずです。表示された場合は、インストールされた状態で空のままにしてください。

Apache2.confはまだインストールされていますが、Apacheをクリーン/簡単にアップグレードする場合は、そのままにしておきます。

-

上記のように、「グローバル」Apache構成で表示される可能性のあるものはすべて、カスタム構成で追加/オーバーライドできます。

詳細: https://stackoverflow.com/a/11687212/503621

1
bshea

apache2.confを開いて内容を確認するだけです。

Include /etc/Apache2/mod-enabled/*.conf
Include /etc/Apache2/httpd.conf

したがって、独自の構成を含めたい場合は、httpd.confに追加すると、Apache2.confが自動的に取得します。

別の言い方をすれば、Apache2.confはマシンで生成できるため、触れない方が良いでしょう。

詳細については、通常、UbuntuはApache2.confを使用し、Centosはhttpd.confを使用します。したがって、これらすべてのファイルは、使用しているOSによって異なります。

0

Apache2.confは空ではなく、httpd.confは空です。おそらくApache2.conf ;-)

しかし、私は一方がもう一方を含んでいると思います(そしてそれらの1つは後方互換性の理由で純粋に保持されます)-したがって、それはあまり変更されるべきではありません。


それでも、新しいVirtualHostなどの何かを追加したい場合、ファイルを入れて含めることができる別のサブディレクトリはありませんか?

それはおそらくより良い解決策でしょう:デフォルトのファイルを変更しないでしょう-更新を単純化するでしょう。

0
Pascal MARTIN