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

Как мне пропатчить apache?

Итак, я использую apache 2.2.17 в системе Ubuntu (Natty Narwhal).

Мне нужно применить патч (mod_proxy_connect-2.2.16.patch), который я скачал с https://issues.apache.org/bugzilla/attachment.cgi?id=26225&action=edit

однако я никогда не делал этого раньше. Я понятия не имею, как это сделать. Похоже, мне нужно было перекомпилировать apache, но я даже не могу найти нужные пакеты (apt-get install apache2-src ничего не находит).

Может ли кто-нибудь помочь мне / направить меня в этом? Большое спасибо.

Загрузите пакет с исходным кодом и соберите зависимости:

apt-get source apache2
apt-get build-dep apache2

Примените патч к источнику:

cd apache2-2.2.17/
patch -p1 < patchfile

Соберите пакет debian:

dpkg-buildpackage -uc -us -b

Перечислите установленные в данный момент пакеты apache2:

dpkg -l | egrep '^i+ +apache2'

Установите соответствующие недавно созданные пакеты (все пакеты, перечисленные на предыдущем шаге) и перезапустите apache:

cd ..
dpkg -i apache2_2.2.17******.deb
.......

apache2ctl restart

Источник: http://base6.com/2009/06/07/patching-apache-on-debian/

- $

По всей видимости, вы установили Apache, используя apt-get - это загружает и устанавливает предварительно созданные двоичные пакеты, которые настроены для работы в стиле Debian - расположение файлов, файлы конфигурации по умолчанию, сценарии выскочки и такие тонкости, как logwatch, обрабатываются за вас.

Компиляция программного обеспечения из исходного кода в Ubuntu определенно выполнима, но в этом случае вы сами по себе примените будущие исправления и обновления версий - для чего также потребуется применить патч метода подключения через SSL, а затем повторно скомпилировать из источника (не более apt-get upgrade). И вам нужно будет придерживаться текущей версии Apache вместо той, с которой была установлена ​​ваша ОС, так как Ubuntu поддерживает исправления безопасности из новых версий).

Кроме того, вам необходимо понимать, что все в Интернете, связанное с установкой Apache на Ubuntu, вероятно, больше не применимо к вашей установке Apache - пути к файлам, файлы конфигурации, параметры компиляции будут другими.

Если вы настроены на этот подход, запустите apt-get install build-essential затем следуйте руководству Apache Вот. Возможно, это не стоит головной боли - думали ли вы о том, чтобы просто поставить что-то вроде stunnel для обработки части SSL, чтобы соединение могло поразить Apache на порту 80?

самый простой способ:

  1. установить apxs2:

apt-get install apache2-prefork-dev (или рабочий, если вы его используете)

  1. просто получите источник:

    apt-get исходный код apache2 cd apache2-2.2.17 /

  2. примените свой файл патча

  3. перейдите в каталог, где находится файл c, и запустите apxs2 -cia mod_proxy_connect.c