Code

Make Apache2 configuration optional using debconf.
[pkg-pnp4nagios.git] / debian / pnp4nagios-web.postinst
index d2fd8aa52cb28a9941b90bb500b96c6a41dec74b..9e35d766d6da6bd5add850cff3656ba2bafc3950 100644 (file)
@@ -17,6 +17,8 @@ set -e
 # for details, see http://www.debian.org/doc/debian-policy/ or
 # the debian-policy package
 
+. /usr/share/debconf/confmodule
+
 setperm() {
        user="$1"
        group="$2"
@@ -30,6 +32,28 @@ setperm() {
        fi
 }
 
+configure_apache2() {
+       a2reload="false"
+
+       if [ -d /etc/apache2/conf.d/ ]; then
+               if [ ! -e /etc/apache2/conf.d/pnp4nagios.conf ]; then
+                       ln -s /etc/pnp4nagios/apache.conf /etc/apache2/conf.d/pnp4nagios.conf
+                       a2reload="true"
+               fi
+       fi
+
+       if [ -d /etc/apache2/mods-enabled ]; then
+               if [ ! -e /etc/apache2/mods-enabled/rewrite.load ]; then
+                       a2enmod rewrite
+                       a2reload="true"
+               fi
+       fi
+
+       if [ "$a2reload" = "true" ]; then
+               invoke-rc.d apache2 reload
+       fi
+}
+
 case "$1" in
        configure)
                if ! getent passwd nagios > /dev/null ; then
@@ -42,25 +66,20 @@ case "$1" in
                setperm nagios www-data 750 /var/log/pnp4nagios
                setperm nagios nagios   750 /var/log/pnp4nagios/stats
 
-               a2reload="false"
-
-               if [ -d /etc/apache2/conf.d/ ]; then
-                       if [ ! -e /etc/apache2/conf.d/pnp4nagios.conf ]; then
-                               ln -s /etc/pnp4nagios/apache.conf /etc/apache2/conf.d/pnp4nagios.conf
-                               a2reload="true"
-                       fi
-               fi
-
-               if [ -d /etc/apache2/mods-enabled ]; then
-                       if [ ! -e /etc/apache2/mods-enabled/rewrite.load ]; then
-                               a2enmod rewrite
-                               a2reload="true"
-                       fi
-               fi
+               db_get pnp4nagios-web/httpd
+               http_servers=`echo $RET | sed -e 's/,/ /g'`
 
-               if [ "$a2reload" = "true" ]; then
-                       invoke-rc.d apache2 reload
-               fi
+               for httpd in $http_servers; do
+                       case "$httpd" in
+                               apache2)
+                                       configure_apache2
+                                       ;;
+                               # WISHLIST: configure other web servers as well
+                               *)
+                                       echo "Don't know how to configure web server $httpd" >&2
+                                       ;;
+                       esac
+               done
        ;;
 
        abort-upgrade|abort-remove|abort-deconfigure)