Назад | Перейти на главную страницу

Почему rhel / centos хранит файлы конфигурации apache именно так?

Я начал администрировать несколько веб-серверов на базе 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.