summaryrefslogtreecommitdiff
path: root/debian/apache2.2-common.postinst
blob: d9a6a65b1ff9083f42201d14fe82aad2b8dc9301 (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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/bin/sh -e

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

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.existed ] ||
     [ -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
                a2ensite -q 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 -q alias
	a2enmod -q autoindex
	a2enmod -q dir
	a2enmod -q env
	a2enmod -q mime
	a2enmod -q negotiation
	a2enmod -q setenvif
	a2enmod -q status
	a2enmod -q auth_basic
	a2enmod -q deflate

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

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

if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.2.4-2; then
	echo -n activating new config files ...
	for a in actions alias autoindex info mime negotiation setenvif status ; do 
		if mod_is_enabled $a && [ ! -e /etc/apache2/mods-enabled/$a.conf ] ; then
			ln -sf 	../mods-available/$a.conf /etc/apache2/mods-enabled/$a.conf
			echo -n " $a.conf"
		fi
	done
	echo " done."
fi

# Note, this line catches new installs as well as upgrades
if dpkg --compare-versions "$2" lt 2.2.7-1~0; then
	if [ ! -e /var/www/index.html  -a \
	     ! -h /var/www/index.html  -a \
	     ! -e /var/www/index.cgi   -a \
	     ! -e /var/www/index.pl    -a \
	     ! -e /var/www/index.php   -a \
	     ! -e /var/www/index.xhtml -a \
	     ! -e /var/www/index.htm ] ; then
		cp /usr/share/apache2/default-site/index.html /var/www/index.html
	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
rm -f /etc/apache2/ports.conf.dpkg-apache2.2-common.existed

[ -f /etc/apache2/httpd.conf ] || touch /etc/apache2/httpd.conf

#DEBHELPER#

exit 0