Apache httpd 2.4.33, собранный с Brotli, OpenSSL 1.1.0h, ALPN и поддержкой http2 для Red Hat Enterprise Linux и CentOS

В репозиторий добавлен Apache httpd 2.4.33 с поддержкой сжатия brotli от Google, http2 для Red Hat Enterprise Linux и CentOS. Mod_ssl собран статически с OpenSSL 1.1.0h. Ссылки:

Заметим, что модуль Http2 Apache httpd с версии 2.4.27 не поддерживает prefork mpm. Ранее, в версии 2.4.26, мы наблюдали крахи с prefork и решили не выкладывать наши билды из-за них.
Если вам нужен модуль mod_http2, отключите prefork mpm, включите worker mpm в /etc/httpd/conf.modules.d/00-mpm.conf

Это действите уже сделано в файле, который мы поставляем в пакете. Если вы обновляете вашу инсталляцию, обновите файл.

Для работы с SELinux установите следующий boolean:

setsebool -P httpd_execmem=1

Для включения brotli установите модуль и библиотеку:

yum install mod_brotli libbrotli-1.0.3

Для инсталляции проще воспользоваться нашим репозиторием. Обращаю ваше внимание на тот факт, что в зависимостях пакета присутствуют apr-util 1.5.0+ и libnghttp, которые я бы рекомендовал взять из репозитория EPEL. Таким образом, для использования Apache HTTPd проще всего подключить репозиторий EPEL:

yum install -y epel-release

Версия mod_ssl-2.4.33-2 была собрана с OpenSSL 1.1.0g. Версия mod_ssl-2.4.33-3 собрана с вышедшим сегодня OpenSSL 1.1.0h.

Apache httpd 2.4.33, собранный с Brotli, OpenSSL 1.1.0h, ALPN и поддержкой http2 для Red Hat Enterprise Linux и CentOS: 15 комментариев

      1. [Tue Mar 27 22:48:22.063423 2018] [suexec:notice] [pid 2242:tid 139825080944832] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
        [Tue Mar 27 22:48:22.063698 2018] [ssl:emerg] [pid 2242:tid 139825080944832] AH02572: Failed to configure at least one certificate and key for xxxx.xxxx.com:80
        [Tue Mar 27 22:48:22.063715 2018] [ssl:emerg] [pid 2242:tid 139825080944832] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
        [Tue Mar 27 22:48:22.063718 2018] [ssl:emerg] [pid 2242:tid 139825080944832] AH02312: Fatal error initialising mod_ssl, exiting.
        AH00016: Configuration Failed

  1. Dear Friends

    I have tried to install via: yum install mod_brotli libbrotli-1.0.3 and everything is OK, but after that I enter: yum -y update and have below errors (Polish CentOS 7.4, but you should understand):

    ——-
    —> Wykonywanie sprawdzania transakcji
    —> Pakiet libbrotli.x86_64 0:1.0.3-1.codeit.el7 zostanie zaktualizowany
    —> Przetwarzanie zależności: libbrotlicommon.so.1()(64bit) dla pakietu: mod_brotli-2.4.33-3.codeit.el7.x86_64
    —> Przetwarzanie zależności: libbrotlienc.so.1()(64bit) dla pakietu: mod_brotli-2.4.33-3.codeit.el7.x86_64
    —> Pakiet libbrotli.x86_64 0:1.0.20171011.git.805fd3b-1.el7.centos.codeit zostanie zaktualizowany
    —> Ukończono rozwiązywanie zależności
    Błąd: Pakiet: mod_brotli-2.4.33-3.codeit.el7.x86_64 (@CodeIT)
    Wymaga: libbrotlienc.so.1()(64bit)
    Usuwanie: libbrotli-1.0.3-1.codeit.el7.x86_64 (@CodeIT)
    libbrotlienc.so.1()(64bit)
    Zaktualizowano przez: libbrotli-1.0.20171011.git.805fd3b-1.el7.centos.codeit.x86_64 (CodeIT)
    ~libbrotlienc.so.0()(64bit)
    Dostępne: libbrotli-1.0.20160607.git.3f46e28-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20160706.git.77a0db1-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20160818.git.ccb89e1-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20160907.git.6b12316-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20160926.git.6b12316-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20161013.git.6b12316-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20161021.git.a258234-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20161108.git.a258234-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20170201.git.a258234-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20170227.git.a258234-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20170418.git.a258234-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Dostępne: libbrotli-1.0.20170828.git.a258234-1.el7.codeit.x86_64 (CodeIT)
    libbrotlienc.so.1()(64bit)
    Błąd: Pakiet: mod_brotli-2.4.33-3.codeit.el7.x86_64 (@CodeIT)
    Wymaga: libbrotlicommon.so.1()(64bit)
    Usuwanie: libbrotli-1.0.3-1.codeit.el7.x86_64 (@CodeIT)
    libbrotlicommon.so.1()(64bit)
    Zaktualizowano przez: libbrotli-1.0.20171011.git.805fd3b-1.el7.centos.codeit.x86_64 (CodeIT)
    Nie odnaleziono
    Można spróbować użyć —skip-broken, aby obejść problem
    Można spróbować wykonać polecenie: rpm -Va —nofiles —nodigest
    ——-

    Sincerely

    1. Dear Mateusz,

      You are right, we have a mess now with libbrotli versioning. Previously we used badger scripts to build library with 1.0.201X version. Now we switched to our own .spec file for native Google library.
      We are preparing new builds for nginx against Google library and then will remove older libbrotli-1.0.201X files from repo.

      Sorry for inconvenience and thanks for report!

    1. Then don’t do this.

      Please first do some more reading and knowledge about YUM and LINUX CENTOS.
      Then you can use the options yum repos and so on to choose wich ones manually and how to config because of updates and so on, but not having knowledge this make no sense !

  2. Update looks OK sofar thanks again.

    The yum install mod_brotli libbrotli-1.0.3 i didn’t do this

    ( APACHE only here) do you post when you are ready with the change «We are preparing new builds», or is this not involving the apache only?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *