Я начал администрировать несколько веб-серверов на базе CentOS в новой должности, и после нескольких лет использования серверов linux на базе debian я довольно хорошо освоился с файловой структурой apache, как показано ниже:
/etc/apache2
apache2.conf
conf.d/
envvars
mods-available
mods-enabled
ports.conf
sites-available
sites-enabled
Для меня это имеет смысл модули, которые доступны мне, но не обязательно используются, находятся в mod-available
, а те, что у пользователя, находятся в mods-enabled
, также с sites
прямо. Конечно, это в основном символические ссылки, но я могу понять, почему это делается именно так; Приходя в систему свежим, я имею приблизительное представление о том, что происходит в системе, просматривая соответствующие *enabled
каталоги.
Для сравнения, настройка CentOS выглядит так:
/etc/httpd
conf
conf.d
logs -> ../../var/log/httpd
modules -> ../../usr/lib64/httpd/modules
run -> ../../var/run
Я понимаю, что могу увидеть, какие хосты включены, позвонив apachectl -S
, и apachectl -M
чтобы увидеть модули и переименовать /conf.d/example.conf
к conf.d/example.conf.disabled
позволил бы мне довольно просто отключать сайты, но я не понимаю, почему они вообще разные, и прямо сейчас я не уверен в преимуществах этого или другого.
Существуют ли какие-либо страницы, сообщения в блогах или сайты, чтобы помочь объяснить различия между ними и, возможно, некоторые размышления о том, почему они так устроены?
Прямо сейчас я слепо следую соглашению, которое вижу в стандартной файловой системе CentOS, не понимая почему, и я не могу не чувствовать, что укусит меня, когда я меньше всего этого ожидаю, например, когда я ошибаюсь на уровне разрешений selinux или что-то похожее.
У каждого дистрибутива есть определенные предпочтения, и они следуют модели, которая, по их мнению, будет лучшей при ее создании. Это вызвано отсутствием стандарта и предпочтениями разработчиков ...
Я не думаю, что есть что понимать, нет ..
Просто другой взгляд на это. Я не думаю, что вам есть о чем беспокоиться, ничего не укусит, пока вы не трогаете структуру каталогов. Очевидно, что другие пакеты будут помещать свои собственные файлы .conf в каталог conf.d, поэтому было бы плохой идеей переименовывать или перемещать его. Доступные / разрешенные модули удаляются, но не учитывают, что строка include находится в файле conf.d для всех пакетов. Некоторые до сих пор добавляют его в файл httpd.conf через процедуру постустановки RPM.