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"