Ubuntu Apache: httpd.conf czy apache2.conf?


43

który z tych dwóch plików powinienem użyć do skonfigurowania Apache?

httpd.confJest pusta, a apache2.confnie jest.

To mnie dezorientuje!

Odpowiedzi:


46

Httpd.conf jest przeznaczony do konfiguracji użytkownika. Naprawdę nie powinieneś edytować pliku apache2.conf, ponieważ może on zostać zaktualizowany w przyszłych aktualizacjach.

Dodatkową opcją jest po prostu umieszczenie niestandardowej konfiguracji w /etc/apache2/conf.d, wszystkie pliki w tym katalogu również są uwzględnione.


5
Nie mam pliku o nazwie apapche2.conf
Doug Molineux

18

To nie są twoje jedyne opcje. W Ubuntu / Debian Apache przetwarza również wszystkie pliki w /etc/apache2/sites-enabled/(które powinny być dowiązaniami symbolicznymi do plików w sites-available/katalogu, zarządzanymi przez programy a2ensitei a2dissite)

Masz zamiar używać tych katalogów dla VirtualHosts.


1
to jest poprawna odpowiedź! a także dostępne pliki konfiguracyjne portów / modów, jeśli chcesz rozwinąć swoją odpowiedź
Sudhi,

5

apache2.conf zawiera httpd.conf:

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

Myślę, że httpd.conf jest przestarzały, ale zostawił go tam konserwatywnym ludziom, aby znaleźli sobie drogę ... :)

EDYTOWAĆ:

Po przeczytaniu odpowiedzi Roba zrobiłem lepszy grep:

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

Konfiguracje użytkownika to ...


6
+1 „httpd.conf jest przestarzałe”
feeela

1

Fundacja Apache Software Foundation publikuje wiele fragmentów oprogramowania, z których jednym jest serwer WWW o nazwie httpd. Źródła projektu httpd obejmują między innymi httpd.confprzykładowy plik konfiguracyjny, który jest domyślnie instalowany w /usr/local/etc/httpdlub /etc/httpd. Znajdziesz httpd nazwany jako taki w większości systemów.

Jednak dawno temu i daleko stąd ktoś z dystrybucji Debian GNU / Linux postanowił zmienić nazwę oprogramowania w tej dystrybucji z httpdna apache2. Tak więc w systemie Debian znajdziesz plik konfiguracyjny o nazwie apache2.confw katalogu o nazwie /etc/apache2. Nie wiem, kto to zrobił i dlaczego, ale jest to stałe źródło zamieszania na równi z nazywaniem Windows „Microsoft” lub ESXi „VMware”. Dystrybucje oparte na Debianie, takie jak Ubuntu, dziedziczą tę dziwność. Nawet obcy, oni następnie dołączyć plik /etc/apache2/httpd.conf, który jest Included Z apache2.conf, do której użytkownicy mogą umieszczać konfigurację niestandardową.

Więc odpowiedź brzmi: jeśli korzystasz z systemu opartego na Debianie, zmuszasz mózg do robienia rzeczy tak, jak chce tego Debian. W przeciwnym razie robisz to zwykle w normalny sposób, tak jak robi to projekt httpd.


1

Apache 2.4

Zgasić:

Umieść dowolne konfiguracje w /etc/apache2/conf-available/{name}.conf

Włącz / wyłącz konfigurację za pomocą sudo a2enconf {name}lub sudo a2disconf {name}.

(Następnie uruchom ponownie usługę apache2).

Nie używaj:

httpd.conf jest przestarzałe i NIE powinieneś go więcej widzieć - jeśli tak, pozostaw puste jak zainstalowane.

apache2.conf jest nadal zainstalowany, ale zostaw go w spokoju, jeśli chcesz łatwo / łatwo zaktualizować Apache.

-

Wszystko, co możesz zobaczyć w „globalnej” konfiguracji Apache, można dodać / przesłonić w konfiguracji niestandardowej, jak opisano powyżej.

Więcej: https://stackoverflow.com/a/11687212/503621


0

Jeśli apache2.confnie jest pusty i httpd.confjest pusty, prawdopodobnie powinieneś użyć apache2.conf;-)

Ale przypuszczam, że jedno obejmuje drugie (i że jedno z nich jest trzymane wyłącznie ze względu na kompatybilność wsteczną) - więc nie powinno to wiele zmieniać.


Jeśli jednak chcesz coś dodać, na przykład nowy VirtualHost: czy nie ma innego podkatalogu, w którym można umieścić plik i dołączyć go?

Prawdopodobnie byłoby to lepsze rozwiązanie: nie zmodyfikowałbyś domyślnego pliku - co uprościłoby aktualizacje.


Jak wspomniała Pascal, jeśli chcesz dodać nowy VirtualHost, powinieneś dodać nowy plik w zakładce dostępne, a następnie mieć dowiązanie symboliczne w włączonych witrynach za pomocą polecenia a2ensite - help.ubuntu.com/6.06/ubuntu/serverguide/ C / httpd.html
ccheneson

0

wystarczy otworzyć apache2.conf i spojrzeć na treść:

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

Więc jeśli chcesz dołączyć własną konfigurację, dodaj ją do httpd.conf, a apache2.conf automatycznie ją otrzyma.

Jak inni mówią, apache2.conf może być generowany maszynowo i lepiej go nie dotykać.

Aby uzyskać więcej informacji, ogólnie Ubuntu używa apache2.conf, a Centos używa httpd.conf. Więc wszystkie te pliki zależą od posiadanego systemu operacyjnego.


-2

Aby znaleźć nazwę i lokalizację pliku konfiguracyjnego, musisz:

1) Wyszukaj, jak wywoływany jest proces, w tym przypadku pracując z użytkownikiem apache:

ps -ef | grep apache

(w tym przykładzie, powraca: httpd)

2) Pokaż zmienne używane przez plik binarny:

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

Wyodrębniono i zrzuty ekranu: http://www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html


Witam, Wydaje mi się, że odpowiedzieliście na pytanie, na które już udzielono odpowiedzi, na które udzielono odpowiedzi lata temu. Ponadto twoje rozwiązanie nie pomaga pierwotnemu pytającemu rozwiązać problem, którego pliku konfiguracyjnego najlepiej użyć.
M. Glatki,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.