1 #!/bin/sh
2 # postinst script for pnp4nagios-web
3 #
4 # see: dh_installdeb(1)
6 set -e
8 # summary of how this script can be called:
9 # * <postinst> `configure' <most-recently-configured-version>
10 # * <old-postinst> `abort-upgrade' <new version>
11 # * <conflictor's-postinst> `abort-remove' `in-favour' <package>
12 # <new-version>
13 # * <postinst> `abort-remove'
14 # * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
15 # <failed-install-package> <version> `removing'
16 # <conflicting-package> <version>
17 # for details, see http://www.debian.org/doc/debian-policy/ or
18 # the debian-policy package
20 . /usr/share/debconf/confmodule
22 setperm() {
23 user="$1"
24 group="$2"
25 mode="$3"
26 file="$4"
27 shift 4
28 # only do something when no setting exists
29 if ! dpkg-statoverride --list "$file" >/dev/null 2>&1; then
30 chown "$user":"$group" "$file"
31 chmod "$mode" "$file"
32 fi
33 }
35 configure_apache2() {
36 a2reload="false"
38 if [ -d /etc/apache2/conf.d/ ]; then
39 if [ ! -e /etc/apache2/conf.d/pnp4nagios.conf ]; then
40 ln -s /etc/pnp4nagios/apache.conf /etc/apache2/conf.d/pnp4nagios.conf
41 a2reload="true"
42 fi
43 fi
45 if [ -d /etc/apache2/mods-enabled ]; then
46 if [ ! -e /etc/apache2/mods-enabled/rewrite.load ]; then
47 a2enmod rewrite
48 a2reload="true"
49 fi
50 fi
52 if [ "$a2reload" = "true" ]; then
53 invoke-rc.d apache2 reload
54 fi
55 }
57 case "$1" in
58 configure)
59 if ! getent passwd nagios > /dev/null ; then
60 echo 'Adding system-user for nagios' 1>&2
61 adduser --system --group --home /var/lib/nagios \
62 --disabled-login --force-badname nagios > /dev/null
63 fi
64 setperm nagios www-data 750 /var/lib/pnp4nagios
65 setperm nagios nagios 755 /var/lib/pnp4nagios/perfdata
66 setperm nagios www-data 750 /var/log/pnp4nagios
68 db_get pnp4nagios-web/httpd
69 http_servers=`echo $RET | sed -e 's/,/ /g'`
71 for httpd in $http_servers; do
72 case "$httpd" in
73 apache2)
74 configure_apache2
75 ;;
76 # WISHLIST: configure other web servers as well
77 *)
78 echo "Don't know how to configure web server $httpd" >&2
79 ;;
80 esac
81 done
82 ;;
84 abort-upgrade|abort-remove|abort-deconfigure)
85 ;;
87 *)
88 echo "postinst called with unknown argument \`$1'" >&2
89 exit 1
90 ;;
91 esac
93 # dh_installdeb will replace this with shell code automatically
94 # generated by other debhelper scripts.
96 #DEBHELPER#
98 exit 0