Antworten:
Die httpd.conf ist für Benutzerkonfigurationen ausgelegt. Sie sollten die apache2.conf wirklich nicht bearbeiten, da sie möglicherweise durch zukünftige Upgrades aktualisiert wird.
Eine zusätzliche Option ist, Ihre benutzerdefinierte Konfiguration einfach in /etc/apache2/conf.d zu platzieren. Alle Dateien in diesem Verzeichnis werden ebenfalls eingeschlossen.
Dies sind nicht Ihre einzigen Optionen. Auf Ubuntu / Debian, Apache verarbeitet auch alle Dateien in /etc/apache2/sites-enabled/
(die sollen symbolische Links zu Dateien in seinem sites-available/
Verzeichnis, von den verwalteten a2ensite
und a2dissite
Programmen)
Sie sollen diese Verzeichnisse für VirtualHost
s verwenden.
apache2.conf enthält httpd.conf:
a@test$:/etc/apache2$ cat apache2.conf | grep httpd.conf
Include /etc/apache2/httpd.conf
Ich denke, dass httpd.conf veraltet ist, aber nur für konservative Leute da drin gelassen wird, damit sie sich zurechtfinden ... :)
BEARBEITEN:
Nachdem ich Robs Antwort gelesen hatte, machte ich ein besseres Grep:
a@test:/etc/apache2$ grep -C 1 httpd.conf apache2.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
Benutzerkonfigurationen ist es ...
Die Apache Software Foundation veröffentlicht viele Software-Teile, von denen einer als Webserver bezeichnet wird httpd
. Die httpd-Projektquellen enthalten unter anderem eine httpd.conf
Beispielkonfigurationsdatei, die standardmäßig in /usr/local/etc/httpd
oder installiert ist /etc/httpd
. Auf den meisten Systemen ist httpd als solches angegeben.
Vor langer Zeit und in weiter Ferne entschied sich jedoch jemand in der Debian GNU / Linux-Distribution, den Namen der Software in dieser Distribution von httpd
in zu ändern apache2
. Auf einem Debian-System finden Sie daher eine Konfigurationsdatei mit dem Namen apache2.conf
in einem Verzeichnis mit dem Namen /etc/apache2
. Ich weiß nicht, wer das getan hat oder warum, aber es ist eine ständige Verwirrung, die mit dem Aufruf von Windows "Microsoft" oder ESXi "VMware" vergleichbar ist. Auf Debian basierende Distributionen wie Ubuntu erben diese Seltsamkeit. Noch seltsamer ist, dass sie dann eine Datei enthalten /etc/apache2/httpd.conf
, Include
aus apache2.conf
der Benutzer benutzerdefinierte Konfigurationen vornehmen können.
Die Antwort lautet also: Wenn Sie auf einem Debian-basierten System arbeiten, beugen Sie Ihrem Gehirn vor, Dinge so zu tun, wie Debian es möchte. Ansonsten verfahren Sie im Allgemeinen wie im vorgelagerten httpd-Projekt.
Apache 2.4
Verwenden Sie:
Platzieren Sie benutzerdefinierte Konfigurationen in /etc/apache2/conf-available/{name}.conf
Aktivieren / Deaktivieren Sie Ihre Konfiguration mit sudo a2enconf {name}
oder sudo a2disconf {name}
.
(Starten Sie dann den Apache2-Dienst neu.)
Verwenden Sie nicht:
httpd.conf
ist veraltet und sollte NICHT mehr angezeigt werden. Wenn Sie dies tun, lassen Sie es leer, wie installiert.
apache2.conf
ist immer noch installiert, aber lassen Sie es in Ruhe, wenn Sie Apache sauber / einfach aktualisieren möchten.
-
Alles, was Sie in einer 'globalen' Apache-Konfiguration sehen, kann wie oben beschrieben unter Ihrer benutzerdefinierten Konfiguration hinzugefügt / überschrieben werden.
Weitere Informationen : https://stackoverflow.com/a/11687212/503621
Wenn apache2.conf
nicht leer ist und httpd.conf
leer ist, solltest du wahrscheinlich verwenden apache2.conf
;-)
Aber ich nehme an, dass das eine das andere einschließt (und dass eines davon nur aus Gründen der Abwärtskompatibilität beibehalten wird) - es sollte sich also nicht viel ändern.
Wenn Sie dennoch etwas wie ein neues hinzufügen möchten VirtualHost
: Gibt es kein anderes Unterverzeichnis, in dem Sie Ihre Datei ablegen und einbinden können?
Es wäre wahrscheinlich eine bessere Lösung: Sie würden die Standarddatei nicht ändern, was Aktualisierungen vereinfachen würde.
Öffne einfach die apache2.conf und sieh dir den Inhalt an:
Include /etc/apache2/mod-enabled/*.conf
Include /etc/apache2/httpd.conf
Wenn Sie also Ihre eigene Konfiguration hinzufügen möchten, fügen Sie diese zu httpd.conf hinzu, und apache2.conf wird sie automatisch abrufen.
Wie gesagt, apache2.conf kann maschinengeneriert werden und es ist besser, es nicht zu berühren.
Für weitere Informationen verwendet Ubuntu im Allgemeinen apache2.conf und Centos httpd.conf. Alle diese Dateien hängen also von Ihrem Betriebssystem ab.
Um den Namen und den Speicherort der Konfigurationsdatei zu finden, müssten Sie:
1) Suche als der Prozess aufgerufen wird, in diesem Fall mit dem Apache-Benutzer arbeiten:
ps -ef | grep apache
(in diesem Beispiel gibt: httpd
)
2) Zeigen Sie die von der Binärdatei verwendeten Variablen an:
httpd -V | grep 'HTTPD_ROOT' && httpd -V | grep 'SERVER_CONFIG_FILE'
Extrahiert und Screenshots unter: http://www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html