| Current Path : /var/lib/dpkg/info/ |
| Current File : //var/lib/dpkg/info/phpmyadmin.postinst |
#!/bin/sh
# postinst script for phpmyadmin
set -e
avahi_install() {
if [ -d /etc/avahi/services/ -a ! -e /etc/avahi/services/phpmyadmin.service -a ! -L /etc/avahi/services/phpmyadmin.service ] ; then
ln -s ../../phpmyadmin/phpmyadmin.service /etc/avahi/services/
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
avahi_install
else
echo "Lighttpd not installed, skipping"
fi
fi
}
apache_install() {
webserver=$1
if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/phpmyadmin.conf ]; then
ln -s ../../phpmyadmin/apache.conf /etc/$webserver/conf.d/phpmyadmin.conf
avahi_install
fi
}
. /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
if ! dbc_go phpmyadmin $@ ; then
echo 'Automatic configuration using dbconfig-common failed!'
fi
if [ "$1" = "configure" ]; then
# 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
printf "<?php\n\$cfg['blowfish_secret'] = '%s';\n" \
`perl -le 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..24)'` \
>> /var/lib/phpmyadmin/blowfish_secret.inc.php
fi
db_version 2.0
# The following only on a new install
if [ "$2" = "" ]; then
# Generate an htpasswd file for the web based setup
if [ ! -f /etc/phpmyadmin/htpasswd.setup ]; then
touch /etc/phpmyadmin/htpasswd.setup
chgrp www-data /etc/phpmyadmin/htpasswd.setup
chmod 0640 /etc/phpmyadmin/htpasswd.setup
db_get phpmyadmin/setup-username
setup_username=${RET:-admin}
db_get phpmyadmin/setup-password
if [ -n "$RET" ]; then
setup_password=`perl -le 'print crypt($ARGV[0], join("", map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..2)))' "$RET"`
else
setup_password="*"
fi
echo "$setup_username:$setup_password" > /etc/phpmyadmin/htpasswd.setup
db_reset phpmyadmin/setup-username || true
db_reset phpmyadmin/setup-password || true
if [ ! -f /var/lib/phpmyadmin/config.inc.php ]; then
touch /var/lib/phpmyadmin/config.inc.php
chgrp www-data /var/lib/phpmyadmin/config.inc.php
chmod 0640 /var/lib/phpmyadmin/config.inc.php
fi
fi
fi
# Fixup permissions
if [ -f /var/lib/phpmyadmin/config.inc.php ]; then
chmod 0640 /var/lib/phpmyadmin/config.inc.php
fi
# Configure Apache
db_get phpmyadmin/reconfigure-webserver
webservers="$RET"
for webserver in $webservers; do
webserver=${webserver%,}
if [ "$webserver" = "lighttpd" ] ; then
lighttpd_install
else
apache_install $webserver
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 [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d $webserver reload 3>/dev/null || true
else
/etc/init.d/$webserver reload 3>/dev/null || true
fi
fi
done
fi
exit 0