diff --git a/Dockerfile b/Dockerfile
index c0181b6..150b981 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -19,19 +19,14 @@ FROM httpd:2.4
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
+ libapache2-mod-auth-mellon \
+ libapache2-mod-security2 \
libcurl4t64 \
libpcre2-8-0 \
python3 && \
rm -rf /var/lib/apt/lists/* && \
install -d -o www-data -g www-data /var/cache/httpd/mod_auth_cas && \
- mkdir -p /etc/httpd/conf.modules.d /var/www/html && \
- sed -n '/^LoadModule /p' conf/httpd.conf > /etc/httpd/conf.modules.d/00-base.conf && \
- printf '%s\n' \
- 'LoadModule negotiation_module modules/mod_negotiation.so' \
- 'LoadModule include_module modules/mod_include.so' \
- 'LoadModule remoteip_module modules/mod_remoteip.so' \
- 'LoadModule auth_cas_module modules/mod_auth_cas.so' \
- > /etc/httpd/conf.modules.d/10-cas.conf
+ mkdir -p /var/www/html
COPY --from=cas-build /usr/local/apache2/modules/mod_auth_cas.so /usr/local/apache2/modules/
COPY files/etc/httpd /etc/httpd
@@ -39,6 +34,7 @@ COPY files/pre-init /usr/local/bin/pre-init
COPY --chmod=755 files/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
COPY files/var/www /var/www
RUN ln -sf /etc/httpd/conf/httpd.conf /usr/local/apache2/conf/httpd.conf
+RUN /usr/local/bin/docker-entrypoint.sh httpd -t
EXPOSE 8080
ENTRYPOINT ["docker-entrypoint.sh"]
diff --git a/files/etc/httpd/conf.modules.d/00-base.conf b/files/etc/httpd/conf.modules.d/00-base.conf
new file mode 100644
index 0000000..2a2392e
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/00-base.conf
@@ -0,0 +1,67 @@
+#
+# This file loads most of the modules included with the Apache HTTP
+# Server itself.
+#
+
+LoadModule access_compat_module modules/mod_access_compat.so
+LoadModule actions_module modules/mod_actions.so
+LoadModule alias_module modules/mod_alias.so
+LoadModule allowmethods_module modules/mod_allowmethods.so
+LoadModule auth_basic_module modules/mod_auth_basic.so
+LoadModule auth_digest_module modules/mod_auth_digest.so
+LoadModule authn_anon_module modules/mod_authn_anon.so
+LoadModule authn_core_module modules/mod_authn_core.so
+LoadModule authn_dbd_module modules/mod_authn_dbd.so
+LoadModule authn_dbm_module modules/mod_authn_dbm.so
+LoadModule authn_file_module modules/mod_authn_file.so
+LoadModule authn_socache_module modules/mod_authn_socache.so
+LoadModule authz_core_module modules/mod_authz_core.so
+LoadModule authz_dbd_module modules/mod_authz_dbd.so
+LoadModule authz_dbm_module modules/mod_authz_dbm.so
+LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
+LoadModule authz_host_module modules/mod_authz_host.so
+LoadModule authz_owner_module modules/mod_authz_owner.so
+LoadModule authz_user_module modules/mod_authz_user.so
+LoadModule autoindex_module modules/mod_autoindex.so
+LoadModule brotli_module modules/mod_brotli.so
+LoadModule cache_module modules/mod_cache.so
+LoadModule cache_disk_module modules/mod_cache_disk.so
+LoadModule cache_socache_module modules/mod_cache_socache.so
+LoadModule data_module modules/mod_data.so
+LoadModule dbd_module modules/mod_dbd.so
+LoadModule deflate_module modules/mod_deflate.so
+LoadModule dir_module modules/mod_dir.so
+LoadModule dumpio_module modules/mod_dumpio.so
+LoadModule echo_module modules/mod_echo.so
+LoadModule env_module modules/mod_env.so
+LoadModule expires_module modules/mod_expires.so
+LoadModule ext_filter_module modules/mod_ext_filter.so
+LoadModule filter_module modules/mod_filter.so
+LoadModule headers_module modules/mod_headers.so
+LoadModule include_module modules/mod_include.so
+LoadModule info_module modules/mod_info.so
+LoadModule log_config_module modules/mod_log_config.so
+LoadModule logio_module modules/mod_logio.so
+LoadModule macro_module modules/mod_macro.so
+LoadModule mime_magic_module modules/mod_mime_magic.so
+LoadModule mime_module modules/mod_mime.so
+LoadModule negotiation_module modules/mod_negotiation.so
+LoadModule remoteip_module modules/mod_remoteip.so
+LoadModule reqtimeout_module modules/mod_reqtimeout.so
+LoadModule request_module modules/mod_request.so
+LoadModule rewrite_module modules/mod_rewrite.so
+LoadModule setenvif_module modules/mod_setenvif.so
+LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
+LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
+LoadModule socache_dbm_module modules/mod_socache_dbm.so
+LoadModule socache_memcache_module modules/mod_socache_memcache.so
+LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
+LoadModule status_module modules/mod_status.so
+LoadModule substitute_module modules/mod_substitute.so
+LoadModule suexec_module modules/mod_suexec.so
+LoadModule unique_id_module modules/mod_unique_id.so
+LoadModule unixd_module modules/mod_unixd.so
+LoadModule userdir_module modules/mod_userdir.so
+LoadModule version_module modules/mod_version.so
+LoadModule vhost_alias_module modules/mod_vhost_alias.so
+LoadModule watchdog_module modules/mod_watchdog.so
diff --git a/files/etc/httpd/conf.modules.d/00-dav.conf b/files/etc/httpd/conf.modules.d/00-dav.conf
new file mode 100644
index 0000000..e6af8de
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/00-dav.conf
@@ -0,0 +1,3 @@
+LoadModule dav_module modules/mod_dav.so
+LoadModule dav_fs_module modules/mod_dav_fs.so
+LoadModule dav_lock_module modules/mod_dav_lock.so
diff --git a/files/etc/httpd/conf.modules.d/00-lua.conf b/files/etc/httpd/conf.modules.d/00-lua.conf
new file mode 100644
index 0000000..9e0d0db
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/00-lua.conf
@@ -0,0 +1 @@
+LoadModule lua_module modules/mod_lua.so
diff --git a/files/etc/httpd/conf.modules.d/00-mpm.conf b/files/etc/httpd/conf.modules.d/00-mpm.conf
new file mode 100644
index 0000000..647fa3d
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/00-mpm.conf
@@ -0,0 +1,23 @@
+# Select the MPM module which should be used by uncommenting exactly
+# one of the following LoadModule lines. See the httpd.conf(5) man
+# page for more information on changing the MPM.
+
+# prefork MPM: Implements a non-threaded, pre-forking web server
+# See: http://httpd.apache.org/docs/2.4/mod/prefork.html
+#
+# NOTE: If enabling prefork, the httpd_graceful_shutdown SELinux
+# boolean should be enabled, to allow graceful stop/shutdown.
+#
+#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
+
+# worker MPM: Multi-Processing Module implementing a hybrid
+# multi-threaded multi-process web server
+# See: http://httpd.apache.org/docs/2.4/mod/worker.html
+#
+#LoadModule mpm_worker_module modules/mod_mpm_worker.so
+
+# event MPM: A variant of the worker MPM with the goal of consuming
+# threads only for connections with active processing
+# See: http://httpd.apache.org/docs/2.4/mod/event.html
+#
+LoadModule mpm_event_module modules/mod_mpm_event.so
diff --git a/files/etc/httpd/conf.modules.d/00-optional.conf b/files/etc/httpd/conf.modules.d/00-optional.conf
new file mode 100644
index 0000000..e9d592b
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/00-optional.conf
@@ -0,0 +1,18 @@
+#
+# This file lists modules included with the Apache HTTP Server
+# which are not enabled by default.
+#
+
+#LoadModule asis_module modules/mod_asis.so
+#LoadModule buffer_module modules/mod_buffer.so
+#LoadModule heartbeat_module modules/mod_heartbeat.so
+#LoadModule heartmonitor_module modules/mod_heartmonitor.so
+#LoadModule usertrack_module modules/mod_usertrack.so
+#LoadModule dialup_module modules/mod_dialup.so
+#LoadModule charset_lite_module modules/mod_charset_lite.so
+#LoadModule log_debug_module modules/mod_log_debug.so
+#LoadModule log_forensic_module modules/mod_log_forensic.so
+#LoadModule ratelimit_module modules/mod_ratelimit.so
+#LoadModule reflector_module modules/mod_reflector.so
+#LoadModule sed_module modules/mod_sed.so
+#LoadModule speling_module modules/mod_speling.so
diff --git a/files/etc/httpd/conf.modules.d/00-proxy.conf b/files/etc/httpd/conf.modules.d/00-proxy.conf
new file mode 100644
index 0000000..f0f84c2
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/00-proxy.conf
@@ -0,0 +1,18 @@
+# This file configures all the proxy modules:
+LoadModule proxy_module modules/mod_proxy.so
+LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
+LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
+LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
+LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
+LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
+LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
+LoadModule proxy_connect_module modules/mod_proxy_connect.so
+LoadModule proxy_express_module modules/mod_proxy_express.so
+LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
+LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
+LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
+LoadModule proxy_http_module modules/mod_proxy_http.so
+LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
+LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
+LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
+LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
diff --git a/files/etc/httpd/conf.modules.d/00-ssl.conf b/files/etc/httpd/conf.modules.d/00-ssl.conf
new file mode 100644
index 0000000..53235cd
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/00-ssl.conf
@@ -0,0 +1 @@
+LoadModule ssl_module modules/mod_ssl.so
diff --git a/files/etc/httpd/conf.modules.d/01-cgi.conf b/files/etc/httpd/conf.modules.d/01-cgi.conf
new file mode 100644
index 0000000..bb8e8b2
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/01-cgi.conf
@@ -0,0 +1,13 @@
+# This configuration file loads a CGI module appropriate to the MPM
+# which has been configured in 00-mpm.conf. mod_cgid should be used
+# with a threaded MPM; mod_cgi with the prefork MPM.
+
+
+ LoadModule cgid_module modules/mod_cgid.so
+
+
+ LoadModule cgid_module modules/mod_cgid.so
+
+
+ LoadModule cgi_module modules/mod_cgi.so
+
diff --git a/files/etc/httpd/conf.modules.d/01-ldap.conf b/files/etc/httpd/conf.modules.d/01-ldap.conf
new file mode 100644
index 0000000..f2ac2a2
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/01-ldap.conf
@@ -0,0 +1,3 @@
+# This file configures the LDAP modules:
+LoadModule ldap_module modules/mod_ldap.so
+LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
diff --git a/files/etc/httpd/conf.modules.d/01-session.conf b/files/etc/httpd/conf.modules.d/01-session.conf
new file mode 100644
index 0000000..f8d4d92
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/01-session.conf
@@ -0,0 +1,6 @@
+LoadModule session_module modules/mod_session.so
+LoadModule session_cookie_module modules/mod_session_cookie.so
+LoadModule session_dbd_module modules/mod_session_dbd.so
+LoadModule auth_form_module modules/mod_auth_form.so
+
+#LoadModule session_crypto_module modules/mod_session_crypto.so
diff --git a/files/etc/httpd/conf.modules.d/10-auth_mellon.conf b/files/etc/httpd/conf.modules.d/10-auth_mellon.conf
new file mode 100644
index 0000000..e085284
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/10-auth_mellon.conf
@@ -0,0 +1 @@
+LoadModule auth_mellon_module /usr/lib/apache2/modules/mod_auth_mellon.so
diff --git a/files/etc/httpd/conf.modules.d/10-cas.conf b/files/etc/httpd/conf.modules.d/10-cas.conf
new file mode 100644
index 0000000..2398089
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/10-cas.conf
@@ -0,0 +1,4 @@
+LoadModule negotiation_module modules/mod_negotiation.so
+LoadModule include_module modules/mod_include.so
+LoadModule remoteip_module modules/mod_remoteip.so
+LoadModule auth_cas_module modules/mod_auth_cas.so
diff --git a/files/etc/httpd/conf.modules.d/10-h2.conf b/files/etc/httpd/conf.modules.d/10-h2.conf
new file mode 100644
index 0000000..12c28aa
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/10-h2.conf
@@ -0,0 +1 @@
+LoadModule http2_module modules/mod_http2.so
diff --git a/files/etc/httpd/conf.modules.d/10-mod_security.conf b/files/etc/httpd/conf.modules.d/10-mod_security.conf
new file mode 100644
index 0000000..5cb0f95
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/10-mod_security.conf
@@ -0,0 +1,5 @@
+LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
+
+
+ LoadModule unique_id_module modules/mod_unique_id.so
+
diff --git a/files/etc/httpd/conf.modules.d/10-proxy_h2.conf b/files/etc/httpd/conf.modules.d/10-proxy_h2.conf
new file mode 100644
index 0000000..61dc6d0
--- /dev/null
+++ b/files/etc/httpd/conf.modules.d/10-proxy_h2.conf
@@ -0,0 +1 @@
+LoadModule proxy_http2_module modules/mod_proxy_http2.so