Odpowiedzi:
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.
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.
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 ...
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.
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.
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.
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.
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