summaryrefslogtreecommitdiff
path: root/debian/apache2.2-common.postinst
blob: 16fd0ec4f132933b0dc4a0d7a92f8a2e9b249a04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/sh -e

if [ "$1" != "configure" ]; then
        exit 0
fi

NETSTAT=netstat

if [ -e /usr/sbin/apache2 ]; then
    if [ "`dpkg-statoverride --list /usr/sbin/apache2`" = "" ]; then
        chmod +x /usr/sbin/apache2
    else
        chmod `dpkg-statoverride --list /usr/sbin/apache2 | cut -f 3` /usr/sbin/apache2
    fi
fi

mod_is_enabled() {
    test -L /etc/apache2/mods-enabled/$1.load
}

# Detect whether this is a new install or an upgrade.
# Ordinarily one just checks $2, but since we renamed apache2-common to
# apache2.2-common, we have to be more devious.
if [ -n "$2" ]; then
	UPGRADE=from_2_2
elif [ -e /etc/apache2/ports.conf.dpkg-apache2.2-common.old ] ||
     [ -e /etc/apache2/ports.conf ] ||
     [ -n "$(ls /etc/apache2/sites-enabled/)" ]; then
	UPGRADE=from_2_0
else
	UPGRADE=new_install
fi



#set up default site and dummy error and access logs
if [ $UPGRADE = new_install ]; then
        if [ ! -L /etc/apache2/sites-enabled/000-default -a \
             ! -f /etc/apache2/sites-enabled/000-default ]; then
                ln -s /etc/apache2/sites-available/default /etc/apache2/sites-enabled/000-default
        fi
        touch /var/log/apache2/error.log /var/log/apache2/access.log
        chown root:adm /var/log/apache2/error.log /var/log/apache2/access.log
        chmod 0640 /var/log/apache2/error.log /var/log/apache2/access.log
fi

# Note, this line catches new installs as well as upgrades
if dpkg --compare-versions "$2" lt 2.2.3-3.1; then
	a2enmod alias
	a2enmod autoindex
	a2enmod dir
	a2enmod env
	a2enmod mime
	a2enmod negotiation
	a2enmod setenvif
	a2enmod status
        a2enmod auth_basic

        # Those come from mod_auth:
        a2enmod authz_default
        a2enmod authz_user
        a2enmod authz_groupfile
        a2enmod authn_file
        
	# This comes from mod_access:
        a2enmod authz_host

fi
if [ $UPGRADE = from_2_0 ]; then
        # Module replacements from previous versions of apache2
	if mod_is_enabled proxy; then
		a2enmod proxy_http
		a2enmod disk_cache
	fi
	if mod_is_enabled imap; then
		a2dismod imap
		a2enmod imagemap
	fi
	if mod_is_enabled auth_ldap; then
		a2dismod auth_ldap
		a2enmod authnz_ldap
	fi
fi

rm -f /etc/apache2/ports.conf.dpkg-apache2.2-common.old
rm -f /etc/default/apache2.dpkg-apache2.2-common.old
rm -f /etc/apache2/conf.d/charset.dpkg-apache2.2-common.old

exit 0