Какая хорошая библиотека для управления файлами конфигурации Apache2?

Я хотел бы создать сценарий для непосредственного управления конфигурацией Apache2, чтения и записи его свойств (например, добавления нового VirtualHost, изменения настроек уже существующего).

Есть ли какие-нибудь библиотеки для Perl, Python или Java, которые автоматизируют эту задачу?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
7
0
2 960
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Это окончательный конфигуратор Apache:

http://perl.apache.org/

открывает доступ ко многим, если не всем внутренним компонентам Apache, программам, написанным на Perl.

Например: http://perl.apache.org/docs/2.0/api/Apache2/Directive.html

(Конечно, он может гораздо больше, чем просто его настраивать).

С другой стороны, он должен быть загружен и запущен в Apache, а не парсером / редактором файла конфигурации.

Вместо того, чтобы манипулировать файлами конфигурации, вы можете использовать mod_perl для встраивания Perl непосредственно в файлы конфигурации. Это может позволить вам, например, читать необходимые vhosts из базы данных.

См. Настройте Apache с помощью примера Perl для быстрого примера и Конфигурация Apache на Perl для всех деталей.

Предупреждение; это серьезно раздувает сервер, делает его более хрупким (еще один источник утечек памяти), а при обновлении системы у вас появляется еще одна зависимость, о которой нужно позаботиться. Для такого варианта использования создание конфигурации из программы кажется более безопасным.

bortzmeyer 21.10.2008 12:55

Если вы используете только блоки perl во время настройки, использование памяти не будет проблемой. Дополнительная библиотека, подключенная к нему, заставит детей выглядеть больше, но это вся общая память.

Ken Fox 28.02.2009 08:17

Попробуйте Модуль Apache :: ConfigFile Perl.

Однако это на самом деле не записывает файлы конфигурации. В руководстве о функции write () сказано: «Этот метод в настоящее время находится в разработке и не работает. Патчи приветствуются».

Paul Dixon 19.10.2008 13:23
Ответ принят как подходящий

В Perl для этого есть как минимум 2 модуля:

Apache :: ConfigFile

Apache :: Admin :: Конфигурация

Посмотрите на Авгий, это не специально для конфигурации Apache-httpd. files - это просто общая конфигурация. файл "редактор" API. Одним из основных аргументов в пользу этого является то, что в нем будут храниться комментарии и т. д. рад, что другие инструменты изменят файлы, и откажется от сохранения поврежденных файлов.

Также тот факт, что вы можете использовать один и тот же API на всех языках, о которых вы спрашивали, и что вы можете редактировать другие config. файлы, использующие одни и те же API-интерфейсы, являются основными преимуществами IMO.

У Augeas нет парсера для файлов конфигурации Apache - вам все равно придется написать его самостоятельно.

Teddy 03.03.2011 13:43

У Авгия теперь есть объектив Httpd.

ℝaphink 13.12.2011 01:23

Также см. Конфиг :: Общие, который утверждает, что полностью совместим с файлами конфигурации Apache. Я использую его для анализа файлов конфигурации Apache для автоматического регрессионного тестирования после изменений конфигурации.

Другие вопросы по теме