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
|
#!/bin/sh
# postinst script for phpmyadmin
set -e
avahi_install() {
if [ ! -e /etc/avahi/services/phpmyadmin.service ] ; then
mkdir -p /etc/avahi/services
cp /etc/phpmyadmin/phpmyadmin.service /etc/avahi/services/
fi
}
desktop_install() {
if [ ! -e /usr/share/applications/phpmyadmin.desktop ] ; then
mkdir -p /usr/share/applications
ln -sf /etc/phpmyadmin/phpmyadmin.desktop /usr/share/applications/
fi
}
lighttpd_install() {
if [ ! -f /etc/lighttpd/conf-available/50-phpmyadmin.conf ] ; then
if which lighty-enable-mod >/dev/null 2>&1 ; then
ln -s ../../phpmyadmin/lighttpd.conf /etc/lighttpd/conf-available/50-phpmyadmin.conf
# We also need auth to protect setup.php
lighty-enable-mod phpmyadmin auth fastcgi fastcgi-php
avahi_install
desktop_install
else
echo "Lighttpd not installed, skipping"
fi
fi
}
apache_install() {
mkdir -p /etc/apache2/conf-available
ln -sf ../../phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
COMMON_STATE=$(dpkg-query -f '${Status}' -W 'apache2-data' 2>/dev/null | awk '{print $3}' || true)
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
. /usr/share/apache2/apache2-maintscript-helper
apache2_invoke enconf phpmyadmin
elif [ "$COMMON_STATE" = "installed" ] || [ "$COMMON_STATE" = "unpacked" ] ; then
[ -d /etc/apache2/conf.d/ ] && [ ! -L /etc/apache2/conf.d/phpmyadmin.conf ] && ln -s ../conf-available/phpmyadmin.conf /etc/apache2/conf.d/phpmyadmin.conf
fi
avahi_install
desktop_install
}
. /usr/share/debconf/confmodule
. /usr/share/dbconfig-common/dpkg/postinst.mysql
dbc_generate_include_owner="root:www-data"
dbc_generate_include_perms="0640"
dbc_generate_include=php:/etc/phpmyadmin/config-db.php
dbc_go phpmyadmin $@
if [ "$1" = "configure" ]; then
# blowfish_secret must be 32 characters long. Installations before 4:4.6.3-2 generated a secret with a length of 24
# if there is a blowfish_secret found not meeting that requirement it is moved out of the way and recreated below
if [ -f /var/lib/phpmyadmin/blowfish_secret.inc.php ] && grep -sq "blowfish_secret.*=.*'.\{24\}'" /var/lib/phpmyadmin/blowfish_secret.inc.php
then
mkdir -p /var/backups/phpmyadmin
mv /var/lib/phpmyadmin/blowfish_secret.inc.php /var/backups/phpmyadmin/blowfish_secret.inc.php
echo "The blowfish_secret configured in /var/lib/phpmyadmin/blowfish_secret.inc.php is too weak and will be regenerated."
echo "A backup of the file has been placed at /var/backups/phpmyadmin/blowfish_secret.inc.php"
fi
# Generate secret for cookie encryption
if [ ! -f /var/lib/phpmyadmin/blowfish_secret.inc.php ]; then
touch /var/lib/phpmyadmin/blowfish_secret.inc.php
chgrp www-data /var/lib/phpmyadmin/blowfish_secret.inc.php
chmod 640 /var/lib/phpmyadmin/blowfish_secret.inc.php
cat >> /var/lib/phpmyadmin/blowfish_secret.inc.php <<EOT
<?php
\$cfg['blowfish_secret'] = '`cat /dev/urandom | tr -dc 'a-zA-Z0-9~!@#$%^&*_()+}{?></";.,[]=-' | fold -w 32 | head -n 1`';
EOT
fi
db_version 2.0
if [ -f /var/lib/phpmyadmin/config.inc.php ]
then
if [ -s /var/lib/phpmyadmin/config.inc.php ]; then
# file is empty
rm /var/lib/phpmyadmin/config.inc.php
else
mkdir -p /var/backups/phpmyadmin
mv /var/lib/phpmyadmin/config.inc.php /var/backups/phpmyadmin/webbased-config.inc.php
echo "The webbased installer was disabled on debian with phpmyadmin version 4.9.1."
echo "An existing configuration was found under /var/lib/phpmyadmin/config.inc.php."
echo "A backup of the file has been placed at /var/backups/phpmyadmin/webbased-config.inc.php"
fi
fi
if ! dpkg-statoverride --list /var/lib/phpmyadmin/tmp >/dev/null; then
chown www-data:www-data /var/lib/phpmyadmin/tmp
fi
# Configure Apache
db_get phpmyadmin/reconfigure-webserver || true
webservers="$RET"
for webserver in $webservers; do
webserver=${webserver%,}
if [ "$webserver" = "lighttpd" ] ; then
lighttpd_install
else
# Need to pass params for apache2-maintscript-helper
apache_install $@
fi
# Reload webserver in any case, configuration might have changed
# Redirection of 3 is needed because Debconf uses it and it might
# be inherited by webserver. See bug #446324.
if [ -f /etc/init.d/$webserver ] ; then
if which invoke-rc.d > /dev/null ; then
if invoke-rc.d $webserver status > /dev/null 2>&1 ; then
invoke-rc.d $webserver reload 3>/dev/null || true
fi
else
if /etc/init.d/$webserver status > /dev/null 2>&1 ; then
/etc/init.d/$webserver reload 3>/dev/null || true
fi
fi
fi
done
fi
#DEBHELPER#
exit 0
|