#!/bin/sh # postinst script for dolibarr set -e # summary of how this script can be called: # * <postinst> `configure' <most-recently-configured-version> # * <old-postinst> `abort-upgrade' <new version> # * <conflictor's-postinst> `abort-remove' `in-favour' <package> # <new-version> # * <deconfigured's-postinst> `abort-deconfigure' `in-favour' # <failed-install-package> <version> `removing' # <conflicting-package> <version> # for details, see /usr/share/doc/packaging-manual/ lighttpd_install() { if [ ! -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then if which lighty-enable-mod >/dev/null 2>&1 ; then echo "Add link for Lighttpd config file" ln -fs /etc/dolibarr/lighttpd.conf /etc/lighttpd/conf-available/50-dolibarr.conf # We enabled it lighty-enable-mod dolibarr fastcgi-php else echo "Lighttpd not installed, skipping" fi fi } apache_install() { webserver=$1 if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/dolibarr.conf ]; then echo "Add link for Apache config file" ln -fs /etc/dolibarr/apache.conf /etc/$webserver/conf.d/dolibarr.conf fi } . /usr/share/debconf/confmodule db_version 2.0 echo Run the dolibarr postinst script # Define vars docdir='/var/lib/dolibarr/documents' installfileorig="/usr/share/dolibarr/build/debian/install.forced.php.install" installconfig="/etc/dolibarr/install.forced.php" config="/etc/dolibarr/conf.php" case "$1" in configure) # Remove lock file rm -f $docdir/install.lock # Create document directory for uploaded data files mkdir -p $docdir chown -R www-data:www-data $docdir chmod -R 775 $docdir chmod -R g+s $docdir # Copy install config file (with matching Debian) values into target directory superuserlogin='' superuserpassword='' if [ -f /etc/mysql/debian.cnf ] ; then # Load superuser login and pass superuserlogin=$(grep --max-count=1 "user" /etc/mysql/debian.cnf | sed -e 's/^user[ =]*//g') superuserpassword=$(grep --max-count=1 "password" /etc/mysql/debian.cnf | sed -e 's/^password[ =]*//g') fi echo Mysql superuser found to use is $superuserlogin if [ -z "$superuserlogin" ] ; then cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig else cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig fi chown -R root:www-data $installconfig chmod -R 660 $installconfig # Create an empty conf.php with permission to web server if [ ! -f $config ] then echo Create empty file $config touch $config chown -R root:www-data $config chmod -R 660 $config fi db_get dolibarr/reconfigure-webserver webservers="$RET" # Set up web server. for webserver in $webservers ; do webserver=${webserver%,} echo Complete config of server $webserver # Detect webuser and webgroup webuser= webgroup= if [ -z "$webuser" ] ; then webuser=www-data fi if [ -z "$webgroup" ] ; then webgroup=www-data fi echo Web user.group used is $webuser.$webgroup # Set permissions to web server chown -R $webuser:$webgroup /usr/share/dolibarr chown -R root:$webgroup $config done # Restart web server. 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 echo Restart web server $server using invoke-rc.d # This works with Debian (5.05,...) and Ubuntu (9.10,10.04,...) invoke-rc.d $webserver reload 3>/dev/null || true else echo Restart web server $server using $server reload /etc/init.d/$webserver reload 3>/dev/null || true fi fi done echo ---------- echo "Call Dolibarr page http://localhost/dolibarr/ to complete the setup and use Dolibarr." echo ---------- ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument $1" >&2 exit 0 ;; esac #DEBHELPER# db_stop exit 0