В настоящее время я устанавливаю 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