Итак, я использую 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?
самый простой способ:
apt-get install apache2-prefork-dev
(или рабочий, если вы его используете)
просто получите источник:
apt-get исходный код apache2 cd apache2-2.2.17 /
примените свой файл патча
перейдите в каталог, где находится файл c, и запустите apxs2 -cia mod_proxy_connect.c