#!/bin/sh # postinst script for dolibarr # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-deconfigure' `in-favour' # `removing' # # for details, see /usr/share/doc/packaging-manual/ . /usr/share/debconf/confmodule db_version 2.0 echo Run the dolibarr postinst script # Define vars docdir='/var/lib/dolibarr/documents' #docdir='/usr/share/dolibarr/documents' apachefileorig="/usr/share/dolibarr/build/deb/apache.conf" apacheconfig="/etc/dolibarr/apache.conf" installfileorig="/usr/share/dolibarr/build/deb/install.forced.php.install" installconfig="/etc/dolibarr/install.forced.php" #config="/usr/share/dolibarr/htdocs/conf/conf.php" config="/etc/dolibarr/conf.php" case "$1" in configure) # 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 apache.conf file into target directory #mkdir -p /etc/dolibarr #cp -p $apachefileorig $apacheconfig # 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 # Get the web server type (use db_get for interactive mode). #db_reset "dolibarr/webserver" #db_get "dolibarr/webserver" # Read value for webserver. #webserver="$RET" case $webserver in Apache) webservers="apache2" ;; Apache-SSL) webservers="apache2-ssl" ;; Both) webservers="apache2 apache2-ssl" ;; *) webservers="apache2 apache2-ssl" ;; esac # Set up web server. for server in $webservers ; do echo Complete config of server $server # 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 # Add link to config file echo Setup web server $server to add dolibarr config file ln -fs /etc/dolibarr/apache.conf /etc/apache2/conf.d/dolibarr.conf done # Restart servers servers="apache2-ssl apache2 mysql" # Another way to restart for server in $servers ; do 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 $server reload || true else echo Restart web server $server using $server reload /etc/init.d/$server reload || true fi done echo ---------- echo "Call Dolibarr page http://localhost/dolibarr/ to complete the installation and use Dolibarr." echo ---------- ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 0 ;; esac db_stop #DEBHELPER# exit 0