At one time or another you may need to use SNMP-based checks so it is a good idea to install the required packages now. Otherwise
some plugins are not compiled i.e. not available when you need them and it would require a recompile of the plugins.

2.4.3. Install packages

You can install these packages by running the following commands (as root or using sudo).

Note

Unfortunately sometimes the names of packages change between different releases of the same distribution so if you get a message
that one of the packages cannot be found then please use the search option of your package manager to get the new name:

2.4.6. Compile and install Icinga

Run the Icinga configure script. You will get help by using the --help flag.

Note

Starting with Icinga 1.9 the default has changed so you have to disable the compilation of IDOUtils
explicitly.

#> ./configure --with-command-group=icinga-cmd --disable-idoutils

Note

Starting with Apache 2.4 the default web configuration folder changed from /etc/apache2/conf.d to
/etc/apache2/conf-available so depending on your distribution (testing versions of Debian /
Ubuntu) you might have to add this option to the call of configure

#> make install
#> make install-init
#> make install-config
#> make install-eventhandlers
#> make install-commandmode

or shorter

#> make fullinstall
#> make install-config

Note

make install-config is NOT included in make fullinstall anymore to avoid accidently
overwriting of your config files.

Note

make install-eventhandlers will install some event handler routines. To prevent undesired behaviour it is
only included when you use make fullinstall.

Don't start Icinga yet - there's still more that needs to be done...

2.4.7. Customise Configuration

Sample configuration files have been installed by using

#> make install-config

into
/usr/local/icinga/etc/. You'll need to make just one change before you proceed...

Edit the /usr/local/icinga/etc/objects/contacts.cfg config file with your favourite editor and change the
email address associated with the icingaadmin contact definition to the address you'd like to use for receiving
alerts.

#> vi /usr/local/icinga/etc/objects/contacts.cfg

2.4.8. Configure the Classic Web Interface

Icinga ships with the Classic Web Interface ("the CGIs") which can be installed via

Starting with Icinga 1.9 the command 'make install-webconf-auth' additionally installs the file
htpasswd.users which contains credentials for the user icingaadmin so you can skip the
following step. The password is icingaadmin.

Note

Starting with Apache 2.4 (testing versions of Debian / Ubuntu) you have to enable the configuration

#> a2enconf icinga

Enable the CGI module as well

#> a2enmod cgi

Create an icingaadmin account for logging into the Icinga classic web interface. If you want to change it
later, use the same command. Remember the password you assign to this account - you'll need it later.

#> htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin

If you want to change it later or want to add another user, use the following command:

#> htpasswd /usr/local/icinga/etc/htpasswd.users <USERNAME>

Note

Depending on your distribution/Apache-version you may have to use htpasswd2 instead.

2.4.10. Adjusting the SELinux settings

RHEL and derived distributions like Fedora and CentOS are shipped with activated SELinux (Security
Enhanced Linux) running in "enforcing" mode. This may lead to "Internal Server Error" messages when you try to invoke the
Icinga-CGIs.

Check if SELinux runs in enforcing mode

#> getenforce

Set SELinux in "permissive" mode

#> setenforce 0

To make this change permanent you have to adjust this setting in /etc/selinux/config and restart the
system.

Instead of deactivating SELinux or setting it into permissive mode you can use the following commands to run the CGIs in
enforcing/targeted mode. The semanage command will automatically add entries to
/etc/selinux/targeted/contexts/files/file_contexts.local.