Любые библиотеки python для анализа файлов конфигурации apache или, если не python, кто-нибудь знает об этом на других языках (perl, php, java, C#)? Поскольку я смогу их переписать на питоне.
Иногда даже самоуверенные ответы хороши, когда тебе нечего делать. Теперь мне это больше не нужно, так как вопрос задавался ранее, но иногда полезно получить рекомендации, даже если они являются самоуверенными.
Скажем так: я не знаю, был ли этот вопрос актуальным 9 лет назад. Но я уверен, что он был бы закрыт, если бы его спросили сегодня; поскольку это явно нарушает правило «без рекомендаций». И вы видите; вот что происходит - все эти ответы (и на самом деле могут быть только) только ссылка. Итак, рано или поздно ... эти ссылки могут сломаться; и тогда ответ оказывается бесполезным.
Куда бы вы порекомендовали человека пойти / спросить, если хотите узнать, какие варианты у него есть для выполнения вещи x и / или каков опыт людей с этим (при условии, что те, кто отвечает, также использовали то, что они рекомендовали)? Честный вопрос. Просто хочу знать, где еще можно получить такую обратную связь, если SO - не подходящее место.
В сети stackexchange.com есть "новый" сайт рекомендаций по программному обеспечению, поскольку я не знаю. Вероятно, эту близкую причину следует усилить, чтобы указать на такую возможность.






Насколько мне известно, не существует библиотек Python, но вот одна из perl: http://packages.debian.org/sid/libapache-configfile-perl
Package: libapache-configfile-perl
Priority: optional
Section: interpreters
Installed-Size: 124
Maintainer: Michael Alan Dorman
Version: 1.18-1
Depends: perl (>= 5.6.0-16)
Description: Parse an Apache style httpd.conf configuration file
This module parses the Apache httpd.conf, or any
compatible config file, and provides methods for
you to access the values from the config file.
Если вы все же переписываете его на Python, обновите свой пост, указав имя вашего пакета на PyPI! :)
ZConfig, как мне кажется, раньше поставлялся со схемой для разбора файлов конфигурации Apache; похоже, больше нет, но он ориентирован на синтаксический анализ файлов этих типов и превращение конфигурации в объект Python. Беглый взгляд на документацию показывает, что не составит большого труда настроить схему ZConfig, соответствующую любым параметрам Apache, которые вы хотите проанализировать и проверить.
У группы Red Hat Emerging Technologies есть Авгий (написанный на C, но с доступными привязками Python), универсальный инструмент конфигурации системы с «линзами» для чтения и записи нескольких различных форматов файлов конфигурации. Я бы рассмотрел вопрос о наличии линзы для Apache.
Для файлов конфигурации Apache не существует линзы.
В Debian / Ubuntu использование библиотеки pypi pypi.python.org/pypi/python-augeas, похоже, полагается на то, что launchpad.net/ubuntu/+source/augeas сначала устанавливается в целевой системе.
Я нашел здесь интересный парсер Apache Config для python: http://www.poldylicious.de/node/25
Упомянутый парсер конфигурации Apache не задокументирован, но он работает.
Ссылка не работает.
Также выпущен один новый парсер.
В нем по-прежнему отсутствует документация, но он довольно прост для понимания.
Пример
import apache_conf_parser
import pprint
DEFAULT_VHOST = '/etc/apache2/sites-available/000-default.conf'
vhost_default = apache_conf_parser.ApacheConfParser(DEFAULT_VHOST)
print vhost_default.nodes
print vhost_default.nodes[0].body.nodes
pprint.pprint(
{
i.name: [i.arguments for i in vhost_default.nodes[0].body.nodes]
}
)
Я смог заставить это работать. Пришлось использовать много интерактивных help(), dir() и .__dict__, но это тоже то, что делает Python потрясающим.
Последнее обновление в 2011 году. Интересно, как это работает с более поздними версиями Apache.
В 2016 году появилась новая библиотека, написанная с использованием pyparsing:
https://pypi.python.org/pypi/parse_apache_configs/
Имеет несколько шероховатостей, но позволяет мне добавлять директивы и сохранять в новый файл.
Источник в https://github.com/alextricity25/parse_apache_configs
Вопросы, просящие нас порекомендовать или найти книгу, инструмент, библиотеку программного обеспечения, учебное пособие или другой внешний ресурс, не относятся к теме Stack Overflow, поскольку они, как правило, привлекают самоуверенные ответы и спам.