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 a2ensite
i a2dissite
)
Masz zamiar używać tych katalogów dla VirtualHost
s.
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.conf
przykładowy plik konfiguracyjny, który jest domyślnie instalowany w /usr/local/etc/httpd
lub /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 httpd
na apache2
. Tak więc w systemie Debian znajdziesz plik konfiguracyjny o nazwie apache2.conf
w 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 Include
d 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.conf
nie jest pusty i httpd.conf
jest 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