#!/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 "> /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 [ -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 done fi exit 0