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


43

これらの2つのファイルのどちらを使用してApacheを構成する必要がありますか?

httpd.conf一方で、空でapache2.confはありません。

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

回答:


46

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

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


5
私はapapche2.confと呼ばれるファイルがありません
ダグ・モリノー

18

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

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


1
これは正解です!また、回答について詳しく説明する場合は、ports / modsで利用可能な構成ファイル
Sudhi

5

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

ユーザー構成...


6
+1「httpd.confは廃止されました」
-Feeela

1

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

しかし、遠い昔、Debian GNU / Linuxディストリビューションの誰かが、そのディストリビューション内のソフトウェアの名前をからに変更することを決めましhttpdapache2。したがって、Debianシステムapache2.confでは、という名前のディレクトリに設定ファイルがあります/etc/apache2。誰がこれをやったのか、なぜそうしたのかはわかりませんが、Windowsを「Microsoft」またはESXiを「VMware」と呼ぶことに匹敵する混乱の根源です。UbuntuなどのDebianベースのディストリビューションは、この奇妙さを継承しています。見知らぬ人であっても、ユーザーがカスタム構成を配置できるd ファイル/etc/apache2/httpd.confを含めます。Includeapache2.conf

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


1

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


0

apache2.confが空ではなく、空である場合は、httpd.confおそらく使用する必要がありますapache2.conf;-)

しかし、私は一方が他方を含むと仮定します(そして、それらの1つは純粋に後方互換性の理由のために保持されると仮定します) -それで、それはあまり変化するべきではありません。


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

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


Pascalで述べたように、新しいVirtualHostを追加する場合は、sites-availableの下に新しいファイルを追加し、コマンドa2ensite-help.ubuntu.com/6.06/ubuntu/serverguide/を使用して、サイトにシンボリックリンクを設定する 必要があります。 C / httpd.html
チェネソン

0

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に依存します。


-2

構成ファイルの名前と場所を見つけるには、以下を行う必要があります。

1)プロセスが呼び出されるときに検索します。この場合、Apacheユーザーと連携します。

ps -ef | grep apache

(この例では、返されます。httpd

2)バイナリで使用される変数を表示します。

httpd -V | grep 'HTTPD_ROOT' && httpd -V | grep 'SERVER_CONFIG_FILE'

抽出およびスクリーンショット:http : //www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html


こんにちは、私には、すでに回答済みの質問、数年前に回答された質問に回答したようです。さらに、ソリューションは、元の質問者が問題を解決するのを支援していません。どの構成ファイルを使用するのがベストプラクティスです。
M.グラトキ16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.