Since my workstation at home runs Debian Testing, today’s dist-upgrade unveiled the “monster” I was waiting for – Apache 2.4 was migrated to Debian Testing and so the default configuration paths did change (not to say “broken with 404”). Both Icinga Classic UI and Web Apache configuration were not found anymore – because /etc/apache2/conf.d isn’t included anymore by default in /etc/apache2/apache2.conf which happened during package upgrade. Sadly there was no Changelog warning popping up, so it did bite me very well.

The default location is now /etc/apache2/conf-available and it follows the method of sites-available – you are required to enable specific configuration too. The following examples show you how to achieve that natively with current source installations of Icinga Classic UI and Web:

Icinga Classic UI

# ./configure --with-httpd-conf=/etc/apache2/conf-available
# make install-webconf
# a2enconf icinga
# service apache2 reload

Icinga Web

# ./configure --with-web-apache-path=/etc/apache2/conf-available
# make install-apache-config
# a2enconf icinga-web
# service apache2 reload

If you want to migrate an existing installation, you can just move the config files from within /etc/apache2/conf.d to /etc/apache2/conf-available and enable them afterwards. The example assumes that both Icinga Classic UI and Web are installed.

# mv /etc/apache2/conf.d/icinga*.conf /etc/apache2/conf-available
# a2enconf icinga icinga-web
# service apache2 reload

Both installations will detect the default locations properly in future releases (#4508 and #4509), the fixes are already in git ‘next’ for 1.10.

Oh, and if you are using Debian packagesAlex and Markus already had a fight with Apache 2.4 making icinga-cgi and icinga-web work in current Debian Testing tree. Still, you may wanna move/migrate your existing configuration manually :-)