использование команды sed для чтения между разделами в данном файле

В этом ответе мы описываем:

  • Как загрузить и скомпилировать магистральную версию Apache (это первая версия с mod_systemd ).
  • Как скомпилировать Apache с подписями более старой версии.

Когда был опубликован этот ответ, основной версией была Apache 2.5

Скачать и скомпилировать магистральную версию Apache

Я рекомендую сделать это в тестовой среде . Я тестировал его в системе debian minbase wheezy . Для arch linux имена пакетов должны быть аналогичными, и вместо apt-get , pacman следует использовать. Сценарий configure все равно запросит все недостающие зависимости сборки.

Установить зависимости сборки (пример debian minbase wheezy)

apt-get install subversion
apt-get install autoconf
apt-get install libtool
apt-get install python
apt-get install libexpat1-dev
apt-get install libpcre3-dev
apt-get install libsystemd-daemon-dev
apt-get install g++
apt-get install make

Загрузить исходный код разработки apache

mkdir trunk
cd trunk
svn co http://svn.apache.org/repos/asf/httpd/httpd/trunk ./
svn co http://svn.apache.org/repos/asf/apr/apr/trunk srclib/apr

Настроить apache

./buildconf
./configure --enable-systemd

Сборка и установка

make
make install

Включить mod_systemd

echo "LoadModule systemd_module modules/mod_systemd.so" >> /usr/local/apache2/conf/httpd.conf

Проверить включенные модули

/usr/local/apache2/bin/apachectl -M

Скомпилировать Apache с подписями более старая версия

Если вы хотите использовать mod_systemd в более старой версии Apache, вы можете попытаться скомпилировать Apache 2.5 с подписями других версий.

Проверьте, какая у вас версия Apache

apachectl -v

Загрузите исходный код своей версии Apache

https://httpd.apache.org/download.cgi

Распакуйте его содержимое

tar xf httpd-version.tar.gz

Скопируйте файл подписи в папку с версией ствола

cp httpd-version/include/ap_mmn.h ~/trunk/include/

Скомпилируйте версию ствола с подписями других версий

cd ~/trunk
make

Скопируйте mod_systemd куда хотите

find . -name mod_systemd.so -exec cp {} destination/ \;

1
11.04.2019, 11:23
1 ответ

Не удалось получить желаемый результат с помощью echo "$(du -ksh $i)". Переключил echoна printfи получил желаемый результат. Не могу это объяснить, но тем не менее, работает.

1
27.01.2020, 23:41

Теги

Похожие вопросы