File: postinst

package info (click to toggle)
phpldapadmin 0.9.5-3sarge3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,052 kB
  • ctags: 2,526
  • sloc: php: 21,258; sh: 262; makefile: 132; xml: 42
file content (143 lines) | stat: -rw-r--r-- 6,048 bytes parent folder | download
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#!/bin/sh

CONFFILE="/etc/phpldapadmin/config.php"
TEMPLATES="/etc/phpldapadmin/templates"

chown -R root:www-data $TEMPLATES
chown -R root:www-data $TEMPLATES
chmod -R 0640 $TEMPLATES
chmod 0750 $TEMPLATES $TEMPLATES/creation $TEMPLATES/modification

. /usr/share/debconf/confmodule
db_version 2.0 || [ $? -lt 30 ]

if [ "$1" = "configure" ]; then

	if [ ! -f $CONFFILE ]; then
		cp /usr/share/phpldapadmin/config.php.example $CONFFILE
		chown -R root:www-data $CONFFILE
		chmod 0640 $CONFFILE
		ln -s $CONFFILE /usr/share/phpldapadmin/config.php
	else
		if [ ! -e /usr/share/phpldapadmin/config.php ]; then
			ln -s $CONFFILE /usr/share/phpldapadmin/config.php
		fi
		exit 0
	fi

	db_get phpldapadmin/ldap-server || true
	ldapserver="$RET"
	perl -i -p -e "s/(\['host'\]) = 'ldap.example.com'/\$1 = '$ldapserver'/i" $CONFFILE 2> /dev/null

	db_get phpldapadmin/ldap-tls || true
	tls="$RET"
	if [ "$tls" = "true" ]; then
		perl -i -p -e "s/(\['port'\]) = 389/\$1 = 636/i" $CONFFILE 2> /dev/null
		perl -i -p -e "s/(\['tls'\]) = false/\$1 = true/i" $CONFFILE 2> /dev/null
	fi

	db_get phpldapadmin/ldap-basedn || true
	basedn="$RET"
	perl -i -p -e "s/(\['base'\]) = 'dc=example,dc=com'/\$1 = '$basedn'/i" $CONFFILE 2> /dev/null

	db_get phpldapadmin/ldap-authtype || true
	authtype="$RET"
	perl -i -p -e "s/(\['auth_type'\]) = 'config'/\$1 = '$authtype'/i" $CONFFILE 2> /dev/null

	db_get phpldapadmin/ldap-binddn || true
	binddn="$RET"
	perl -i -p -e "s/(\['login_dn'\]) = 'cn=Manager,dc=example,dc=com'/\$1 = '$binddn'/i" $CONFFILE 2> /dev/null

	if [ "$authtype" = "config" ]; then
		db_get phpldapadmin/ldap-bindpw || true
		bindpw="$RET"
		perl -i -p -e "s/(\['login_pass'\]) = 'secret'/\$1 = '$bindpw'/i" $CONFFILE 2> /dev/null
	else
		perl -i -p -e "s/(\['login_pass'\]) = 'secret'/\$1 = ''/i" $CONFFILE 2> /dev/null
	fi

    # Autoconfiguration for apache*
    db_get phpldapadmin/reconfigure-webserver || true
    webservers="$RET"
    restart=""
                                                                                                                            
    for webserver in $webservers; do
        webserver=${webserver%,}
        test -x /usr/sbin/$webserver || continue
	
        case "$webserver" in
            apache|apache-perl|apache-ssl)
                if [ -x /usr/sbin/modules-config ]; then
                    if [ -f /usr/lib/apache/1.3/libphp4.so ]; then
                        if ! grep "^LoadModule php4_module " /etc/$webserver/modules.conf > /dev/null 2>&1; then
                            modules-config $webserver enable mod_php4
                        fi
                    else
                        if [ -f /usr/lib/apache/1.3/mod_actions.so ]; then
                            if ! grep "^LoadModule action_module " /etc/$webserver/modules.conf > /dev/null 2>&1; then
                                modules-config $webserver enable mod_actions
                            fi
                        fi
                        if [ -f /usr/lib/apache/1.3/mod_cgi.so ]; then
                            if ! grep "^LoadModule cgi_module " /etc/$webserver/modules.conf > /dev/null 2>&1; then
                                modules-config $webserver enable mod_cgi
                            fi
                        fi
                    fi
                fi
                if grep "^Include /etc/phpldapadmin/apache.conf" /etc/$webserver/httpd.conf > /dev/null 2>&1; then
                    mv -f /etc/$webserver/httpd.conf /etc/$webserver/httpd.conf.old.phpldapadmin
                    grep -v "^Include /etc/phpldapadmin/apache.conf" /etc/$webserver/httpd.conf.old.phpldapadmin \
                        > /etc/$webserver/httpd.conf
                fi
                if ! grep "^Include /etc/$webserver/conf.d" /etc/$webserver/httpd.conf > /dev/null 2>&1; then
                    cp -f /etc/$webserver/httpd.conf /etc/$webserver/httpd.conf.old.phpldapadmin
                    echo "Include /etc/$webserver/conf.d" >> /etc/$webserver/httpd.conf
                fi
                if [ -f /etc/$webserver/httpd.conf.old.phpldapadmin -a ! -f /etc/$webserver/httpd.conf.old ]; then
                    mv -f /etc/$webserver/httpd.conf.old.phpldapadmin /etc/$webserver/httpd.conf.old
                fi
                mkdir -p /etc/$webserver/conf.d
                ;;
            apache2)
                if [ -d /etc/$webserver/mods-enabled ]; then
                    if [ ! -f /etc/$webserver/mods-enabled/actions.load -a ! -h /etc/$webserver/mods-enabled/actions.load ]; then
                        ln -s /etc/$webserver/mods-available/actions.load /etc/$webserver/mods-enabled/actions.load
                    fi
                    if [ -f /etc/apache2/mods-available/php4.load ]; then
                        if [ ! -f /etc/$webserver/mods-enabled/php4.load -a ! -h /etc/$webserver/mods-enabled/php4.load ]; then
                            ln -s /etc/$webserver/mods-available/php4.load /etc/$webserver/mods-enabled/php4.load
                        fi
                    else
                        if [ ! -f /etc/$webserver/mods-enabled/cgi.load -a ! -h /etc/$webserver/mods-enabled/cgi.load ]; then
                            ln -s /etc/$webserver/mods-available/cgi.load /etc/$webserver/mods-enabled/cgi.load
                        fi
                    fi
                fi
                ;;
        esac

        if [ ! -f /etc/$webserver/conf.d/phpldapadmin -a ! -h /etc/$webserver/conf.d/phpldapadmin ]; then
            ln -s /etc/phpldapadmin/apache.conf /etc/$webserver/conf.d/phpldapadmin
	    restart="$restart $webserver"
        fi
    done

    db_get phpldapadmin/restart-webserver || true
	res="$RET"
	db_stop || true
    if [ "$res" = "true" ]; then
        for webserver in $restart; do
            webserver=${webserver%,}
            if [ -x /usr/sbin/invoke-rc.d ]; then
                invoke-rc.d $webserver restart
            else
                /etc/init.d/$webserver restart
            fi
        done
    fi
fi

#DEBHELPER#

exit 0