Відповіді:
Httpd.conf призначений для налаштування користувачів. Ви дійсно не повинні редагувати apache2.conf, оскільки він може бути оновлений майбутніми оновленнями.
Додатковим варіантом є просто помістити власну конфігурацію в /etc/apache2/conf.d, також включені всі файли в цьому каталозі.
Це не єдині ваші варіанти. У Ubuntu / Debian Apache також обробляє всі файли в /etc/apache2/sites-enabled/
(які повинні бути посиланнями на файли в sites-available/
каталозі, якими керують a2ensite
і a2dissite
програми)
Ви маєте намір використовувати ці каталоги для VirtualHost
s.
apache2.conf включає httpd.conf:
a@test$:/etc/apache2$ cat apache2.conf | grep httpd.conf
Include /etc/apache2/httpd.conf
Я думаю, що httpd.conf застарілий, але просто залишений там для консервативних людей, щоб вони знайшли шлях навколо ... :)
Редагувати:
Прочитавши відповідь Роба, я зробив ще краще задоволення:
a@test:/etc/apache2$ grep -C 1 httpd.conf apache2.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
Конфігурації користувача це ...
Фонд програмного забезпечення Apache публікує багато біт програмного забезпечення, одним з яких є веб-сервер з назвою httpd
. Джерела проекту httpd включають, серед іншого, httpd.conf
зразок файлу конфігурації, який встановлений за замовчуванням у /usr/local/etc/httpd
або /etc/httpd
. У більшості систем ви знайдете httpd з таким іменем.
Однак давно і далеко хтось із дистрибутива Debian GNU / Linux вирішив змінити назву програмного забезпечення в цьому дистрибутиві з httpd
на apache2
. Таким чином, в системі Debian ви знайдете файл конфігурації, вказаний apache2.conf
в каталозі з назвою /etc/apache2
. Я не знаю, хто це зробив чи чому, але це багаторічне джерело плутанини нарівні з тим, що називати Windows "Microsoft" або ESXi "VMware". Цю дивацтво успадковують дистрибутиви на основі Debian, такі як Ubuntu. Навіть чужіше, вони включають файл /etc/apache2/httpd.conf
, Include
з apache2.conf
якого користувачі можуть розміщувати власну конфігурацію.
Отже, відповідь полягає в тому, що якщо ви працюєте на базі системи Debian, ви згинаєте свій мозок робити так, як Debian хоче, щоб ви це робили. В іншому випадку ти зазвичай робиш звичайний спосіб, як це робить проект httpd висхідного напрямку.
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
Якщо apache2.conf
він не порожній і httpd.conf
порожній, ви, ймовірно, використовуєте apache2.conf
;-)
Але я вважаю, що одне включає інше (і що одне з них зберігається виключно з міркувань відсталої сумісності) - значить, воно не повинно сильно змінюватися.
Але якщо ви хочете додати щось, як нове VirtualHost
: чи не існує ще одного підкаталогу, в який можна було б помістити свій файл і включити його?
Можливо, це було б кращим рішенням: ви не змінювали б файл за замовчуванням - це спростило б оновлення.
просто відкрийте 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. Отже всі ці файли залежать від того, яку ОС у вас є.
Щоб знайти ім'я та місце розташування файлу конфігурації, вам доведеться:
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