%bcond_with systemd # build mod_wsgi %bcond_with wsgi # build http_geoip_module %bcond_without geoip %bcond_without geoip2 # build naxsi module %bcond_with naxsi # build modsecurity module %bcond_without modsecurity # build brotli module %bcond_without brotli %global nginx_modulesdir %{_libdir}/nginx/modules %global nginx_modconfdir %{_sysconfdir}/nginx/modules.d %define nginx_user www-data %define nginx_group %{nginx_user} %define nginx_home %{_localstatedir}/lib/nginx %define nginx_home_tmp %{nginx_home}/tmp %define nginx_home_cache %{nginx_home}/cache %define nginx_logdir %{_localstatedir}/log/nginx %define nginx_confdir %{_sysconfdir}/nginx %define nginx_datadir %{_datadir}/nginx %define nginx_webroot %{nginx_datadir}/html Summary: Robust, small and high performance http and reverse proxy server Summary(ja): 堅牢・軽量・高性能な HTTP およびリバースプロキシサーバ Name: nginx Group: servers %global nginx_version 1.26.2 Version: %{nginx_version} # do not reset or decrease. Release: 23%{?_dist_release}%{?with_systemd:.systemd} Vendor: Project Vine Distribution: Vine Linux Packager: daisuke # BSD License (two clause) # http://www.freebsd.org/copyright/freebsd-license.html License: BSD URL: https://nginx.org/ Source0: https://nginx.org/download/nginx-%{version}.tar.gz Source1: %{name}.init Source2: %{name}.logrotate Source3: nginx-virtual.conf.template Source4: nginx-ssl.conf Source5: %{name}.sysconfig Source10: nginx-vine.conf Source11: nginx-default-vine Source20: proxy_cache.conf Source21: nginx.service Source22: nginx-upgrade Source23: nginx-upgrade.8 Source100: nginx-index.html Source101: poweredby-vine.png Source102: nginx-logo.png Source103: nginx-50x.html Source104: nginx-404.html %define ngx_fancyindex_version 0.5.2 Source1000: https://github.com/aperezdc/ngx-fancyindex/releases/download/v%{ngx_fancyindex_version}/ngx-fancyindex-0.5.2.tar.xz # https://github.com/giom/nginx_accept_language_module %define nginx_accept_language_module_version 2f69842 Source1010: giom-nginx_accept_language_module-%{nginx_accept_language_module_version}.tar.gz %define passenger_version 6.0.23 Source1020: https://github.com/phusion/passenger/releases/download/release-%{passenger_version}/passenger-%{passenger_version}.tar.gz # https://github.com/gnosek/nginx-upstream-fair %define upstream_fair_version a18b409 Source1030: gnosek-nginx-upstream-fair-%{upstream_fair_version}.tar.gz %define mod_wsgi_version 6975f0ec7eeb Source2000: lifeeth-mod_wsgi-%{mod_wsgi_version}.tar.bz2 %define nginx_dav_ext_module_version 3.0.0 Source2010: https://github.com/arut/nginx-dav-ext-module/archive/v%{nginx_dav_ext_module_version}.tar.gz#/nginx-dav-ext-module-%{nginx_dav_ext_module_version}.tar.gz %if %{with naxsi} %global with_naxsi 1 %endif %global naxsi_version 0.56 %global naxsi_srcversion untagged-afabfc163946baa8036f Source2020: https://github.com/nbs-system/naxsi/archive/%{naxsi_srcversion}.tar.gz#/naxsi-%{naxsi_srcversion}.tar.gz Source2021: naxsi_params %if %{with geoip2} %global with_geoip2 1 %global geoip2_version 3.4 Source2030: https://github.com/leev/ngx_http_geoip2_module/archive/%{geoip2_version}.tar.gz#/ngx_http_geoip2_module-%{geoip2_version}.tar.gz %endif %if %{with modsecurity} %global with_modsecurity 1 %global modsecurity_version 1.0.3 %global modsecurity_hash ef64996aedd4bb5fa1831631361244813d48b82f #Source2040: https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v%{modsecurity_version}/modsecurity-nginx-v%{modsecurity_version}.tar.gz Source2040: https://github.com/SpiderLabs/ModSecurity-nginx/archive/%{modsecurity_hash}.tar.gz %endif %if %{with brotli} %global with_brotli 1 %global brotli_version 1.0.0~rc %global brotli_commit a71f9312c2deb28875acc7bacfdd5695a111aa53 Source2050: https://github.com/google/ngx_brotli/archive/%{brotli_commit}.tar.gz#/ngx_brotli-%{brotli_commit}.tar.gz %endif # removes -Werror in upstream build scripts. -Werror conflicts with # -D_FORTIFY_SOURCE=2 causing warnings to turn into errors. Patch0: 0001-remove-Werror-in-upstream-build-scripts.patch # downstream patch - fix PIDFile race condition (rhbz#1869026) # rejected upstream: https://trac.nginx.org/nginx/ticket/1897 Patch1: 0002-fix-PIDFile-handling.patch # to fix https://github.com/gnosek/nginx-upstream-fair/pull/23 Patch101: gnosek-nginx-upstream-fair-pull-23.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: libboost-devel BuildRequires: libxcrypt-devel BuildRequires: libnsl2-devel BuildRequires: pcre2-devel BuildRequires: zlib-devel BuildRequires: openssl-devel BuildRequires: libxml2-devel BuildRequires: libxslt-devel BuildRequires: curl-devel BuildRequires: perl >= 2:5.34.0 # for /usr/sbin/useradd Requires(pre): shadow-utils %if %{with systemd} BuildRequires: systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %else Requires(post): chkconfig # for /sbin/service Requires(preun): chkconfig, initscripts Requires(postun): initscripts %endif %if "%{_dist_release}" > "vl6" Requires(pre): www-common %endif Provides: webserver %description Nginx [engine x] is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server written by Igor Sysoev. %description -l ja Nginx [engine x/エンジンX] は Igor Sysoev により開発された以下の機能をもつ 堅牢・軽量・高性能なHTTPサーバかつリバースプロキシサーバです。 - HTTP(S) サーバ - HTTP(S) リバースプロキシサーバ - IMAP/POP3 プロキシサーバ %package passenger Summary: mod_passenger for Nginx Summary(ja): Nginx用Passenger Version: %{passenger_version} Group: servers BuildRequires: ruby, rubygem-rake Requires: ruby, rubygem-rake BuildRequires: ruby-devel, ruby-rubygems Requires: ruby-rubygems Requires: %{name} = %{nginx_version}-%{release} %description passenger Nginx [engine x] is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 This package contains nginx server with passenger support. %description -l ja passenger Nginx [engine x/エンジンX] は Igor Sysoev により開発された以下の機能をもつ 堅牢・軽量・高性能なHTTPサーバかつリバースプロキシサーバです。 - HTTP(S) サーバ - HTTP(S) リバースプロキシサーバ - IMAP/POP3 プロキシサーバ このパッケージには Passenger サポートを含んだ nginxサーバが入っています。 %if %{with geoip} %package geoip Summary: Nginx HTTP geoip module Group: servers BuildRequires: GeoIP-devel Requires: %{name} = %{nginx_version}-%{release} Requires: GeoIP %description geoip %{summary}. %endif %package image-filter Summary: Nginx HTTP image filter module Group: servers BuildRequires: gd-devel Requires: %{name} = %{nginx_version}-%{release} Requires: gd %description image-filter %{summary}. %package perl Summary: Nginx HTTP perl module Group: servers BuildRequires: perl BuildRequires: perl(ExtUtils::Embed) Requires: %{name} = %{nginx_version}-%{release} Requires: perl >= 2:5.34.0 %description perl %{summary}. %package xslt-filter Summary: Nginx XSLT module Group: servers BuildRequires: libxslt-devel Requires: %{name} = %{nginx_version}-%{release} %description xslt-filter %{summary}. %package mail Summary: Nginx mail modules Group: servers Requires: %{name} = %{nginx_version}-%{release} %description mail %{summary}. %package stream Summary: Nginx stream modules Group: servers Requires: %{name} = %{nginx_version}-%{release} %description stream %{summary}. %package dav-ext Summary: Nginx dav-ext modules Version: %{nginx_dav_ext_module_version} Group: servers Requires: %{name} = %{nginx_version}-%{release} %description dav-ext %{summary}. %if %{with geoip2} %package http-geoip2 Summary: Nginx HTTP geoip2 modules Version: %{geoip2_version} Group: servers BuildRequires: libmaxminddb-devel Requires: %{name} = %{nginx_version}-%{release} %description http-geoip2 %{summary}. %package stream-geoip2 Summary: Nginx stream geoip2 modules Version: %{geoip2_version} Group: servers BuildRequires: libmaxminddb-devel Requires: %{name} = %{nginx_version}-%{release} Requires: %{name}-stream = %{nginx_version}-%{release} %description stream-geoip2 %{summary}. %endif %if %{with naxsi} %package naxsi Summary: an open-source, high performance, low rules maintenance WAF for NGINX Summary(ja): NGiNXのためのOSS・高パフォーマンス・低メンテナンスコストなWAF Version: %{naxsi_version} Group: servers License: GPL3 Requires: %{name} = %{nginx_version}-%{release} %description naxsi NAXSI means Nginx Anti XSS & SQL Injection. Technically, it is a third party nginx module, available as a package for many UNIX-like platforms. This module, by default, reads a small subset of simple (and readable) rules containing 99% of known patterns involved in website vulnerabilities. For example, <, | or drop are not supposed to be part of a URI. Being very simple, those patterns may match legitimate queries, it is the Naxsi's administrator duty to add specific rules that will whitelist legitimate behaviours. The administrator can either add whitelists manually by analyzing nginx's error log, or (recommended) start the project with an intensive auto-learning phase that will automatically generate whitelisting rules regarding a website's behaviour. In short, Naxsi behaves like a DROP-by-default firewall, the only task is to add required ACCEPT rules for the target website to work properly. %endif %if %{with modsecurity} %package modsecurity Summary: The ModSecurity-nginx connector Summary(ja): ModSecurity Nginxコネクター Version: %{modsecurity_version} Group: servers License: ASL 2.0 BuildRequires: libmodsecurity-devel Requires: %{name} = %{nginx_version}-%{release} %description modsecurity The ModSecurity-nginx connector is the connection point between nginx and libmodsecurity (ModSecurity v3). Said another way, this project provides a communication channel between nginx and libmodsecurity. This connector is required to use LibModSecurity with nginx. %endif %if %{with brotli} %package brotli Summary: brotli compression module for Nginx Summary(ja): Nginx用brotli圧縮モジュール Version: %{brotli_version} Group: servers License: BSD BuildRequires: brotli-devel Requires: %{name} = %{nginx_version}-%{release} %description brotli ngx_brotli is a set of two nginx modules: - ngx_brotli filter module - used to compress responses on-the-fly, - ngx_brotli static module - used to serve pre-compressed files. %endif %debug_package %if %{with systemd} %define rundir /run %else %define rundir %{_localstatedir}/run %endif %prep %setup -q -a 1000 -a 1010 -a 1020 -a 1030 %{?with_wsgi:-a 2000} -a 2010 %{?with_naxsi:-a 2020} %{?with_geoip2:-a 2030} %{?with_modsecurity:-a 2040} %{?with_brotli:-a 2050} %patch0 -p1 %patch1 -p1 # pushd passenger-%{passenger_version}/ext/ # %patch100 -p2 # popd pushd gnosek-nginx-upstream-fair-%{upstream_fair_version} %patch101 -p1 popd pushd passenger-%{passenger_version} #patch1000 -p1 popd %if %{with modsecurity} rm -rf modsecurity-doc mkdir -p modsecurity-doc pushd ModSecurity-nginx-%{modsecurity_hash} cp LICENSE README.md ../modsecurity-doc/ popd %endif %build %set_build_flags # nginx does not utilize a standard configure script. It has its own # and the standard configure options cause the nginx configure script # to error out. This is is also the reason for the DESTDIR environment # variable. The configure script(s) have been patched (Patch1 and # Patch2) in order to support installing into a build environment. export DESTDIR=%{buildroot} CONFIGOPTS="\ --user=%{nginx_user} \ --group=%{nginx_group} \ --prefix=%{nginx_datadir} \ --sbin-path=%{_sbindir}/%{name} \ --modules-path=%{nginx_modulesdir} \ --conf-path=%{nginx_confdir}/%{name}.conf \ --error-log-path=%{nginx_logdir}/error.log \ --http-log-path=%{nginx_logdir}/access.log \ --http-client-body-temp-path=%{nginx_home_tmp}/client_body \ --http-proxy-temp-path=%{nginx_home_tmp}/proxy \ --http-fastcgi-temp-path=%{nginx_home_tmp}/fastcgi \ --pid-path=%{rundir}/%{name}.pid \ --lock-path=%{_localstatedir}/lock/subsys/%{name} \ --with-file-aio \ --with-ipv6 \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_xslt_module=dynamic \ --with-http_image_filter_module=dynamic \ %if %{with geoip} --with-http_geoip_module=dynamic \ %endif --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_auth_request_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_degradation_module \ --with-http_stub_status_module \ --with-http_perl_module=dynamic \ --with-mail=dynamic \ --with-mail_ssl_module \ --with-stream=dynamic \ --with-stream_ssl_preread_module \ --add-module=ngx-fancyindex-%{ngx_fancyindex_version} \ --add-module=giom-nginx_accept_language_module-%{nginx_accept_language_module_version} \ --add-module=gnosek-nginx-upstream-fair-%{upstream_fair_version} \ %if %{with wsgi} --add-module=lifeeth-mod_wsgi-%{mod_wsgi_version} \ %endif --add-dynamic-module=nginx-dav-ext-module-%{nginx_dav_ext_module_version} \ %if %{with naxsi} --add-dynamic-module=naxsi-%{naxsi_srcversion}/naxsi_src \ %endif %if %{with geoip2} --add-dynamic-module=ngx_http_geoip2_module-%{geoip2_version} \ %endif %if %{with modsecurity} --add-dynamic-module=ModSecurity-nginx-%{modsecurity_hash} \ %endif %if %{with brotli} --with-compat \ --add-dynamic-module=ngx_brotli-%{brotli_commit} \ %endif --add-dynamic-module=passenger-%{passenger_version}/src/nginx_module \ %ifarch i686 --with-cpu-opt=pentiumpro \ --with-zlib-asm=pentiumpro \ --with-md5-asm \ --with-sha1-asm \ %endif " ./configure \ $CONFIGOPTS \ --with-cc-opt="%{optflags}" %make_build %install rm -rf %{buildroot} %make_install INSTALLDIRS=vendor find %{buildroot} -type f -name .packlist -exec rm -f {} \; find %{buildroot} -type f -name perllocal.pod -exec rm -f {} \; find %{buildroot} -type f -empty -exec rm -f {} \; find %{buildroot} -type f -exec chmod 0644 {} \; find %{buildroot} -type f -name '*.so' -exec chmod 0755 {} \; chmod 0755 %{buildroot}%{_sbindir}/nginx %if %{with systemd} install -p -d -m 0755 %{buildroot}%{_unitdir} install -p -D -m 0644 %{SOURCE21} \ %{buildroot}%{_unitdir}/nginx.service install -p -D -m 0755 %{SOURCE22} %{buildroot}%{_bindir}/nginx-upgrade install -p -D -m 0644 %{SOURCE23} %{buildroot}%{_mandir}/man8/nginx-upgrade.8 %else %{__install} -p -D -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/%{name} %endif %{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} sed -i -e 's|@rundir@|%{rundir}|g' %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %{__install} -p -D -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/sysconfig/%{name} %{__install} -p -d -m 0755 %{buildroot}%{nginx_confdir}/conf.d %{__install} -p -d -m 0755 %{buildroot}%{nginx_confdir}/sites.d %{__install} -p -m 0644 %{SOURCE3} %{buildroot}%{nginx_confdir}/sites.d/virtual.conf.template %{__install} -p -m 0644 %{SOURCE4} %{buildroot}%{nginx_confdir}/conf.d/ssl.conf %{__sed} \ -e 's/__NGINXUSER__/%{nginx_user}/g' \ %if %{with systemd} -e 's|/var/run/nginx.pid|/run/nginx.pid|g' \ %endif %{SOURCE10} > %{buildroot}%{nginx_confdir}/nginx.conf %{__cp} %{buildroot}%{nginx_confdir}/nginx.conf %{buildroot}%{nginx_confdir}/nginx.conf.default %{__install} -p -m 0644 %{SOURCE11} %{buildroot}%{nginx_confdir}/sites.d/default %{__install} -p -m 0644 %{SOURCE20} %{buildroot}%{nginx_confdir}/conf.d/proxy_cache.conf %{__install} -p -d -m 0755 %{buildroot}%{nginx_home_cache} %{__install} -p -d -m 0755 %{buildroot}%{nginx_home_tmp} %{__install} -p -d -m 0755 %{buildroot}%{nginx_logdir} %{__install} -p -d -m 0755 %{buildroot}%{nginx_webroot} %{__install} -p -m 0644 %{SOURCE100} %{buildroot}%{nginx_webroot}/index.html %{__install} -p -m 0644 %{SOURCE101} %{buildroot}%{nginx_webroot}/poweredby.png %{__install} -p -m 0644 %{SOURCE102} %{buildroot}%{nginx_webroot}/nginx-logo.png %{__install} -p -m 0644 %{SOURCE103} %{buildroot}%{nginx_webroot}/50x.html %{__install} -p -m 0644 %{SOURCE104} %{buildroot}%{nginx_webroot}/404.html %{__install} -p -d -m 0755 %{buildroot}%{nginx_modulesdir} %{__install} -p -d -m 0755 %{buildroot}%{nginx_modconfdir} %if %{with wsgi} %{__install} -p -m 0644 \ lifeeth-mod_wsgi-%{mod_wsgi_version}/conf/wsgi_vars \ %{buildroot}%{nginx_confdir} cp -f lifeeth-mod_wsgi-%{mod_wsgi_version}/README README.mod_wsgi %endif # upstream fair module document cp -f gnosek-nginx-upstream-fair-%{upstream_fair_version}/README README.upstream_fair # document for nginx-dav-ext-module cp -f nginx-dav-ext-module-%{nginx_dav_ext_module_version}/LICENSE LICENSE.dav-ext-module cp -f nginx-dav-ext-module-%{nginx_dav_ext_module_version}/README.rst README.dav-ext-module.rst # configuration for dynamic modules %if %{with geoip} echo 'load_module "%{nginx_modulesdir}/ngx_http_geoip_module.so";' \ > %{buildroot}%{nginx_modconfdir}/geoip.conf %endif echo 'load_module "%{nginx_modulesdir}/ngx_http_image_filter_module.so";' \ > %{buildroot}%{nginx_modconfdir}/image-filter.conf echo 'load_module "%{nginx_modulesdir}/ngx_http_perl_module.so";' \ > %{buildroot}%{nginx_modconfdir}/perl.conf echo 'load_module "%{nginx_modulesdir}/ngx_http_xslt_filter_module.so";' \ > %{buildroot}%{nginx_modconfdir}/xslt-filter.conf echo 'load_module "%{nginx_modulesdir}/ngx_mail_module.so";' \ > %{buildroot}%{nginx_modconfdir}/mail.conf echo 'load_module "%{nginx_modulesdir}/ngx_stream_module.so";' \ > %{buildroot}%{nginx_modconfdir}/stream.conf echo 'load_module "%{nginx_modulesdir}/ngx_http_dav_ext_module.so";' \ > %{buildroot}%{nginx_modconfdir}/dav-ext.conf echo 'load_module "%{nginx_modulesdir}/ngx_http_passenger_module.so";' \ > %{buildroot}%{nginx_modconfdir}/passenger.conf %if %{with geoip2} # geoip2 module cp -f ngx_http_geoip2_module-%{geoip2_version}/LICENSE LICENSE.geoip2 cp -f ngx_http_geoip2_module-%{geoip2_version}/README.md README.geoip2.md echo 'load_module "%{nginx_modulesdir}/ngx_http_geoip2_module.so";' \ > %{buildroot}%{nginx_modconfdir}/http-geoip2.conf echo 'load_module "%{nginx_modulesdir}/ngx_stream_geoip2_module.so";' \ > %{buildroot}%{nginx_modconfdir}/stream-geoip2.conf %endif %if %{with naxsi} # NAXSI module cp -f naxsi-%{naxsi_srcversion}/LICENSE LICENSE.naxsi cp -f naxsi-%{naxsi_srcversion}/README.md README.naxsi.md install -p -m0644 naxsi-%{naxsi_srcversion}/naxsi_config/naxsi_core.rules \ %{buildroot}%{nginx_confdir}/ install -p -m0644 %{SOURCE2021} %{buildroot}%{nginx_confdir}/naxsi_params echo 'load_module "%{nginx_modulesdir}/ngx_http_naxsi_module.so";' \ > %{buildroot}%{nginx_modconfdir}/naxsi.conf %endif %if %{with modsecurity} # modsecurity module echo 'load_module "%{nginx_modulesdir}/ngx_http_modsecurity_module.so";' \ > %{buildroot}%{nginx_modconfdir}/modsecurity.conf %endif %if %{with brotli} # modsecurity module cat < %{buildroot}%{nginx_modconfdir}/brotli.conf load_module %{nginx_modulesdir}/ngx_http_brotli_filter_module.so; load_module %{nginx_modulesdir}/ngx_http_brotli_static_module.so; EOF %endif touch %{buildroot}%{nginx_confdir}/conf.d/virtual.conf # convert to UTF-8 all files that give warnings. for textfile in CHANGES do mv $textfile $textfile.old iconv --from-code ISO8859-1 --to-code UTF-8 --output $textfile $textfile.old rm -f $textfile.old done %clean rm -rf %{buildroot} %pre if [ -L %{_sbindir}/nginx ]; then update-alternatives --remove nginx %{_sbindir}/nginx.normal ||: update-alternatives --remove nginx %{_sbindir}/nginx.passenger ||: rm -f %{_sbindir}/nginx fi %post %if %{with systemd} %systemd_post nginx.service %else if [ $1 == 1 ]; then /sbin/chkconfig --add %{name} fi %endif %preun %if %{with systemd} %systemd_preun nginx.service %else if [ $1 = 0 -o -x /bin/systemctl ]; then /sbin/service %{name} stop >/dev/null 2>&1 /sbin/chkconfig --del %{name} fi %endif %postun %if %{with systemd} %systemd_postun nginx.service if [ $1 -ge 1 ]; then /usr/bin/nginx-upgrade >/dev/null 2>&1 || : fi %else if [ $1 == 2 ]; then /sbin/service %{name} upgrade || : fi %endif %if %{with systemd} %if %{with geoip} %post geoip if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %endif %post image-filter if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %post perl if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %post xslt-filter if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %post mail if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %post stream if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %post dav-ext if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %post http-geoip2 if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %post stream-geoip2 if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %if %{with naxsi} %post naxsi if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %endif %if %{with modsecurity} %post modsecurity if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %endif %if %{with brotli} %post brotli if [ $1 -eq 1 ]; then systemctl reload nginx.service >/dev/null 2>&1 || : fi %endif %endif %files %defattr(-,root,root,-) %license LICENSE %doc CHANGES README %doc README.upstream_fair %doc %{?with_wsgi:README.mod_wsgi} %{nginx_datadir}/ %{_sbindir}/%{name} %{_mandir}/man3/%{name}.3pm.gz %if %{with systemd} %{_bindir}/nginx-upgrade %{_mandir}/man8/nginx-upgrade.8* %{_unitdir}/nginx.service %else %{_initrddir}/%{name} %endif %dir %{nginx_modulesdir} %dir %{nginx_modconfdir} %dir %{nginx_confdir} %dir %{nginx_confdir}/conf.d %config(noreplace) %{nginx_confdir}/conf.d/*.conf %ghost %config(noreplace) %{nginx_confdir}/conf.d/virtual.conf %config(noreplace) %{nginx_confdir}/sites.d/* %config(noreplace) %{nginx_confdir}/win-utf %config(noreplace) %{nginx_confdir}/%{name}.conf.default %config(noreplace) %{nginx_confdir}/mime.types.default %config(noreplace) %{nginx_confdir}/fastcgi_params %config(noreplace) %{nginx_confdir}/fastcgi_params.default %config(noreplace) %{nginx_confdir}/koi-win %config(noreplace) %{nginx_confdir}/koi-utf %config(noreplace) %{nginx_confdir}/%{name}.conf %config(noreplace) %{nginx_confdir}/mime.types %config(noreplace) %{nginx_confdir}/fastcgi.conf %config(noreplace) %{nginx_confdir}/fastcgi.conf.default %config(noreplace) %{nginx_confdir}/scgi_params %config(noreplace) %{nginx_confdir}/scgi_params.default %config(noreplace) %{nginx_confdir}/uwsgi_params %config(noreplace) %{nginx_confdir}/uwsgi_params.default %if %{with wsgi} %config(noreplace) %{nginx_confdir}/wsgi_vars %endif %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %attr(-,%{nginx_user},%{nginx_group}) %dir %{nginx_home} %attr(-,%{nginx_user},%{nginx_group}) %dir %{nginx_home_tmp} %attr(-,%{nginx_user},%{nginx_group}) %dir %{nginx_home_cache} %attr(-,%{nginx_user},%{nginx_group}) %dir %{nginx_logdir} %files passenger %defattr(-,root,root,-) %doc passenger-%{passenger_version}/doc/*.md %doc passenger-%{passenger_version}/doc/templates %doc passenger-%{passenger_version}/doc/images %config(noreplace) %{nginx_modconfdir}/passenger.conf %{nginx_modulesdir}/ngx_http_passenger_module.so %if %{with geoip} %files geoip %config(noreplace) %{nginx_modconfdir}/geoip.conf %{nginx_modulesdir}/ngx_http_geoip_module.so %endif %files image-filter %config(noreplace) %{nginx_modconfdir}/image-filter.conf %{nginx_modulesdir}/ngx_http_image_filter_module.so %files perl %config(noreplace) %{nginx_modconfdir}/perl.conf %{nginx_modulesdir}/ngx_http_perl_module.so %dir %{perl_vendorarch}/auto/%{name} %{perl_vendorarch}/%{name}.pm %{perl_vendorarch}/auto/%{name}/%{name}.so %files xslt-filter %config(noreplace) %{nginx_modconfdir}/xslt-filter.conf %{nginx_modulesdir}/ngx_http_xslt_filter_module.so %files mail %config(noreplace) %{nginx_modconfdir}/mail.conf %{nginx_modulesdir}/ngx_mail_module.so %files stream %config(noreplace) %{nginx_modconfdir}/stream.conf %{nginx_modulesdir}/ngx_stream_module.so %files dav-ext %license LICENSE.dav-ext-module %doc README.dav-ext-module.rst %config(noreplace) %{nginx_modconfdir}/dav-ext.conf %{nginx_modulesdir}/ngx_http_dav_ext_module.so %if %{with geoip2} %files http-geoip2 %license LICENSE.geoip2 %doc README.geoip2.md %{nginx_modulesdir}/ngx_http_geoip2_module.so %config(noreplace) %{nginx_modconfdir}/http-geoip2.conf %files stream-geoip2 %license LICENSE.geoip2 %doc README.geoip2.md %{nginx_modulesdir}/ngx_stream_geoip2_module.so %config(noreplace) %{nginx_modconfdir}/stream-geoip2.conf %endif %if %{with naxsi} %files naxsi %defattr(-,root,root,-) %license LICENSE.naxsi %doc README.naxsi.md %{nginx_modulesdir}/ngx_http_naxsi_module.so %config(noreplace) %{nginx_modconfdir}/naxsi.conf %config(noreplace) %{nginx_confdir}/naxsi_params %config(noreplace) %{nginx_confdir}/naxsi_core.rules %endif %if %{with modsecurity} %files modsecurity %defattr(-,root,root,-) %license modsecurity-doc/LICENSE %doc modsecurity-doc/README.md %{nginx_modulesdir}/ngx_http_modsecurity_module.so %config(noreplace) %{nginx_modconfdir}/modsecurity.conf %endif %if %{with brotli} %files brotli %config(noreplace) %{nginx_modconfdir}/brotli.conf %{nginx_modulesdir}/ngx_http_brotli_filter_module.so %{nginx_modulesdir}/ngx_http_brotli_static_module.so %endif %changelog * Fri Aug 16 2024 Tomohiro "Tomo-p" KATO 1.26.2-23 - updated to 1.26.2. * Mon Oct 16 2023 Tomohiro "Tomo-p" KATO 1.24.0-22 - added Patch10000 to fix CVE-2023-44487. * Thu Aug 31 2023 Tomohiro "Tomo-p" KATO 1.24.0-21 - added brotli module. * Thu Apr 27 2023 Tomohiro "Tomo-p" KATO 1.24.0-20 - updated to 1.24.0. * Thu Oct 20 2022 Tomohiro "Tomo-p" KATO 1.22.1-19 - updated to 1.22.1. - updated passenger to 6.0.15. * Tue May 31 2022 Tomohiro "Tomo-p" KATO 1.22.0-18 - updated to 1.22.0. * Sat May 21 2022 Tomohiro "Tomo-p" KATO 1.20.2-17 - updated modsecurity-nginx to 1.0.3. * Fri Nov 19 2021 Tomohiro "Tomo-p" KATO 1.20.2-16 - rebuilt with perl-5.34.0. * Wed Nov 17 2021 Tomohiro "Tomo-p" KATO 1.20.2-15 - updated to 1.20.2. - updated passenger to 6.0.12. - dropped Patch1000: fixed in upstream. * Fri Nov 12 2021 Tomohiro "Tomo-p" KATO 1.20.1-14 - fixed path to nginx.pid. - fixed systemd-unit. - dropped Patch1000. - imported Patch1000 from upstream. * Thu Oct 07 2021 Tomohiro "Tomo-p" KATO 1.20.1-13 - rebuilt with openssl-3.0.0. * Sun Jul 11 2021 Tomohiro "Tomo-p" KATO 1.20.1-12 - updated ModSecurity-nginx to 1.0.2. - dropped Patch2040. * Fri May 28 2021 Tomohiro "Tomo-p" KATO 1.20.1-11 - updated to 1.20.1. * Wed Apr 21 2021 Tomohiro "Tomo-p" KATO 1.20.0-10 - updated to 1.20.0. * Wed Feb 17 2021 Tomohiro "Tomo-p" KATO 1.18.0-9 - updated Patch2040. * Wed Oct 14 2020 Tomohiro "Tomo-p" KATO 1.18.0-8 - added Patch2040 to fix several bugs. * Tue May 19 2020 Tomohiro "Tomo-p" KATO 1.18.0-7 - updated to 1.18.0. - disabled NAXSI as default. * Sun Apr 05 2020 Tomohiro "Tomo-p" KATO 1.16.1-6 - added systemd support (disabled as default). * Mon Mar 09 2020 Tomohiro "Tomo-p" KATO 1.16.1-5 - updated modsecurity module to 1.0.1. - dropped Patch2040 and 2041: fixed in upstream. * Wed Nov 13 2019 Tomohiro "Tomo-p" KATO 1.16.1-4 - added Patch2041. * Thu Oct 24 2019 Tomohiro "Tomo-p" KATO 1.16.1-3 - added Patch2040. * Wed Oct 23 2019 Tomohiro "Tomo-p" KATO 1.16.1-2 - added ModSecurity module. * Sat Aug 24 2019 Tomohiro "Tomo-p" KATO 1.16.1-1 - updated to 1.16.1. - made to install NAXSI as a dynamic module. * Wed Aug 07 2019 Tomohiro "Tomo-p" KATO 1.16.0-3 - added NAXSI module. * Sun May 19 2019 Tomohiro "Tomo-p" KATO 1.16.0-2 - rebuilt with perl-5.26. * Sun May 05 2019 Tomohiro "Tomo-p" KATO 1.16.0-1 - updated to 1.16.0. - updated passenger to 6.0.2. - updated nginx-dav-ext-module to 3.0.0. - dropped Patch1001: fixed in upstream. * Tue Nov 06 2018 Tomohiro "Tomo-p" KATO 1.15.5-1 - updated to 1.15.5. - updated passenger to 5.3.6. - updated ngx_fancyindex_version to 0.4.3. * Mon Mar 05 2018 Tomohiro "Tomo-p" KATO 1.13.9-1 - updated to 1.13.9. - updated ngx-fancyindex to 0.4.2. - updated nginx-accept_language_module to git HEAD. - updated nginx-upstream-fair to git HEAD. - updated passenger to 5.2.1. - added Source2010 (nginx-dav-ext-module). - enabled --with-stream and --with-stream_ssl_preread_module. * Fri Sep 8 2017 Munehiro Yamamoto 1.13.5-1 - updated to 1.13.5 - updated passenger to 5.1.8 * Fri Aug 11 2017 Munehiro Yamamoto 1.13.4-1 - updated to 1.13.4 - updated passenger to 5.1.7 * Fri Jul 14 2017 Munehiro Yamamoto 1.13.3-1 - updated to 1.13.3 * Sat Jul 1 2017 Munehiro Yamamoto 1.13.2-1 - updated to 1.13.2 * Sun Jun 18 2017 Munehiro Yamamoto 1.13.1-1 - updated to 1.13.1 - updated passenger to 5.1.5 * Wed Apr 26 2017 Munehiro Yamamoto 1.13.0-1 - updated to 1.13.0 * Wed Apr 5 2017 Munehiro Yamamoto 1.11.13-1 - updated to 1.11.13 * Sat Mar 25 2017 Munehiro Yamamoto 1.11.12-1 - updated to 1.11.12 * Tue Mar 7 2017 Munehiro Yamamoto 1.11.10-1 - updated to 1.11.10 - updated passenger to 5.1.2 * Tue Jan 31 2017 Munehiro Yamamoto 1.11.9-1 - updated to 1.11.9 * Wed Dec 28 2016 Munehiro Yamamoto 1.11.8-1 - updated to 1.11.8 * Sat Nov 19 2016 Munehiro Yamamoto 1.11.6-1 - updated to 1.11.6 - applied gnosek-nginx-upstream-fair-pull-23.patch against nginx-1.11.6 * Mon Sep 5 2016 Munehiro Yamamoto 1.11.3-1 - updated to 1.11.3 - updated passenger to 5.0.30 * Fri Sep 02 2016 Toshiaki Ara 1.10.1-2 - rebuild with gcc-5.4.0 * Tue Jun 7 2016 Tomohiro "Tomo-p" KATO 1.10.1-1 - updated to 1.10.1. - updated passenger to 5.0.28. * Wed Apr 20 2016 Munehiro Yamamoto 1.9.15-1 - updated to 1.9.15 * Thu Apr 7 2016 Munehiro Yamamoto 1.9.14-1 - updated to 1.9.14 - updated passenger to 5.0.27 * Wed Apr 6 2016 Munehiro Yamamoto 1.9.13-1 - new upstream release * Mon Mar 14 2016 Tomohiro "Tomo-p" KATO 1.9.12-1 - updated to 1.9.12. - updated passenger to 5.0.26. * Wed Feb 17 2016 Munehiro Yamamoto 1.9.11-1 - new upstream release * Wed Feb 3 2016 Munehiro Yamamoto 1.9.10-1 - update to 1.9.10 - update passenger to 5.0.24 * Sun Jan 10 2016 Munehiro Yamamoto 1.9.9-2 - update passenger to 5.0.23 * Sun Dec 20 2015 Munehiro Yamamoto 1.9.9-1 - new upstream release * Sat Dec 5 2015 Munehiro Yamamoto 1.9.7-1 - new upstream release * Sat Oct 10 2015 Munehiro Yamamoto 1.9.5-1 - new upstream release * Sun Aug 23 2015 Munehiro Yamamoto 1.9.4-1 - new upstream release * Thu Jul 16 2015 Munehiro Yamamoto 1.9.3-1 - update to 1.9.3 - update passenger to 5.0.11 * Thu Jun 25 2015 Tomohiro "Tomo-p" KATO 1.9.2-2 - updated Source4 (ssl.conf). * Wed Jun 17 2015 Munehiro Yamamoto 1.9.2-1 - update to 1.9.2 - update passenger to 5.0.10 - update ngx-fancyindex to 0.3.5 * Thu Sep 25 2014 Daisuke SUZUKI 1.6.2-1 - update to 1.6.2 - update passenger to 4.0.52 * Fri Aug 08 2014 Daisuke SUZUKI 1.6.1-1 - new upstream release * Mon Jun 30 2014 Daisuke SUZUKI 1.6.0-3 - rebuild with new environment * Mon Jun 23 2014 Daisuke SUZUKI 1.6.0-2 - update passenger to 4.0.45 * Fri Apr 25 2014 Daisuke SUZUKI 1.6.0-1 - update to 1.6.0 (stable) * Thu Feb 20 2014 Daisuke SUZUKI 1.5.10-2 - update fancyindex to 0.3.3 * Wed Feb 12 2014 Daisuke SUZUKI 1.5.10-1 - update to 1.5.10 - update passenger to 4.0.37 * Sat Jan 04 2014 Tomohiro "Tomo-p" KATO 1.5.6-2 - rebuilt with GeoIP-1.6.0. - added Patch100. * Tue Oct 29 2013 Daisuke SUZUKI 1.5.6-1 - update to 1.5.6 - update passenger to 4.0.21 * Wed Oct 02 2013 Tomohiro "Tomo-p" KATO 1.4.1-2 - rebuilt with gd-2.1.0. * Wed May 08 2013 Daisuke SUZUKI 1.4.1-1 - update to 1.4.1 * Mon Apr 29 2013 Daisuke SUZUKI 1.4.0-1 - update to 1.4.0 - enable SPDY module * Wed Feb 13 2013 Daisuke SUZUKI 1.2.7-1 - new upstream release - update passenger to 3.0.19 - update ngx-fancyindex to upstream git master * Thu Nov 29 2012 Daisuke SUZUKI 1.2.5-1 - new upstream release - update passenger to 3.0.17 * Wed Oct 24 2012 Daisuke SUZUKI 1.2.4-3 - rebuild with pcre-8.31 * Tue Oct 09 2012 Tomohiro "Tomo-p" KATO 1.2.4-2 - added http_geoip_module. * Tue Sep 25 2012 Daisuke SUZUKI 1.2.4-1 - update to 1.2.4 * Thu Jul 19 2012 Daisuke SUZUKI 1.2.2-1 - update to 1.2.2 * Thu Jun 28 2012 Daisuke SUZUKI 1.2.1-1 - update to 1.2.1 - change nginx user from nginx to www-data - R(pre): www-common * Wed Apr 25 2012 Daisuke SUZUKI 1.2.0-1 - update to 1.2.0 - update passenger to 3.0.12 - drop http_upstream_keepalive * Mon Mar 19 2012 Daisuke SUZUKI 1.0.14-1 - new upstream release * Thu Feb 23 2012 Daisuke SUZUKI 1.0.12-1 - update to 1.0.12 * Tue Jan 10 2012 Daisuke SUZUKI 1.0.11-1 - update to 1.0.11 - update passenger to 3.0.11 * Mon Nov 21 2011 Daisuke SUZUKI 1.0.10-1 - update to 1.0.10 * Tue Sep 27 2011 Daisuke SUZUKI 1.0.6-2 - update passenger to 3.0.9 * Tue Aug 30 2011 Daisuke SUZUKI 1.0.6-1 - update to 1.0.6 * Thu Jun 09 2011 Daisuke SUZUKI 1.0.4-1 - update to 1.0.4 * Wed May 18 2011 Daisuke SUZUKI 1.0.2-3 - add gnosek-nginx-upstream-fair module - add ngx_http_upstream_keepalive module * Wed May 11 2011 Daisuke SUZUKI 1.0.2-2 - add nginx-passenger sub pakckage - use alternatives to choose nginx with or without passenger - add BR: ruby, rubygems, rubygem-rake * Wed May 11 2011 Daisuke SUZUKI 1.0.2-1 - update to 1.0.2 * Wed May 04 2011 Daisuke SUZUKI 1.0.1-1 - update to 1.0.1 * Sun May 01 2011 Daisuke SUZUKI 1.0.0-2 - add bcond_with wsgi for mod_wsgi - add bcond_with passenger - you need to install rake.gem to build with this option. - add Provides: webserver * Tue Apr 12 2011 Daisuke SUZUKI 1.0.0-1 - new upstream release 1.0.0! * Sun Mar 27 2011 Daisuke SUZUKI 0.8.54-2 - rebuild with perl-5.12.3 * Mon Jan 17 2011 Daisuke SUZUKI 0.8.54-1 - update to 0.8.54 * Sun Nov 28 2010 Daisuke SUZUKI 0.8.53-1 - update to 0.8.53 - add nginx_accept_language_module * Fri Sep 24 2010 Daisuke SUZUKI 0.8.50-1 - update to 0.8.50 - update ngx-fancyindex to 0.3 - add BR: libxml2-devel, libxslt-devel - add scgi_params* and uwsgi_params* to %%files * Sat Apr 17 2010 Daisuke SUZUKI 0.8.35-1 - update to 0.8.35 (development version) - add sites.d/ to store vitualhost settings - split out default server settings to sites.d/default - add fancyindex module * Fri Dec 04 2009 Daisuke SUZUKI 0.7.63-1 - new upstream release * Sun Sep 20 2009 Shu KONNO 0.7.62-1 - update to 0.7.62 (included security fix: VU#180065) * Wed Aug 26 2009 Daisuke SUZUKI 0.7.61-4 - fix typo * Thu Aug 06 2009 Daisuke SUZUKI 0.7.61-3 - add translated descriptions * Sat Jul 25 2009 Daisuke SUZUKI 0.7.61-2 - update 404.html/50x.html to use powered by vine logo. * Wed Jul 15 2009 Daisuke SUZUKI 0.7.61-1 - initial build for Vine Linux - update to 0.7.61 * Sun May 17 2009 Jeremy Hinegardner - 0.6.36-2 - init script updates from Gena Makhomed - remove nginx-upstream-fair * Sat Apr 11 2009 Jeremy Hinegardner - 0.6.36-1 - update to 0.6.36 * Wed Feb 25 2009 Fedora Release Engineering - 0.6.35-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Feb 19 2009 Jeremy Hinegardner - 0.6.35-2 - rebuild * Thu Feb 19 2009 Jeremy Hinegardner - 0.6.35-1 - update to 0.6.35 * Sat Jan 17 2009 Tomas Mraz - 0.6.34-2 - rebuild with new openssl * Tue Dec 30 2008 Jeremy Hinegardner - 0.6.34-1 - update to 0.6.34 * Thu Dec 4 2008 Michael Schwendt - 0.6.33-2 - Fix inclusion of /usr/share/nginx tree => no unowned directories. * Sun Nov 23 2008 Jeremy Hinegardner - 0.6.33-1 - update to 0.6.33 * Tue Jul 22 2008 Jeremy Hinegardner - 0.6.32-1 - update to 0.6.32 - nginx now supports DESTDIR so removed the patches that enabled it * Mon May 26 2008 Jeremy Hinegardner - 0.6.31-3 - init script fixes - resolve 'listen 80 default' [#447873] * Mon May 12 2008 Jeremy Hinegardner - 0.6.31-2 - update to 0.6.31 * Sun May 11 2008 Jeremy Hinegardner - 0.6.30-2 - upate to new upstream stable branch 0.6 - added 3rd party module nginx-upstream-fair - added default webpages * Sun Apr 20 2008 Jeremy Hinegardner - 0.5.35-2 - update init script to match recommended guidelines - add /etc/nginx/conf.d support [#443280] - use /etc/sysconfig/nginx to determine nginx.conf [#442708] * Tue Mar 18 2008 Tom "spot" Callaway - 0.5.35-3 - add Requires for versioned perl (libperl.so) - drop silly file Requires * Tue Feb 19 2008 Fedora Release Engineering - 0.5.35-2 - Autorebuild for GCC 4.3 * Sat Jan 19 2008 Jeremy Hinegardner - 0.5.35-1 - update to 0.5.35 * Sat Dec 15 2007 Jeremy Hinegardner - 0.5.34-1 - update to 0.5.34 * Wed Dec 05 2007 Release Engineering - 0.5.33-2 - Rebuild for deps * Sun Nov 11 2007 Jeremy Hinegardner - 0.5.33-1 - update to 0.5.33 * Mon Sep 24 2007 Jeremy Hinegardner - 0.5.32-1 - updated to 0.5.32 - fixed rpmlint UTF-8 complaints. * Sat Aug 18 2007 Jeremy Hinegardner - 0.5.31-2 - added --with-http_stub_status_module build option. - added --with-http_sub_module build option. - added use of pcre-config --cflags * Fri Aug 17 2007 Jeremy Hinegardner - 0.5.31-1 - Update to 0.5.31 - specify license is BSD * Sat Aug 11 2007 Jeremy Hinegardner - 0.5.30-2 - Add BuildRequires: perl-devel - fixing rawhide build * Mon Jul 30 2007 Jeremy Hinegardner - 0.5.30-1 - Update to 0.5.30 * Tue Jul 24 2007 Jeremy Hinegardner - 0.5.29-1 - Update to 0.5.29 * Wed Jul 18 2007 Jeremy Hinegardner - 0.5.28-1 - Update to 0.5.28 * Mon Jul 09 2007 Jeremy Hinegardner - 0.5.27-1 - Update to 0.5.27 * Mon Jun 18 2007 Jeremy Hinegardner - 0.5.26-1 - Update to 0.5.26 * Sat Apr 28 2007 Jeremy Hinegardner - 0.5.19-1 - Update to 0.5.19 * Mon Apr 02 2007 Jeremy Hinegardner - 0.5.17-1 - Update to 0.5.17 * Mon Mar 26 2007 Jeremy Hinegardner - 0.5.16-1 - Update to 0.5.16 - add ownership of /usr/share/nginx/html (#233950) * Fri Mar 23 2007 Jeremy Hinegardner - 0.5.15-3 - fixed package review bugs (#235222) given by ruben@rubenkerkhof.com * Thu Mar 22 2007 Jeremy Hinegardner - 0.5.15-2 - fixed package review bugs (#233522) given by kevin@tummy.com * Thu Mar 22 2007 Jeremy Hinegardner - 0.5.15-1 - create patches to assist with building for Fedora - initial packaging for Fedora