Skip to content

Installing Icinga DB Web on Debian

Adding Icinga Package Repository

The recommended way to install Icinga DB Web is to use prebuilt packages from our official release repository.


If you install Icinga DB Web on a node that has Icinga 2, Icinga DB or Icinga Web installed via packages, proceed to installing the Icinga DB Web package as the repository is already configured.

Here’s how to add the official release repository:

apt-get update
apt-get -y install apt-transport-https wget gnupg

wget -O - | apt-key add -

DIST=$(awk -F"[)(]+" '/VERSION=/ {print $2}' /etc/os-release); \
 echo "deb icinga-${DIST} main" > \
 echo "deb-src icinga-${DIST} main" >> \

apt-get update

Installing Icinga DB Web Package

Use your distribution’s package manager to install the icingadb-web package as follows:

apt-get install icingadb-web

Configuring Icinga DB Web

The Icinga Web PHP framework is required to configure and run the Icinga DB Web module. Package installations of icingadb-web already set up the necessary dependencies. If Icinga Web has not been installed or set up before, you have completed the instructions here and can proceed to install the web server on Debian, which will then take you to the web-based setup wizard, which also covers the configuration of Icinga DB Web.

If Icinga Web has been installed but not yet set up, please visit Icinga Web and follow the web-based setup wizard. For Icinga Web setups already running, log in to Icinga Web with a privileged user and follow the steps below to configure the Icinga DB Web module:

  1. Create a new resource for the Icinga DB database via the Configuration → Application → Resources menu.
  2. Configure the resource you just created as the database connection for the Icinga DB Web module using the Configuration → Modules → icingadb → Database menu.
  3. Configure the connection to the Redis server through the Configuration → Modules → icingadb → Redis menu.
  4. In order to acknowledge problems, force checks, schedule downtimes, etc., Icinga DB Web needs access to the Icinga 2 API. For this you need an ApiUser object with appropriate permissions on the Icinga 2 side:


For single-node setups it is recommended to manage API credentials in the /etc/icinga2/conf.d/api-users.conf file. If you are running a high-availability Icinga 2 setup, please manage the credentials in the master zone.

  1. Please add the following Icinga 2 configuration and change the password accordingly:
    object ApiUser "icingadb-web" {
        password = "CHANGEME"
        permissions = [ "actions/*", "objects/modify/*", "objects/query/*", "status/query" ]
  2. Restart Icinga 2 for these changes to take effect.
  3. Then configure a command transport for Icinga DB Web using the credentials you just created via the Configuration → Modules → icingadb → Command Transports menu.

If you have previously used the monitoring module, there is an option to migrate some settings.