diff --git a/REFERENCE.md b/REFERENCE.md
index 4625f1c..ccd63f1 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -799,6 +799,7 @@ The following parameters are available in the `icinga::web` class:
* [`default_admin_pass`](#-icinga--web--default_admin_pass)
* [`db_pass`](#-icinga--web--db_pass)
* [`apache_cgi_pass_auth`](#-icinga--web--apache_cgi_pass_auth)
+* [`apache_extra_mods`](#-icinga--web--apache_extra_mods)
* [`apache_config`](#-icinga--web--apache_config)
* [`db_type`](#-icinga--web--db_type)
* [`db_host`](#-icinga--web--db_host)
@@ -839,6 +840,14 @@ Data type: `Boolean`
Either turn on or off the apache cgi pass thru auth.
An option available since Apache v2.4.15 and required for authenticated access to the Icinga Web Api.
+##### `apache_extra_mods`
+
+Data type: `Array[String[1]]`
+
+List of addational Apache modules to load.
+
+Default value: `[]`
+
##### `apache_config`
Data type: `Boolean`
diff --git a/manifests/web.pp b/manifests/web.pp
index 89a10be..e28b424 100644
--- a/manifests/web.pp
+++ b/manifests/web.pp
@@ -15,6 +15,9 @@
# Either turn on or off the apache cgi pass thru auth.
# An option available since Apache v2.4.15 and required for authenticated access to the Icinga Web Api.
#
+# @param apache_extra_mods
+# List of addational Apache modules to load.
+#
# @param apache_config
# Wether or not install an default Apache config for Icinga Web 2. If set to `true` Icinga is
# reachable via `/icingaweb2`.
@@ -60,6 +63,7 @@
Boolean $manage_database = false,
Variant[Stdlib::Host, Array[Stdlib::Host]] $api_host = 'localhost',
String $api_user = 'icingaweb2',
+ Array[String[1]] $apache_extra_mods = [],
Boolean $apache_config = true,
) {
# install all required php extentions
@@ -157,6 +161,9 @@
include apache::mod::proxy_http
include apache::mod::ssl
+ # Load additional modules
+ include prefix($apache_extra_mods, 'apache::mod::')
+
if $apache_config {
apache::custom_config { 'icingaweb2':
ensure => present,