-# # TODO:
+# TODO:
# - config examples for mod_*
# - --with-suexec-uidmin=500 or =1000 ?
# - check those autn modules inner deps
# Conditional build:
%bcond_without ssl # build without SSL support
%bcond_without ldap # build without LDAP support
-%bcond_with itk # ITK MPM
%bcond_with distcache # distcache support
%bcond_with bucketeer # debug one
+%bcond_without http2 # HTTP/2 support
# this is internal macro, don't change to %%apache_modules_api
%define _apache_modules_api 20120211
-%define openssl_ver 0.9.8i
-%define apr_ver 1:1.4.6
+%define openssl_ver 1.0.2
+%define apr_ver 1:1.6.0
+%define apr_util_ver 1:1.6.0
%include /usr/lib/rpm/macros.perl
Summary: The most widely used Web server on the Internet
Summary(ru.UTF-8): Самый популярный веб-сервер
Summary(tr.UTF-8): Lider WWW tarayıcı
Name: apache
-Version: 2.4.4
+Version: 2.4.39
Release: 2
License: Apache v2.0
Group: Networking/Daemons/HTTP
-Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz
-# Source0-md5: a2fed766e67c9681e0d9b86768f08286
+Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
+# Source0-md5: 930e217ba2d71e708a3f1521ecae7ec0
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: %{name}.sysconfig
Source27: %{name}-mod_mime_magic.conf
Source28: %{name}-mod_cache.conf
Source29: %{name}-example.net.conf
-Source30: %{name}.tmpfiles
-Source31: %{name}.service
+Source32: %{name}-mod_http2.conf
+Source33: %{name}-mod_md.conf
Patch0: %{name}-configdir_skip_backups.patch
Patch1: %{name}-layout.patch
Patch2: %{name}-suexec.patch
Patch3: %{name}-branding.patch
Patch4: %{name}-apr.patch
-Patch5: httpd-dummy-connection-result.patch
-
Patch7: %{name}-syslibs.patch
Patch10: httpd-2.0.46-dav401dest.patch
Patch18: %{name}-v6only-ENOPROTOOPT.patch
Patch19: %{name}-conffile-path.patch
Patch20: %{name}-apxs.patch
+# Relaxed version of suexec. If called as suexec.fcgi don't check uid/gid against file owner.
+# Required by our patched mod_fcgid to run php as fcgi via suexec.
Patch23: %{name}-suexec_fcgi.patch
# http://scripts.mit.edu/trac/browser/trunk/server/common/patches/httpd-2.2.x-mod_ssl-sessioncaching.patch?rev=1348
Patch25: httpd-2.2.x-mod_ssl-sessioncaching.patch
Patch26: %{name}-mod_vhost_alias_docroot.patch
-# http://mpm-itk.sesse.net/
-Patch28: %{name}-mpm-itk.patch
Patch29: libtool-tag.patch
-Patch30: lua-lib.patch
URL: http://httpd.apache.org/
BuildRequires: apr-devel >= %{apr_ver}
-BuildRequires: apr-util-devel >= 1:1.3.10-2
+BuildRequires: apr-util-devel >= %{apr_util_ver}
BuildRequires: autoconf >= 2.50
BuildRequires: automake
%{?with_distcache:BuildRequires: distcache-devel}
+BuildRequires: libbrotli-devel >= 0.6.0
BuildRequires: libtool >= 2:1.5
-BuildRequires: lua51-devel
+BuildRequires: libxml2-devel >= 2
+BuildRequires: lua53-devel >= 5.3
+%{?with_http2:BuildRequires: nghttp2-devel >= 1.15.0}
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
%{?with_ssl:BuildRequires: openssl-devel >= %{openssl_ver}}
%{?with_ssl:BuildRequires: openssl-tools >= %{openssl_ver}}
Requires: %{name}-errordocs = %{version}-%{release}
Requires: %{name}-mod_alias = %{version}-%{release}
Requires: %{name}-mod_auth = %{version}-%{release}
+Requires: %{name}-mod_autoindex = %{version}-%{release}
+Requires: %{name}-mod_deflate = %{version}-%{release}
+Requires: %{name}-mod_dir = %{version}-%{release}
Requires: %{name}-mod_env = %{version}-%{release}
+Requires: %{name}-mod_filter = %{version}-%{release}
+Requires: %{name}-mod_headers = %{version}-%{release}
Requires: %{name}-mod_log_config = %{version}-%{release}
+Requires: %{name}-mod_logio = %{version}-%{release}
Requires: %{name}-mod_mime = %{version}-%{release}
Requires: %{name}-mod_mime_magic = %{version}-%{release}
Requires: %{name}-mod_negotiation = %{version}-%{release}
+Requires: %{name}-mod_reqtimeout = %{version}-%{release}
+Requires: %{name}-mod_rewrite = %{version}-%{release}
Requires: %{name}-mod_setenvif = %{version}-%{release}
Requires: %{name}-mod_speling = %{version}-%{release}
+Requires: %{name}-mod_status = %{version}-%{release}
Requires: %{name}-mod_userdir = %{version}-%{release}
Requires: %{name}-mod_version = %{version}-%{release}
Requires: %{name}-tools = %{version}-%{release}
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
-Requires(post,preun,postun): systemd-units >= 38
Requires: /sbin/chkconfig
Requires: apr >= %{apr_ver}
+Requires: apr-util >= %{apr_util_ver}
Requires: psmisc >= 20.1
Requires: rc-scripts >= 0.4.1.23
Requires: sed >= 4.0
-Requires: systemd-units >= 38
Provides: apache(modules-api) = %{_apache_modules_api}
Provides: group(http)
Provides: user(http)
Obsoletes: apache-mod_optional_fn_import
Obsoletes: apache-mod_optional_hook_import
Conflicts: apache < 2.2.0
+# mod_wsgi >= 3.4 is required for apache 2.4
+Conflicts: apache-mod_wsgi < 3.4
Conflicts: logrotate < 3.7-4
# for the posttrans scriptlet, conflicts because in vserver environment rpm package is not installed.
Conflicts: rpm < 4.4.2-0.2
Group: Documentation
Requires: %{name}-base = %{version}-%{release}
Obsoletes: indexhtml
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description index
Apache index.html* files.
Requires: %{name}-mod_dir = %{version}-%{release}
Requires: %{name}-mod_negotiation = %{version}-%{release}
Requires: %{name}-mod_setenvif = %{version}-%{release}
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description doc
Apache manual.
Requires: %{name}-mod_authz_host = %{version}-%{release}
Requires: %{name}-mod_include = %{version}-%{release}
Requires: %{name}-mod_negotiation = %{version}-%{release}
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description errordocs
Multi-language error messages.
Summary(pt_BR.UTF-8): Arquivos de inclusão do Apache para desenvolvimento de módulos
Summary(ru.UTF-8): Средства разработки модулей для веб-сервера Apache
Group: Networking/Utilities
-Requires: apr-util-devel >= 1:1.2
+Requires: apr-util-devel >= %{apr_util_ver}
Requires: libtool
Obsoletes: apache-apxs
Obsoletes: apache-static
Provides: apache(mod_auth_digest) = %{version}-%{release}
%description mod_auth_digest
-This module implements HTTP Digest Authentication. However, it has not
-been extensively tested and is therefore marked experimental.
+This module implements HTTP Digest Authentication.
%description mod_auth_digest -l pl.UTF-8
-Ten moduł implementuje uwierzytelnienie HTTP Digest. Nie został on
-jednak zbyt obszernie przetestowany, więc jest oznaczony jako
-eksperymentalny.
+Ten moduł implementuje uwierzytelnienie HTTP Digest.
%package mod_auth_form
Summary: Form authentication
Group: Networking/Daemons/HTTP
URL: http://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html
Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-mod_authn_core = %{version}-%{release}
Requires: %{name}-mod_ldap = %{version}-%{release}
-Requires: apr-util-ldap
+Requires: apr-util-ldap >= %{apr_util_ver}
Provides: apache(mod_authnz_ldap) = %{version}-%{release}
# compat
Provides: apache(mod_auth_ldap) = %{version}-%{release}
URL: http://httpd.apache.org/docs/2.4/mod/mod_authz_host.html
Requires: %{name}-base = %{version}-%{release}
Requires: %{name}-mod_authz_core = %{version}-%{release}
-# provides compatibility directives for 2.2-style access control
-Requires: apache(mod_access_compat) = %{version}-%{release}
Provides: apache(mod_authz_host) = %{version}-%{release}
# for apache < 2.2.0
Provides: apache(mod_access) = %{version}-%{release}
%package mod_autoindex
Summary: Apache module - display index of files
-Summary(pl.UTF-8): Moduł apache do wyświetlania indeksu plików
+Summary(pl.UTF-8): Moduł Apache'a do wyświetlania indeksu plików
Group: Networking/Daemons/HTTP
URL: http://httpd.apache.org/docs/2.4/en/mod/mod_autoindex.html
Requires: %{name}-base = %{version}-%{release}
%description mod_autoindex -l pl.UTF-8
Ten pakiet dostarcza moduł autoindex, który generuje indeks plików.
+%package mod_brotli
+Summary: Apache module: compress content via Brotli before it is delivered to the client
+Summary(pl.UTF-8): Moduł Apache'a kompresujący treść przy użyciu formatu Brotli przed wysłaniem do klienta
+Group: Networking/Daemons/HTTP
+URL: http://httpd.apache.org/docs/2.4/mod/mod_brotli.html
+Requires: %{name}-base = %{version}-%{release}
+Requires: libbrotli >= 0.6.0
+Provides: apache(mod_brotli) = %{version}-%{release}
+
+%description mod_brotli
+The mod_brotli module provides the BROTLI_COMPRESS output filter that
+allows output from your server to be compressed using the brotli
+compression format before being sent to the client over the network.
+
+%description mod_brotli -l pl.UTF-8
+Moduł mod_brotli udostępnia filtr wyjściowy BROTLI_COMPRESS,
+pozwalający na kompresowanie wyjścia z serwera przy użyciu formatu
+kompresji brotli przed wysłaniem przez sieć do klienta.
+
%package mod_bucketeer
-Summary: buckets manipulation filter
+Summary: Buckets manipulation filter
Summary(pl.UTF-8): Dzielenie kubełków po znalezieniu znaku sterującego
Group: Networking/Daemons/HTTP
Requires: %{name}-base = %{version}-%{release}
This module provides a small subset of configuration mechanisms
implemented by Russian Apache and its associated mod_charset.
-This is an experimental module and should be used with care.
-
%description mod_charset_lite -l pl.UTF-8
Translacja lub przekodowywanie znaków.
Ten moduł udostępnia niewielki podzbiór mechanizmów konfiguracyjnych
zaimplementowanych przez Russian Apache i powiązany z nim mod_charset.
-Jest to moduł eksperymentalny i należy używać go z uwagą.
-
%package mod_data
Summary: Convert response body into an RFC2397 data URL
Summary(pl.UTF-8): Konwersja ciała odpowiedzi do URL-a danych RFC2397
Group: Networking/Daemons/HTTP
URL: http://httpd.apache.org/docs/2.4/en/mod/mod_dav.html
Requires: %{name}-base = %{version}-%{release}
-Requires: apache-mod_authn_file
-Requires: apache-mod_setenvif
-Requires: apr-util-dbm-db
+Requires: apr-util-dbm-db >= %{apr_util_ver}
Provides: apache(mod_dav) = %{version}-%{release}
%description mod_dav
Group: Networking/Daemons/HTTP
URL: http://httpd.apache.org/docs/2.4/mod/mod_deflate.html
Requires: %{name}-base = %{version}-%{release}
-Requires: %{name}-mod_headers = %{version}-%{release}
Requires: %{name}-mod_filter = %{version}-%{release}
+Requires: %{name}-mod_headers = %{version}-%{release}
Provides: apache(mod_deflate) = %{version}-%{release}
%description mod_deflate
URL: http://httpd.apache.org/docs/2.4/mod/mod_headers.html
Requires: %{name}-base = %{version}-%{release}
Provides: apache(mod_headers) = %{version}-%{release}
+Provides: webserver(headers)
%description mod_headers
This package contains mod_headers module. The module allows for the
dostępny) zamiast przechowywania danych w płaskich plikach. Do
używania tego modułu nie jest wymagana żadna konfiguracja.
+%package mod_http2
+Summary: Provide HTTP/2 support for the Apache HTTP Server
+Summary(pl.UTF-8): Obsługa HTTP/2 dla serwera HTTP Apache
+Group: Networking/Daemons/HTTP
+URL: http://httpd.apache.org/docs/2.4/mod/mod_http2.html
+Requires: %{name}-base = %{version}-%{release}
+Requires: nghttp2 >= 1.15.0
+Provides: apache(mod_http2) = %{version}-%{release}
+
+%description mod_http2
+This module provides HTTP/2 (RFC 7540) support for the Apache HTTP
+Server.
+
+%description mod_http2 -l pl.UTF-8
+Ten moduł zapewnia obsługę HTTP/2 (RFC 7540) dla serwera HTTP Apache.
+
%package mod_ident
Summary: RFC 1413 ident lookups
Summary(pl.UTF-8): Sprawdzanie identyfikacji RFC 1413
the Lua programming language. The extension points (hooks) available
with mod_lua include many of the hooks available to natively compiled
Apache HTTP Server modules, such as mapping requests to files,
-generating dynamic responses, access control, authentication,
-and authorization.
+generating dynamic responses, access control, authentication, and
+authorization.
%description mod_lua -l pl.UTF-8
Ten moduł pozwala na rozszerzanie serwera poprzez skrypty napisane w
pliki, generowanie dynamicznych odpowiedzi, kontrola dostępu,
uwierzytelnianie i autoryzacja.
+%package mod_macro
+Summary: Provides macros within Apache runtime configuration files
+Summary(pl.UTF-8): Makra wewnątrz klików konfiguracyjnych Apache'a
+Group: Networking/Daemons/HTTP
+URL: http://httpd.apache.org/docs/2.4/mod/mod_macro.html
+Requires: %{name}-base = %{version}-%{release}
+Provides: apache(mod_macro) = %{version}-%{release}
+
+%description mod_macro
+This module provides macros within Apache runtime configuration files.
+These macros have parameters. They are expanded when used (parameters
+are substituted by their values given as an argument), and the result
+is processed normally.
+
+%description mod_macro -l pl.UTF-8
+Ten moduł umożliwia tworzenie makr wewnątrz plików konfiguracyjnych
+Apache'a. Makra mogą mieć parametry. Makra są rozwijane w momencie
+użycia (argumenty makra są podstawiane za wartości parametrów), a
+wynik jest przetwarzany jak normalna konfiguracja.
+
+%package mod_md
+Summary: Managing certificate provisioning via the ACME protocol
+Summary(pl.UTF-8): Zarządzanie certyfikatami przez protokół ACME
+Group: Networking/Daemons/HTTP
+URL: http://httpd.apache.org/docs/2.4/mod/mod_macro.html
+Requires: %{name}-base = %{version}-%{release}
+Requires: apache(mod_watchdog) = %{version}-%{release}
+Provides: apache(mod_md) = %{version}-%{release}
+
+%description mod_md
+This module manages common properties of domains for one or more
+virtual hosts. Specifically it can use the ACME protocol to automate
+certificate provisioning. These will be configured for managed domains
+and their virtual hosts automatically. This includes renewal of
+certificates before they expire.
+
+%description mod_md -l pl.UTF-8
+Moduł zarządzający właściwościami domen dla jednego lub więcej hostów
+wirtualnych. Może używać protokołu ACME do automatyzacji obsługi
+certyfikatów. Certyfikaty będą automatycznie aktywowane dla
+zarządzanych domen i hostów wirtualnych w tych domenach. Będą również
+automatycznie odnawianie przed wygaśnięciem.
+
%package mod_mime
Summary: Associates the requested filename's extensions with the file's behavior and content
Summary(pl.UTF-8): Wiązanie określonych rozszerzeń plików z zachowaniem i zawartością
URL: http://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html
Requires: %{name}-base = %{version}-%{release}
Provides: apache(mod_reqtimeout) = %{version}-%{release}
-Provides: webserver(reqtimeout)
%description mod_reqtimeout
Apache module to set timeout and minimum data rate for receiving
URL: http://httpd.apache.org/docs/2.4/mod/mod_session_crypto.html
Requires: %{name}-base = %{version}-%{release}
Requires: %{name}-mod_session = %{version}-%{release}
+Requires: apr-util-crypto-openssl >= %{apr_util_ver}
Provides: apache(mod_session_crypto) = %{version}-%{release}
%description mod_session_crypto
regularnych. Te zmienne środowiskowe mogą być używane przez inne
części serwera do podejmowania decyzji o podejmowanych akcjach.
-%package mod_slotmem_plain
+%package mod_slotmem
Summary: Slot-based shared memory provider
Summary(pl.UTF-8): Moduł zapewniający pamięć dzieloną w oparciu o sloty
Group: Networking/Daemons/HTTP
URL: http://httpd.apache.org/docs/2.4/mod/mod_slotmem_plain.html
+#URL: http://httpd.apache.org/docs/2.4/mod/mod_slotmem_shm.html
Requires: %{name}-base = %{version}-%{release}
+Provides: apache(mod_slotmem) = %{version}-%{release}
Provides: apache(mod_slotmem_plain) = %{version}-%{release}
+Provides: apache(mod_slotmem_shm) = %{version}-%{release}
+Obsoletes: apache-mod_slotmem_plain
+Obsoletes: apache-mod_slotmem_shm
-%description mod_slotmem_plain
+%description mod_slotmem
mod_slotmem_plain is a memory provider which provides for creation and
access to a plain memory segment in which the datasets are organized
in "slots."
If the memory needs to be shared between threads and processes, a
better provider would be mod_slotmem_shm.
-%description mod_slotmem_plain -l pl.UTF-8
-mod_slotmem_plain to moduł dostarczający pamięć, pozwalający na
-tworzenie i dostęp do segmentu zwykłej pamięci, w której zbiory danych
-są zorganizowane w "sloty".
-
-Jeśli pamięć musi być dzielona między wątki i procesy, lepszym
-rozwiązaniem będzie mod_slotmem_shm.
-
-%package mod_slotmem_shm
-Summary: Slot-based shared memory provider
-Summary(pl.UTF-8): Moduł zapewniający pamięć dzieloną w oparciu o sloty
-Group: Networking/Daemons/HTTP
-URL: http://httpd.apache.org/docs/2.4/mod/mod_slotmem_shm.html
-Requires: %{name}-base = %{version}-%{release}
-Provides: apache(mod_slotmem_shm) = %{version}-%{release}
-
-%description mod_slotmem_shm
mod_slotmem_shm is a memory provider which provides for creation and
access to a shared memory segment in which the datasets are organized
in "slots."
graceful or not. The data itself is stored and restored within a file
noted by the name parameter in the create and attach calls.
-%description mod_slotmem_shm -l pl.UTF-8
+%description mod_slotmem -l pl.UTF-8
+mod_slotmem_plain to moduł dostarczający pamięć, pozwalający na
+tworzenie i dostęp do segmentu zwykłej pamięci, w której zbiory danych
+są zorganizowane w "sloty".
+
+Jeśli pamięć musi być dzielona między wątki i procesy, lepszym
+rozwiązaniem będzie mod_slotmem_shm.
+
mod_slotmem_plain to moduł dostarczający pamięć, pozwalający na
tworzenie i dostęp do segmentu pamięci dzielonej, w której zbiory
danych są zorganizowane w "sloty".
dane są zapisywane i odtwarzane z pliku o nazwie podawanej jako
parametr przy wywołaniach tworzenia i podłączania.
-%package mod_socache_dbm
-Summary: DBM based shared object cache provider
-Summary(pl.UTF-8): Moduł zapewniający współdzieloną pamięć podręczną obiektów w oparciu o DBM
+%package mod_socache
+Summary: Shared object cache provider
+Summary(pl.UTF-8): Moduł zapewniający współdzieloną pamięć podręczną obiektów
Group: Networking/Daemons/HTTP
URL: http://httpd.apache.org/docs/2.4/mod/mod_socache_dbm.html
+#URL: http://httpd.apache.org/docs/2.4/mod/mod_socache_memcache.html
+#URL: http://httpd.apache.org/docs/2.4/mod/mod_socache_shmcb.htm
Requires: %{name}-base = %{version}-%{release}
+Provides: apache(mod_socache) = %{version}-%{release}
Provides: apache(mod_socache_dbm) = %{version}-%{release}
+Provides: apache(mod_socache_memcache) = %{version}-%{release}
+Provides: apache(mod_socache_redis) = %{version}-%{release}
+Provides: apache(mod_socache_shmcb) = %{version}-%{release}
+Obsoletes: apache-mod_socache_dbm
+Obsoletes: apache-mod_socache_memcache
+Obsoletes: apache-mod_socache_shmcb
-%description mod_socache_dbm
+%description mod_socache
mod_socache_dbm is a shared object cache provider which provides for
creation and access to a cache backed by a DBM database.
-%description mod_socache_dbm -l pl.UTF-8
-mod_socache_dbm to moduł dostarczający współdzieloną pamięć podręczną
-obiektów, zapewniający tworzenie i dostęp do cache'a zapisywanego w
-bazie DBM.
-
-%package mod_socache_memcache
-Summary: Memcache based shared object cache provider
-Summary(pl.UTF-8): Moduł zapewniający współdzieloną pamięć podręczną obiektów w oparciu o memcache
-Group: Networking/Daemons/HTTP
-URL: http://httpd.apache.org/docs/2.4/mod/mod_socache_memcache.html
-Requires: %{name}-base = %{version}-%{release}
-Provides: apache(mod_socache_memcache) = %{version}-%{release}
-
-%description mod_socache_memcache
mod_socache_memcache is a shared object cache provider which provides
for creation and access to a cache backed by the memcached
high-performance, distributed memory object caching system.
-%description mod_socache_memcache -l pl.UTF-8
-mod_socache_dbm to moduł dostarczający współdzieloną pamięć podręczną
-obiektów, zapewniający tworzenie i dostęp do cache'a zapisywanego w
-systemie memcached - wysoko wydajnym, ozproszonym systemie pamięci
-podręcznej obiektów.
-
-%package mod_socache_shmcb
-Summary: shmcb based shared object cache provider
-Summary(pl.UTF-8): Moduł zapewniający współdzieloną pamięć podręczną obiektów w oparciu o shmcb
-Group: Networking/Daemons/HTTP
-URL: http://httpd.apache.org/docs/2.4/mod/mod_socache_shmcb.html
-Requires: %{name}-base = %{version}-%{release}
-Provides: apache(mod_socache_shmcb) = %{version}-%{release}
+mod_socache_redis is a shared object cache provider which provides
+for creation and access to a cache backed by the redis
+high-performance, distributed memory object caching system.
-%description mod_socache_shmcb
mod_socache_shmcb is a shared object cache provider which provides for
creation and access to a cache backed by a high-performance cyclic
buffer inside a shared memory segment.
-%description mod_socache_shmcb -l pl.UTF-8
+%description mod_socache -l pl.UTF-8
mod_socache_dbm to moduł dostarczający współdzieloną pamięć podręczną
obiektów, zapewniający tworzenie i dostęp do cache'a zapisywanego w
+bazie DBM.
+
+mod_socache_memcache to moduł dostarczający współdzieloną pamięć podręczną
+obiektów, zapewniający tworzenie i dostęp do cache'a zapisywanego w
+systemie memcached - wysoko wydajnym, ozproszonym systemie pamięci
+podręcznej obiektów.
+
+mod_socache_redis to moduł dostarczający współdzieloną pamięć podręczną
+obiektów, zapewniający tworzenie i dostęp do cache'a zapisywanego w
+systemie redis - wysoko wydajnym, ozproszonym systemie pamięci
+podręcznej obiektów.
+
+mod_socache_shmcb to moduł dostarczający współdzieloną pamięć podręczną
+obiektów, zapewniający tworzenie i dostęp do cache'a zapisywanego w
wysoko wydajnym buforze cyklicznym wewnątrz segmentu pamięci
dzielonej.
Group: Networking/Daemons/HTTP
URL: http://httpd.apache.org/docs/2.4/mod/mod_ssl.html
Requires: %{name}-base = %{version}-%{release}
-Requires: %{name}-mod_socache_shmcb = %{version}-%{release}
+Requires: apr-util-dbm-db >= %{apr_util_ver}
Requires: openssl >= %{openssl_ver}
-Requires: apr-util-dbm-db
+Suggests: %{name}-mod_socache = %{version}-%{release}
Provides: apache(mod_ssl) = 1:%{version}-%{release}
%description mod_ssl
Group: Networking/Utilities
Requires: %{name}-base = %{version}-%{release}
Requires: filesystem >= 2.0-1
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description cgi_test
Two cgi test/demo programs: test-cgi and print-env.
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%patch7 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
-# ?
-#%patch23 -p1
+%patch23 -p1
# ?
#%patch25 -p1
# ?
#%patch26 -p1
-# probably drop
-#%patch28 -p1
%patch29 -p1
-%patch30 -p1
# sanity check
MODULES_API=`awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' include/ap_mmn.h`
exit 1
fi
-# fix libdir (at least in PLD layout; no need to care about other ones)
+# fix libdir (at least in TLD layout; no need to care about other ones)
sed -i -e 's,/lib$,/%{_lib},' config.layout
%build
--enable-auth-dbm \
--enable-authn-dbd \
--enable-authn-alias \
+ %{?with_ldap:--enable-authnz-ldap} \
--enable-authz-dbm \
--enable-authz-owner \
- %{?with_ldap:--enable-authnz-ldap} \
--enable-auth-digest \
- --enable-file-cache \
+ %{?with_bucketeer:--enable-bucketeer} \
--enable-cache \
--enable-disk-cache \
+ --enable-file-cache \
--enable-mem-cache \
- --enable-dbd \
- %{?with_bucketeer:--enable-bucketeer} \
- --enable-dumpio \
- --enable-echo \
+ --enable-cern-meta \
+ --enable-cgi \
+ --enable-cgid \
--enable-charset-lite \
+ --enable-dbd \
--enable-deflate \
- %{?with_ldap:--enable-ldap} \
- --enable-ext-filter \
+ --enable-dumpio \
--enable-case-filter \
--enable-case-filter-in \
+ --enable-dav \
+ --enable-dav-fs \
+ --enable-dav-lock \
+ --enable-echo \
+ --enable-ext-filter \
+ --enable-expires \
+ --enable-headers \
+ --enable-http \
+ %{__enable_disable http2} \
+ --enable-ident \
+ --enable-imagemap \
+ --enable-info \
+ %{?with_ldap:--enable-ldap} \
--enable-log-forensic \
--enable-logio \
--enable-lua \
- --with-z=%{_prefix} \
--enable-mime-magic \
- --enable-cern-meta \
- --enable-expires \
- --enable-headers \
- --enable-ident \
- --enable-usertrack \
- --enable-unique-id \
+ --enable-mpms-shared=all \
+%ifarch %{ix86}
+%ifnarch i386 i486
+ --enable-nonportable-atomics=yes \
+%endif
+%endif
--enable-proxy \
--enable-proxy-connect \
--enable-proxy-ftp \
--enable-proxy-http \
+ --enable-proxy-http2 \
--enable-proxy-ajp \
--enable-proxy-balancer \
+ --enable-proxy-fdpass \
+ --enable-rewrite \
+ --enable-so \
+ --enable-speling \
%{?with_ssl:--enable-ssl %{?with_distcache:--enable-distcache}} \
- --enable-http \
- --enable-dav \
- --enable-info \
--enable-suexec \
- --enable-cgi \
- --enable-cgid \
- --enable-dav-fs \
- --enable-dav-lock \
+ --enable-unique-id \
+ --enable-usertrack \
--enable-vhost-alias \
- --enable-imagemap \
- --enable-speling \
- --enable-rewrite \
- --enable-so \
+ --with-apr=%{_bindir}/apr-1-config \
+ --with-apr-util=%{_bindir}/apu-1-config \
+ --with-lua=/usr \
+ --with-pcre \
--with-program-name=httpd \
- --enable-mpms-shared=all \
-%ifarch %{ix86}
-%ifnarch i386 i486
- --enable-nonportable-atomics=yes \
-%endif
-%endif
--with-suexec-bin=%{_sbindir}/suexec \
--with-suexec-caller=http \
--with-suexec-docroot=%{_datadir} \
--with-suexec-uidmin=500 \
--with-suexec-gidmin=500 \
--with-suexec-umask=077 \
- --with-apr=%{_bindir}/apr-1-config \
- --with-apr-util=%{_bindir}/apu-1-config \
- --with-pcre
+ --with-z=%{_prefix}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,systemd/system} \
+install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \
$RPM_BUILD_ROOT%{_var}/{log/{httpd,archive/httpd},{run,cache}/httpd,lock/mod_dav} \
+ $RPM_BUILD_ROOT%{_var}/lib/httpd/md \
$RPM_BUILD_ROOT%{_sysconfdir}/{webapps.d,conf.d,vhosts.d} \
- $RPM_BUILD_ROOT%{_datadir}/{cgi-bin,vhosts} \
- $RPM_BUILD_ROOT%{systemdtmpfilesdir} \
- $RPM_BUILD_ROOT%{systemdunitdir}
+ $RPM_BUILD_ROOT%{_datadir}/{cgi-bin,vhosts}
-%{__make} -C build install \
+%{__make} -j 1 -C build install \
DESTDIR=$RPM_BUILD_ROOT
# clean "ccache" prefix. confuses other build systems (like php)
%{__sed} -i -re '/^(CC|CPP|CXX)/ s/ccache //' $RPM_BUILD_ROOT%{_libdir}/%{name}/build/config_vars.mk
-install %{SOURCE31} $RPM_BUILD_ROOT%{systemdunitdir}/httpd.service
-ln -s %{systemdunitdir}/httpd.service $RPM_BUILD_ROOT/etc/systemd/system/httpd.service
ln -s %{_libexecdir} $RPM_BUILD_ROOT%{_sysconfdir}/modules
ln -s %{_localstatedir}/run/httpd $RPM_BUILD_ROOT%{_sysconfdir}/run
ln -s %{_var}/log/httpd $RPM_BUILD_ROOT%{_sysconfdir}/logs
+ln -s %{_var}/lib/httpd/md $RPM_BUILD_ROOT%{_sysconfdir}/md
+
# we have own apache.conf
rm $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
-ln -s conf.d $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd
cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/httpd
cp -a %{SOURCE26} $CFG/01_mod_log_config.conf
cp -a %{SOURCE27} $CFG/01_mod_mime_magic.conf
cp -a %{SOURCE28} $CFG/01_mod_cache.conf
+cp -a %{SOURCE32} $CFG/01_mod_http2.conf
cp -a %{SOURCE8} $CFG/20_mod_vhost_alias.conf
cp -a %{SOURCE9} $CFG/25_mod_status.conf
cp -a %{SOURCE10} $CFG/30_mod_proxy.conf
cp -a %{SOURCE20} $CFG/16_mod_userdir.conf
cp -a %{SOURCE21} $CFG/10_mpm.conf
cp -a %{SOURCE22} $CFG/20_languages.conf
-cp -a %{SOURCE29} $RPM_BUILD_ROOT%{_sysconfdir}/vhosts.d/example.net.conf
+cp -a %{SOURCE33} $CFG/60_mod_md.conf
-install %{SOURCE30} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
-
-echo "LoadModule access_compat_module modules/mod_access_compat.so" > $CFG/00_mod_access_compat.conf
-echo "LoadModule actions_module modules/mod_actions.so" > $CFG/00_mod_actions.conf
-echo "LoadModule alias_module modules/mod_alias.so" > $CFG/00_mod_alias.conf
-echo "LoadModule allowmethods_module modules/mod_allowmethods.so" > $CFG/00_mod_allowmethods.conf
-echo "LoadModule asis_module modules/mod_asis.so" > $CFG/00_mod_asis.conf
-echo "LoadModule auth_basic_module modules/mod_auth_basic.so" > $CFG/00_mod_auth_basic.conf
-echo "LoadModule auth_digest_module modules/mod_auth_digest.so" > $CFG/00_mod_auth_digest.conf
-echo "LoadModule auth_form_module modules/mod_auth_form.so" > $CFG/00_mod_auth_form.conf
-echo "LoadModule authn_anon_module modules/mod_authn_anon.so" > $CFG/00_mod_authn_anon.conf
-echo "LoadModule authn_core_module modules/mod_authn_core.so" > $CFG/00_mod_authn_core.conf
-echo "LoadModule authn_dbd_module modules/mod_authn_dbd.so" > $CFG/00_mod_authn_dbd.conf
-echo "LoadModule authn_dbm_module modules/mod_authn_dbm.so" > $CFG/00_mod_authn_dbm.conf
-echo "LoadModule authn_file_module modules/mod_authn_file.so" > $CFG/00_mod_authn_file.conf
-echo "LoadModule authn_socache_module modules/mod_authn_socache.so" > $CFG/00_mod_authn_socache.conf
-echo "LoadModule authnz_ldap_module modules/mod_authnz_ldap.so" > $CFG/00_mod_authnz_ldap.conf
-echo "LoadModule authz_core_module modules/mod_authz_core.so" > $CFG/00_mod_authz_core.conf
-echo "LoadModule authz_dbd_module modules/mod_authz_dbd.so" > $CFG/00_mod_authz_dbd.conf
-echo "LoadModule authz_dbm_module modules/mod_authz_dbm.so" > $CFG/00_mod_authz_dbm.conf
-echo "LoadModule authz_groupfile_module modules/mod_authz_groupfile.so" > $CFG/00_mod_authz_groupfile.conf
-echo "LoadModule authz_owner_module modules/mod_authz_owner.so" > $CFG/00_mod_authz_owner.conf
-echo "LoadModule authz_user_module modules/mod_authz_user.so" > $CFG/00_mod_authz_user.conf
-echo "LoadModule buffer_module modules/mod_buffer.so" > $CFG/00_mod_buffer.conf
-%if %{with bucketeer}
-echo "LoadModule bucketeer_module modules/mod_bucketeer.so" > $CFG/00_mod_bucketeer.conf
-%endif
-echo "LoadModule case_filter_in_module modules/mod_case_filter_in.so" > $CFG/00_mod_case_filter_in.conf
-echo "LoadModule case_filter_module modules/mod_case_filter.so" > $CFG/00_mod_case_filter.conf
-echo "LoadModule cern_meta_module modules/mod_cern_meta.so" > $CFG/00_mod_cern_meta.conf
-echo "LoadModule cgi_module modules/mod_cgi.so" > $CFG/00_mod_cgi.conf
-echo "LoadModule charset_lite_module modules/mod_charset_lite.so" > $CFG/00_mod_charset_lite.conf
-echo "LoadModule data_module modules/mod_data.so" > $CFG/00_mod_data.conf
-echo "LoadModule dbd_module modules/mod_dbd.so" > $CFG/00_mod_dbd.conf
-echo "LoadModule dialup_module modules/mod_dialup.so" > $CFG/00_mod_dialup.conf
-echo "LoadModule dumpio_module modules/mod_dumpio.so" > $CFG/00_mod_dumpio.conf
-echo "LoadModule echo_module modules/mod_echo.so" > $CFG/00_mod_echo.conf
-echo "LoadModule env_module modules/mod_env.so" > $CFG/00_mod_env.conf
-echo "LoadModule expires_module modules/mod_expires.so" > $CFG/00_mod_expires.conf
-echo "LoadModule ext_filter_module modules/mod_ext_filter.so" > $CFG/00_mod_ext_filter.conf
-echo "LoadModule file_cache_module modules/mod_file_cache.so" > $CFG/00_mod_file_cache.conf
-echo "LoadModule filter_module modules/mod_filter.so" > $CFG/00_mod_filter.conf
-echo "LoadModule headers_module modules/mod_headers.so" > $CFG/00_mod_headers.conf
-echo "LoadModule heartbeat_module modules/mod_heartbeat.so" > $CFG/01_mod_heartbeat.conf
-echo "LoadModule heartmonitor_module modules/mod_heartmonitor.so" > $CFG/01_mod_heartmonitor.conf
-echo "LoadModule ident_module modules/mod_ident.so" > $CFG/00_mod_ident.conf
-echo "LoadModule imagemap_module modules/mod_imagemap.so" > $CFG/00_mod_imagemap.conf
-echo "LoadModule include_module modules/mod_include.so" > $CFG/00_mod_include.conf
-echo "LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so" > $CFG/00_mod_lbmethod_bybusyness.conf
-echo "LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so" > $CFG/00_mod_lbmethod_byrequests.conf
-echo "LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so" > $CFG/00_mod_lbmethod_bytraffic.conf
-echo "LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so" > $CFG/00_mod_lbmethod_heartbeat.conf
-echo "LoadModule ldap_module modules/mod_ldap.so" > $CFG/00_mod_ldap.conf
-echo "LoadModule log_debug_module modules/mod_log_debug.so" > $CFG/00_mod_log_debug.conf
-echo "LoadModule log_forensic_module modules/mod_log_forensic.so" > $CFG/00_mod_log_forensic.conf
-echo "LoadModule logio_module modules/mod_logio.so" > $CFG/00_mod_logio.conf
-echo "LoadModule lua_module modules/mod_lua.so" > $CFG/00_mod_lua.conf
-echo "LoadModule negotiation_module modules/mod_negotiation.so" > $CFG/00_mod_negotiation.conf
-echo "LoadModule ratelimit_module modules/mod_ratelimit.so" > $CFG/00_mod_ratelimit.conf
-echo "LoadModule reflector_module modules/mod_reflector.so" > $CFG/00_mod_reflector.conf
-echo "LoadModule remoteip_module modules/mod_remoteip.so" > $CFG/00_mod_remoteip.conf
-echo "LoadModule reqtimeout_module modules/mod_reqtimeout.so" >> $CFG/00_mod_reqtimeout.conf
-echo "LoadModule request_module modules/mod_request.so" > $CFG/00_mod_request.conf
-echo "LoadModule rewrite_module modules/mod_rewrite.so" > $CFG/00_mod_rewrite.conf
-echo "LoadModule sed_module modules/mod_sed.so" > $CFG/00_mod_sed.conf
-echo "LoadModule session_cookie_module modules/mod_session_cookie.so" > $CFG/00_mod_session_cookie.conf
-echo "LoadModule session_crypto_module modules/mod_session_crypto.so" > $CFG/00_mod_session_crypto.conf
-echo "LoadModule session_dbd_module modules/mod_session_dbd.so" > $CFG/00_mod_session_dbd.conf
-echo "LoadModule session_module modules/mod_session.so" > $CFG/00_mod_session.conf
-echo "LoadModule setenvif_module modules/mod_setenvif.so" > $CFG/00_mod_setenvif.conf
-echo "LoadModule slotmem_plain_module modules/mod_slotmem_plain.so" > $CFG/00_mod_slotmem_plain.conf
-echo "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" > $CFG/00_mod_slotmem_shm.conf
-echo "LoadModule socache_dbm_module modules/mod_socache_dbm.so" > $CFG/00_mod_socache_dbm.conf
-echo "LoadModule socache_memcache_module modules/mod_socache_memcache.so" > $CFG/00_mod_socache_memcache.conf
-echo "LoadModule socache_shmcb_module modules/mod_socache_shmcb.so" > $CFG/00_mod_socache_shmcb.conf
-echo "LoadModule speling_module modules/mod_speling.so" > $CFG/00_mod_speling.conf
-echo "LoadModule substitute_module modules/mod_substitute.so" > $CFG/00_mod_substitute.conf
-echo "LoadModule unique_id_module modules/mod_unique_id.so" > $CFG/00_mod_unique_id.conf
-echo "LoadModule usertrack_module modules/mod_usertrack.so" > $CFG/00_mod_usertrack.conf
-echo "LoadModule version_module modules/mod_version.so" > $CFG/00_mod_version.conf
-echo "LoadModule watchdog_module modules/mod_watchdog.so" > $CFG/00_mod_watchdog.conf
-echo "LoadModule xml2enc_module modules/mod_xml2enc.so" > $CFG/00_mod_xml2enc.conf
+cp -a %{SOURCE29} $RPM_BUILD_ROOT%{_sysconfdir}/vhosts.d/example.net.conf
+LoadModule() {
+ local index=$1 module=$2 conffile
+ conffile=${3:-$module}
+ echo "LoadModule ${module}_module modules/mod_$module.so" > $CFG/${index}_mod_${conffile}.conf
+}
+
+for module in access_compat actions alias allowmethods asis auth_basic \
+ auth_digest auth_form authn_anon authn_core authn_dbd authn_dbm \
+ authn_file authn_socache authnz_ldap authz_core authz_dbd \
+ authz_dbm authz_groupfile authz_owner authz_user brotli \
+ %{?with_bucketeer:bucketeer} buffer \
+ case_filter_in case_filter cern_meta cgi charset_lite \
+ data dbd dialup dumpio \
+ echo env expires ext_filter \
+ file_cache filter \
+ headers heartbeat heartmonitor \
+ ident imagemap include \
+ lbmethod_bybusyness lbmethod_byrequests lbmethod_bytraffic \
+ lbmethod_heartbeat ldap log_debug log_forensic logio lua \
+ macro md negotiation \
+ ratelimit reflector remoteip reqtimeout request rewrite \
+ sed session_cookie session_crypto session_dbd session setenvif \
+ slotmem_plain slotmem_shm socache_dbm socache_memcache \
+ socache_redis socache_shmcb speling substitute \
+ unique_id usertrack version watchdog xml2enc; do
+
+ LoadModule 00 $module
+done
# anything in style dir not ending with .css is trash
%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/manual/style/{lang,latex,xsl}
%useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
%pretrans base
-# change httpd.conf from dir to symlink
-if [ ! -L /etc/httpd/httpd.conf ]; then
- if [ -d /etc/httpd/httpd.conf ]; then
- if [ -d /etc/httpd/conf.d ]; then
- mv /etc/httpd/httpd.conf/* /etc/httpd/conf.d
- rmdir /etc/httpd/httpd.conf 2>/dev/null || mv -v /etc/httpd/httpd.conf{,.rpmsave}
- else
- mv /etc/httpd/httpd.conf /etc/httpd/conf.d
- fi
-
- # new module packages issue error as first installed over 2.0 installation
- mv -f /var/lock/subsys/httpd{,.disabled} 2>/dev/null
- fi
-
- # always have httpd.conf symlink (until all packages from Ac use new dir)
- install -d /etc/httpd
- ln -s conf.d /etc/httpd/httpd.conf
-fi
+# handle $HTTPD_MPM from sysconfig
if [ -f /etc/sysconfig/httpd ]; then
- MPM=$(grep ^HTTPD_MPM /etc/sysconfig/httpd |sed 's,HTTPD_MPM=,,;s,",,g')
- if [ -n $MPM ]; then
- echo "LoadModule mpm_${MPM}_module modules/mod_mpm_${MPM}.so" > /etc/httpd/conf.d/10_mpm.conf.rpmnew
- cat /etc/httpd/conf.d/10_mpm.conf >> /etc/httpd/conf.d/10_mpm.conf.rpmnew
- mv /etc/httpd/conf.d/10_mpm.conf.rpmnew /etc/httpd/conf.d/10_mpm.conf
- sed -i -e 's,HTTPD_MPM.*,,g' /etc/sysconfig/httpd
- fi
+ MPM=$(grep ^HTTPD_MPM /etc/sysconfig/httpd | sed 's,HTTPD_MPM=,,;s,",,g')
+ if [ -n "$MPM" ]; then
+ echo "LoadModule mpm_${MPM}_module modules/mod_mpm_${MPM}.so" > /etc/httpd/conf.d/10_mpm.conf.rpmnew
+ cat /etc/httpd/conf.d/10_mpm.conf >> /etc/httpd/conf.d/10_mpm.conf.rpmnew
+ mv -f /etc/httpd/conf.d/10_mpm.conf.rpmnew /etc/httpd/conf.d/10_mpm.conf
+ sed -i -e 's,HTTPD_MPM.*,,g' /etc/sysconfig/httpd
+ fi
fi
exit 0
/sbin/chkconfig --add httpd
umask 137
touch /var/log/httpd/{access,error,agent,referer}_log
-%systemd_post httpd.service
%preun base
if [ "$1" = "0" ]; then
%service httpd stop
/sbin/chkconfig --del httpd
fi
-%systemd_preun httpd.service
%postun base
if [ "$1" = "0" ]; then
%userremove http
%groupremove http
fi
-%systemd_reload
-
-%triggerpostun base -- %{name} < 2.0.50-6.9
-%banner %{name}-2.0.50-6 << EOF
-WARNING!!!
-Since apache-2.0.50-6 autoindex module has been separated to package
-%{name}-mod_autoindex If you want to have the same functionality do:
-poldek -Uv %{name}-mod_autoindex
-EOF
-
-%triggerpostun base -- %{name} < 2.0.54-4
-%banner %{name}-2.0.54-2 << EOF
-WARNING!!!
-CGI demo/test programs - printenv and test-cgi, have been released
-from package apache into separate subpackage apache-cgi_test. If you
-need printenv and/or test-cgi, please install apache-cgi_test package,
-e.g. by running poldek -Uv apache-cgi_test
-EOF
-
-# update /etc/sysconfig/apache -> httpd rename
-if [ -f /etc/sysconfig/apache.rpmsave ]; then
- cp -f /etc/sysconfig/httpd{,.rpmnew}
- mv -f /etc/sysconfig/{apache.rpmsave,httpd}
-fi
-
-%triggerpostun base -- %{name} < 2.0.55-3.1
-# check for config first as in 2.2 it's .rpmsave
-if [ -f /etc/httpd/httpd.conf/10_httpd.conf ]; then
- if ! grep -q 'Include webapps.d/' /etc/httpd/httpd.conf/10_httpd.conf; then
- # make sure webapps.d is included
- cp -f /etc/httpd/httpd.conf/10_httpd.conf{,.rpmsave}
- # this file is ugly, so just append new lines
- cat <<-EOF >> /etc/httpd/httpd.conf/10_httpd.conf
- # Include webapps config
- Include webapps.d/*.conf
-EOF
- fi
-fi
-%triggerpostun base -- %{name} < 2.4.0
-cp -f /etc/httpd/apache.conf{,.rpmsave}
-sed -i -e '
- /^DefaultType.*/s,.*,,
- /^Include /s,^Include ,IncludeOptional ,
- /^NameVirtualHost.*/s,.*,,
- /^User/s,^,LoadModule unixd_module modules/mod_unixd.so\n,
-' /etc/httpd/apache.conf
-sed -i -e '
- s,^LockFile /var/run/httpd/accept.lock,Mutex file:/var/run/httpd/,g
-' /etc/httpd/conf.d/10_mpm.conf
-
-%triggerpostun base -- %{name} < 2.2.0
-# change HTTPD_CONF to point to new location. *only* if it's the
-# default config setting
-cp -f /etc/sysconfig/httpd{,.rpmorig}
-sed -i -e '/^HTTPD_CONF="\/etc\/httpd\/httpd.conf"/s,.*,HTTPD_CONF="/etc/httpd/apache.conf",' /etc/sysconfig/httpd
-
-if [ -f /etc/httpd/conf.d/10_httpd.conf.rpmsave ]; then
- sed -e '
- # as separate modules
- /^LoadModule access_module/s,^,#,
- /^LoadModule alias_module/s,^,#,
- /^LoadModule asis_module/s,^,#,
- /^LoadModule cern_meta_module/s,^,#,
- /^LoadModule cgi_module/s,^,#,
- /^LoadModule env_module/s,^,#,
- /^LoadModule include_module/s,^,#,
- /^LoadModule log_config_module/s,^,#,
- /^LoadModule mime_magic_module/s,^,#,
- /^LoadModule mime_module/s,^,#,
- /^LoadModule negotiation_module/s,^,#,
- /^LoadModule setenvif_module/s,^,#,
- /^LoadModule speling_module/s,^,#,
- /^LoadModule userdir_module/s,^,#,
-
- # in 30_errordocs.conf
- /<IfModule mod_include.c>/,/<\/IfModule>/s,^,#,
-
- # in 57_mod_autoindex.conf
- /^Alias \/icons\//s,^,#,
-
- # in apache.conf
- /^ScriptAlias \/cgi-bin\//s,^,#,
- /^Listen 80/s,^,#,
-
- # avoid loops
- /Include conf.d\/\*.conf/s,^,#,
- /Include webapps.d\/\*.conf/s,^,#,
-
- ' < /etc/httpd/conf.d/10_httpd.conf.rpmsave > /etc/httpd/conf.d/10_httpd.conf
-fi
-
-%banner -e %{name} <<'EOF'
-NB! Apache main config has been changed to /etc/httpd/apache.conf
-
-There has been changed a lot, so many things could be broken.
-Please report bugs to <http://bugs.pld-linux.org/>.
-
-EOF
-
-%triggerpostun base -- %{name} < 2.2.22-2
+%triggerpostun base -- %{name}-base < 2.2.22-2
. /etc/sysconfig/httpd
if [ -z "$HTTPD_CONF" ]; then
echo 'HTTPD_CONF="/etc/httpd/apache.conf"' >> /etc/sysconfig/httpd
fi
-%systemd_trigger httpd.service
-%triggerpostun base -- %{name} < 2.4.0
+%triggerpostun base -- %{name}-base < 2.4.0
cp -f /etc/httpd/apache.conf{,.rpmsave}
sed -i -e '
/^DefaultType/d
s,^LockFile /var/run/httpd/accept.lock,Mutex file:/var/run/httpd/,g
' /etc/httpd/conf.d/10_mpm.conf
-%triggerpostun mod_ssl -- %{name}-mod_ssl < 1:2.2.0-3.1
-cp -f /etc/httpd/conf.d/40_mod_ssl.conf{,.rpmsave}
-sed -i -e '
- s,/var/run/apache,/var/run/httpd,g
- s,/var/cache/apache,/var/cache/httpd,g
-' /etc/httpd/conf.d/40_mod_ssl.conf
-
%triggerpostun mod_ssl -- %{name}-mod_ssl < 1:2.4.0
cp -f /etc/httpd/conf.d/40_mod_ssl.conf{,.rpmsave}
sed -i -e '
# restart webserver at the end of transaction
%service httpd restart
-%systemd_service_restart httpd.service
# macro called at module post scriptlet
%define module_post \
if [ "$1" = "1" ]; then \
%service -q httpd restart \
- %systemd_service_restart httpd.service \
fi
# macro called at module postun scriptlet
%define module_postun \
if [ "$1" = "0" ]; then \
%service -q httpd restart \
- %systemd_service_restart httpd.service \
fi
# it's sooo annoying to write them
%module_scripts mod_authz_owner
%module_scripts mod_authz_user
%module_scripts mod_autoindex
+%module_scripts mod_brotli
%module_scripts mod_bucketeer
%module_scripts mod_buffer
%module_scripts mod_cache
%module_scripts mod_headers
%module_scripts mod_heartbeat
%module_scripts mod_heartmonitor
+%module_scripts mod_http2
%module_scripts mod_ident
%module_scripts mod_imagemap
%module_scripts mod_include
%module_scripts mod_log_forensic
%module_scripts mod_logio
%module_scripts mod_lua
+%module_scripts mod_macro
+%module_scripts mod_md
%module_scripts mod_mime
%module_scripts mod_mime_magic
%module_scripts mod_negotiation
%module_scripts mod_session_crypto
%module_scripts mod_session_dbd
%module_scripts mod_setenvif
-%module_scripts mod_slotmem_plain
-%module_scripts mod_slotmem_shm
-%module_scripts mod_socache_dbm
-%module_scripts mod_socache_memcache
-%module_scripts mod_socache_shmcb
+%module_scripts mod_slotmem
+%module_scripts mod_socache
%module_scripts mod_speling
%module_scripts mod_ssl
%module_scripts mod_status
%post cgi_test
if [ "$1" = "1" ]; then
%service -q httpd reload
- %systemd_service_reload httpd.service
fi
%postun cgi_test
if [ "$1" = "0" ]; then
%service -q httpd reload
- %systemd_service_reload httpd.service
fi
%post errordocs
if [ "$1" = "1" ]; then
%service -q httpd reload
- %systemd_service_reload httpd.service
fi
%postun errordocs
if [ "$1" = "0" ]; then
%service -q httpd reload
- %systemd_service_reload httpd.service
fi
%files
%{_sysconfdir}/modules
%{_sysconfdir}/run
%{_sysconfdir}/logs
-%ghost %{_sysconfdir}/httpd.conf
%attr(750,root,root) %dir %{_sysconfdir}/conf.d
%attr(750,root,root) %dir %{_sysconfdir}/vhosts.d
%attr(750,root,root) %dir %{_sysconfdir}/webapps.d
%attr(755,root,root) %{_sbindir}/checkgid
%attr(755,root,root) %{_sbindir}/httpd
+%dir %attr(710,root,http) /var/lib/httpd
%dir %attr(770,root,http) /var/run/httpd
%dir %attr(770,root,http) /var/cache/httpd
-%{systemdtmpfilesdir}/%{name}.conf
-%{systemdunitdir}/httpd.service
-%config(noreplace) %verify(not md5 mtime size) /etc/systemd/system/httpd.service
-
%{_mandir}/man8/httpd.8*
%attr(2751,root,logs) %dir /var/log/httpd
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_autoindex.conf
%attr(755,root,root) %{_libexecdir}/mod_autoindex.so
+%files mod_brotli
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_brotli.conf
+%attr(755,root,root) %{_libexecdir}/mod_brotli.so
+
%if %{with bucketeer}
%files mod_bucketeer
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/htcacheclean
%attr(755,root,root) %{_libexecdir}/mod_cache.so
%attr(755,root,root) %{_libexecdir}/mod_cache_disk.so
+%attr(755,root,root) %{_libexecdir}/mod_cache_socache.so
%{_mandir}/man8/htcacheclean.8*
%files mod_case_filter
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_heartmonitor.conf
%attr(755,root,root) %{_libexecdir}/mod_heartmonitor.so
+%if %{with http2}
+%files mod_http2
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_http2.conf
+%attr(755,root,root) %{_libexecdir}/mod_http2.so
+%endif
+
%files mod_ident
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_ident.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_lua.conf
%attr(755,root,root) %{_libexecdir}/mod_lua.so
+%files mod_macro
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_macro.conf
+%attr(755,root,root) %{_libexecdir}/mod_macro.so
+
+%files mod_md
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_md.conf
+%attr(755,root,root) %{_libexecdir}/mod_md.so
+%attr(710,root,http) %dir /var/lib/httpd/md
+%{_sysconfdir}/md
+
%files mod_mime
%defattr(644,root,root,755)
%attr(755,root,root) %{_libexecdir}/mod_mime.so
%attr(755,root,root) %{_libexecdir}/mod_proxy_fcgi.so
%attr(755,root,root) %{_libexecdir}/mod_proxy_fdpass.so
%attr(755,root,root) %{_libexecdir}/mod_proxy_ftp.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_hcheck.so
%attr(755,root,root) %{_libexecdir}/mod_proxy_html.so
%attr(755,root,root) %{_libexecdir}/mod_proxy_http.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_http2.so
%attr(755,root,root) %{_libexecdir}/mod_proxy_scgi.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_uwsgi.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_wstunnel.so
%attr(755,root,root) %{_libexecdir}/mod_proxy.so
%{_mandir}/man8/fcgistarter.8*
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_setenvif.conf
%attr(755,root,root) %{_libexecdir}/mod_setenvif.so
-%files mod_slotmem_plain
+%files mod_slotmem
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_slotmem_plain.conf
-%attr(755,root,root) %{_libexecdir}/mod_slotmem_plain.so
-
-%files mod_slotmem_shm
-%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_slotmem_shm.conf
+%attr(755,root,root) %{_libexecdir}/mod_slotmem_plain.so
%attr(755,root,root) %{_libexecdir}/mod_slotmem_shm.so
-%files mod_socache_dbm
+%files mod_socache
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_socache_dbm.conf
-%attr(755,root,root) %{_libexecdir}/mod_socache_dbm.so
-
-%files mod_socache_memcache
-%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_socache_memcache.conf
-%attr(755,root,root) %{_libexecdir}/mod_socache_memcache.so
-
-%files mod_socache_shmcb
-%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_socache_redis.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_socache_shmcb.conf
+%attr(755,root,root) %{_libexecdir}/mod_socache_dbm.so
+%attr(755,root,root) %{_libexecdir}/mod_socache_memcache.so
+%attr(755,root,root) %{_libexecdir}/mod_socache_redis.so
%attr(755,root,root) %{_libexecdir}/mod_socache_shmcb.so
%files mod_speling