Відповіді:
Httpd.conf призначений для налаштування користувачів. Ви дійсно не повинні редагувати apache2.conf, оскільки він може бути оновлений майбутніми оновленнями.
Додатковим варіантом є просто помістити власну конфігурацію в /etc/apache2/conf.d, також включені всі файли в цьому каталозі.
Це не єдині ваші варіанти. У Ubuntu / Debian Apache також обробляє всі файли в /etc/apache2/sites-enabled/(які повинні бути посиланнями на файли в sites-available/каталозі, якими керують a2ensiteі a2dissiteпрограми)
Ви маєте намір використовувати ці каталоги для VirtualHosts.
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