diff --git a/apache2-README-configuration.txt b/apache2-README-configuration.txt new file mode 100644 index 0000000..2136144 --- /dev/null +++ b/apache2-README-configuration.txt @@ -0,0 +1,27 @@ +httpd configuration @ SUSE +========================== + +`httpd` command can stand for `httpd-prefork`, `httpd-worker` +and `httpd-event`, depending on which httpd mpm rpm package is +installed. In case more such mpm packages are installed, `httpd` +points to one with higher priority defined in update alternatives. + +There are several levels of configuration possible: + +1. systemctl start apache2 +When httpd is run trough systemctl service, /etc/apache2/httpd.conf +is used as a base and sysconfig varibables translated into +/etc/apache2/sysconfig.d/ used. + +2. httpd -f /etc/apache2/httpd.conf +/etc/apache2/httpd.conf can be used directly, without systemd +assistance. /etc/apache2/sysconfig.d is not included in that +case. + +3. httpd -f /usr/share/doc/package/apache2/conf/httpd.conf +It is possible to experiment with upstream example +configuration. Do not forgot + +For more configuration tips, install documentation package +apache-rex. + diff --git a/apache2-mod_status.conf b/apache2-mod_status.conf index 7d11e64..e09657b 100644 --- a/apache2-mod_status.conf +++ b/apache2-mod_status.conf @@ -5,16 +5,28 @@ # see https://httpd.apache.org/docs/2.4/mod/mod_status.html # - - SetHandler server-status - - Require local - - - Order deny,allow - Deny from all - Allow from localhost - - + + + AddHandler lua-script .lua + LuaMapHandler ^/server-status/?$ /usr/share/apache2/lua-server-status/server-status.lua + + + + + ExtendedStatus on + + + SetHandler server-status + + + + + Require local + + + Order deny,allow + Deny from all + Allow from localhost + + - diff --git a/apache2-start_apache2 b/apache2-start_apache2 index 60a9bd9..e302fce 100644 --- a/apache2-start_apache2 +++ b/apache2-start_apache2 @@ -143,7 +143,11 @@ if [ -n "$APACHE_SERVERTOKENS" ]; then fi # APACHE_EXTENDED_STATUS -> global.conf if [ -n "$APACHE_EXTENDED_STATUS" ]; then - echo "ExtendedStatus $APACHE_EXTENDED_STATUS" >> ${sysconfd_dir}/global.conf + if [ "$APACHE_EXTENDED_STATUS" == "lua" ]; then + server_flags="$server_flags -DLUA_STATUS" + elif [ "$APACHE_EXTENDED_STATUS" == "on" ]; then + server_flags="$server_flags -DEXTENDED_STATUS" + fi fi # APACHE_MODULES -> loadmodule.conf get_module_list diff --git a/apache2.changes b/apache2.changes index 77e57be..193482f 100644 --- a/apache2.changes +++ b/apache2.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Fri Dec 11 20:01:03 UTC 2020 - pgajdos@suse.com + +- added https://httpd.apache.org/server-status like server status + (configured by APACHE_EXTENDED_STATUS="lua") +- modified sources + % apache2-mod_status.conf + % apache2-start_apache2 + % sysconfig.apache2 + +------------------------------------------------------------------- +Thu Dec 10 16:45:36 UTC 2020 - pgajdos@suse.com + +- actually install suse provided READMEs +- install upstream configuration example +- added sources + + apache2-README-configuration.txt + +------------------------------------------------------------------- +Wed Dec 9 19:36:02 UTC 2020 - pgajdos@suse.com + +- apxs -q PREFIX now returns /srv/www again + ------------------------------------------------------------------- Wed Dec 9 08:00:12 UTC 2020 - Dominique Leuenberger diff --git a/apache2.spec b/apache2.spec index e67595d..6bf7360 100644 --- a/apache2.spec +++ b/apache2.spec @@ -178,6 +178,7 @@ Source191: apache2-vhost-ssl.template # READMEs and other documentation Source200: apache2-README-access_compat.txt Source201: apache2-README-instances.txt +Source202: apache2-README-configuration.txt # layout of system dirs configuration, may be upstreamed Patch0: apache2-system-dirs-layout.patch # apachectl is frontend for start_apache2, suse specific @@ -369,6 +370,7 @@ EOF # there does not exist as configure switches), so # override them back %configure \ + --prefix=%{datadir} \ --libexecdir=%{libexecdir} \ --includedir=%{includedir} \ --sysconfdir=%{sysconfdir} \ @@ -506,7 +508,7 @@ mkdir -p %{buildroot}%{logfiledir} \ # save MODULE_MAGIC_NUMBER mkdir -p %{buildroot}/%{_libexecdir} -cat > %{buildroot}/%{_libexecdir}/%{name}_MMN <<-EOF +cat > %{buildroot}/%{_libexecdir}/apache2_MMN <<-EOF #!/bin/sh echo %{apache_mmn} EOF @@ -589,10 +591,17 @@ ln -sf ../mime.types %{buildroot}/%{sysconfdir}/mime.types make DESTDIR=%{buildroot} install-icons make DESTDIR=%{buildroot} install-error +make DESTDIR=%{buildroot} sysconfdir=%{_docdir}/apache2/conf install-conf + +cp -r docs/server-status %{buildroot}%{_datadir}/apache2/lua-server-status mkdir -p %{buildroot}%{_mandir}/man8/ install -D -m 644 docs/man/suexec.8 %{buildroot}%{_mandir}/man8/ install -D -m 644 docs/man/httpd.8 %{buildroot}%{_mandir}/man8/ + +cp %{SOURCE200} README-access_compat.txt +cp %{SOURCE201} README-instances.txt +cp %{SOURCE202} README-configuration.txt %endif # utils install @@ -826,7 +835,7 @@ exit 0 %attr(750,%{httpduser},root) %dir %{localstatedir} %dir %{libexecdir} %dir %{_libexecdir} -%attr(755,root,root) %{_libexecdir}/%{name}_MMN +%attr(755,root,root) %{_libexecdir}/apache2_MMN %dir %{sysconfdir} %config %{sysconfdir}/magic %config %{sysconfdir}/mime.types @@ -869,6 +878,7 @@ exit 0 %{_mandir}/man8/httpd.8.* %{_mandir}/man8/suexec.8.* %doc support/SHA1 +%{_docdir}/apache2/conf %endif # utils files diff --git a/sysconfig.apache2 b/sysconfig.apache2 index fb7b4d8..13eb14f 100644 --- a/sysconfig.apache2 +++ b/sysconfig.apache2 @@ -96,7 +96,6 @@ APACHE_MODULES="actions alias auth_basic authn_core authn_file authz_host authz_ # something temporarily. # # Notably, to enable ssl support, 'SSL' needs to be added here. -# To enable the server-status, 'STATUS' needs to be added here. # # It does not matter if you write flag1, -D flag1 or -Dflag1. # Multiple flags can be given as "-D flag1 -D flag2" or simply "flag1 flag2". @@ -105,7 +104,7 @@ APACHE_MODULES="actions alias auth_basic authn_core authn_file authz_host authz_ # (e.g. via rcapache2 start -DReverseProxy) # # Example: -# "SSL HTTP2 STATUS AWSTATS SVN_VIEWCVS no_subversion_today" +# "SSL HTTP2 AWSTATS SVN_VIEWCVS no_subversion_today" # APACHE_SERVER_FLAGS="" @@ -242,7 +241,7 @@ APACHE_USE_CANONICAL_NAME="off" # APACHE_SERVERTOKENS="ProductOnly" -## Type: list(on,off) +## Type: list(on,off,lua) ## Default: "off" ## ServiceReload: apache2 # @@ -250,6 +249,9 @@ APACHE_SERVERTOKENS="ProductOnly" # CPU usage, in the status report. It is a server-wide setting, and it can cost # some performance! # +# Server status GUI written in lua (see https://www.apache.org/server-status +# for an example) requires both mod_status and mod_lua to be loaded. +# APACHE_EXTENDED_STATUS="off"