Последний порт libxml2 на RHEL4

Последний порт libxml2 на RHEL4

В настоящее время я устанавливаю ModSecurity на наши серверы разработки, и проблема, с которой я столкнулся с последней версией, заключается в том, что мы используем RHEL 4 на наших серверах. Они не собираются обновлять их дальше (даже после нескольких попыток сообщить им об этом). Теперь, с RHEL 4 последняя версия libxml2 — 2.6.16 — В этом и заключается моя проблема — с более новыми версиями ModSecurity требуется более поздняя версия libxml2 (2.6.29??)

Мой вопрос: возможно ли перенести последнюю требуемую версию libxml2 в RHEL 4, чтобы я мог использовать последнюю версию ModSecurity?

На данный момент я использую ModSecurity версии 2.1.7 и, кажется, он работает, но я бы предпочел использовать последнюю версию.

Спасибо!

решение1

возможно ли перенести последнюю требуемую версию libxml2 на RHEL 4, чтобы я мог использовать последнюю версию ModSecurity?

Да. Идеальный способ сделать это — установить его в /usr/local, предположительно, собрав из исходников. После сборки и установки вам нужно будет (как root) запустить , ldconfigчтобы обновить кэш компоновщика. Библиотеки в /usr/local/libдолжны по умолчанию иметь приоритет; вы можете проверить это, ldconfig -p | grep libxml2что должно дать вам что-то вроде:

libxml2.so.2 (libc6,x86-64) => /usr/local/lib/libxml2.so.2

Вам необходимо перезапустить Apache.

Однако сначала следует проверить, что libxml2 2.6.29 обратно совместим с 2.6.16. Почти наверняка так и есть, но если нет, то нужно установить его в пользовательский путь, например, /opt/libxml2и запустить apache со скриптом, включающим:

export LD_LIBRARY_PATH=/opt/libxml2:$LD_LIBRARY_PATH

В этом случае кэш линкера не нуждается в обновлении, поскольку вам не нужна альтернативная версия. LD_LIBRARY_PATH, если определен, линкер ищет его перед проверкой своих кэшированных ссылок. Ноне используйте этот метод, если у вас нет крайней необходимости. Почти наверняка 2.6.29 отлично подходит для . Если нет, то на их веб-сайте и/или в файле в исходном пакете /usr/localдолжно быть четкое указание на это .NEWS

Связанный контент