X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=DEBIAN%2FDEBIAN%2Fpostinst;h=11095845fe3460776531203e56af444f53d99880;hb=4c0e52079792af83155a1917ebb5c3d568f9b174;hp=5604cd99cb342daa1c62567e94d735fda5274b82;hpb=216666068579bfb7908d12d1720207f23210dd02;p=kivitendo-erp.git diff --git a/DEBIAN/DEBIAN/postinst b/DEBIAN/DEBIAN/postinst index 5604cd99c..11095845f 100755 --- a/DEBIAN/DEBIAN/postinst +++ b/DEBIAN/DEBIAN/postinst @@ -7,7 +7,9 @@ set -e # x = xtrace #set -x -echo " ! "`date`" Postinst $1 !" >> /tmp/lxo-erp.log + +debugfile=$(mktemp /tmp/lx-erp.log.XXXXXX) +echo " ! "`date`" Postinst $1 !" >> $debugfile source /usr/share/debconf/confmodule @@ -26,218 +28,169 @@ source /usr/share/debconf/confmodule config_postgresql_factory_script() { - echo "Starting factory postgresql config script: scripts/inst_postgres_deb.sh.." - cd /usr/lib/lx-office-erp/ - ./scripts/inst_postgres_deb.sh - echo "Factory postgresql config script done." -} - - -config_postgresql_accounts_sec() { - - POSTGRESQL_PG_HBA_CONF="/etc/postgresql/8.3/main/pg_hba.conf" - - echo "# added by lx-office-erp postinst-script" >> $POSTGRESQL_PG_HBA_CONF - echo "host all lx_office_erp 127.0.0.1 255.255.255.0 password" >> $POSTGRESQL_PG_HBA_CONF - - /etc/init.d/postgresql* reload -} - - -config_postgresql_roles() { - - echo "CREATE USER lx_office_erp with CREATEDB ;" > /tmp/lxdb-install.sql - - db_get lx-office-erp/lx-office-erp-user-postgresql-password - POSTGRES_LX_OFFICE_ERP_USER_PASSWORD="$RET" - - echo "ALTER USER lx_office_erp PASSWORD '$POSTGRES_LX_OFFICE_ERP_USER_PASSWORD' ;" \ - >> /tmp/lxdb-install.sql - - echo "UPDATE pg_language SET lanpltrusted = true WHERE lanname = 'plpgsql';" >> /tmp/lxdb-instal.sql - - su postgres -c "psql --dbname template1 < /tmp/lxdb-install.sql" - - /etc/init.d/postgresql* reload -} - - - -config_postgresql_sql_routines() { - - PLPGSQL="/usr/lib/postgresql/8.3/lib/plpgsql.so" - echo "CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler" > /tmp/lxdb-install.sql - echo "AS '$PLPGSQL', 'plpgsql_call_handler'" >> /tmp/lxdb-install.sql - echo "LANGUAGE c;" >> /tmp/lxdb-install.sql - echo "CREATE PROCEDURAL LANGUAGE plpgsql HANDLER plpgsql_call_handler;" >> /tmp/lxdb-install.sql - su postgres -c "psql --dbname template1 < /tmp/lxdb-install.sql" - - /etc/init.d/postgresql-8.3 reload + echo "Starting factory postgresql config script: scripts/inst_postgres_deb.sh.." + cd /usr/lib/lx-office-erp/ + ./scripts/inst_postgres_deb.sh + echo "Factory postgresql config script done." } set_lx_office_erp_web_admin_password() { + db_get lx-office-erp/admin-password + ADMINPASSWORD="$RET" - if ! [ -f /etc/lx-office-erp/lx_office.conf ] ; then - cp /etc/lx-office-erp/lx_office.conf.default /etc/lx-office-erp/lx_office.conf - fi - db_get lx-office-erp/admin-password - ADMINPASSWORD="$RET" - - cat /etc/lx-office-erp/lx_office.conf | \ - sed --expression "s/admin_password = /admin_password = $ADMINPASSWORD/g" \ - > /tmp/1.txt - - mv /tmp/1.txt /etc/lx-office-erp/lx_office.conf - + sed --in-place --expression "s/^admin_password.*=.*/admin_password = $ADMINPASSWORD/" /etc/lx-office-erp/lx_office.conf } set_lx_office_erp_authentication_db_user_password() { - db_get lx-office-erp/lx-office-erp-user-postgresql-password - PASSWORD="$RET" - - cat /etc/lx-office-erp/lx_office.conf | \ - sed --expression "s/^password = /password = $PASSWORD/g" \ - > /tmp/1.txt - - cat /tmp/1.txt | \ - sed --expression "s/^user = postgres/user = lxoffice/g" \ - > /etc/lx-office-erp/lx_office.conf + db_get lx-office-erp/lx-office-erp-user-postgresql-password + PASSWORD="$RET" + sed --in-place --expression "s/^password.*=.*/password = $PASSWORD/" /etc/lx-office-erp/lx_office.conf + sed --in-place --expression "s/^user.*=.*postgres/user = lxoffice/g" /etc/lx-office-erp/lx_office.conf } set_user_rights() { - chown -R www-data:www-data /usr/lib/lx-office-erp/users - chown -R www-data:www-data /usr/lib/lx-office-erp/templates - chown www-data:www-data /etc/lx-office-erp/lx_office.conf - chown www-data:www-data /usr/lib/lx-office-erp/menu.ini - chmod 0600 /etc/lx-office-erp/lx_office.conf + chown -R www-data:www-data /usr/lib/lx-office-erp/users + chown -R www-data:www-data /usr/lib/lx-office-erp/templates + chown www-data:www-data /etc/lx-office-erp/lx_office.conf + chown www-data:www-data /usr/lib/lx-office-erp/menu.ini + chmod 0600 /etc/lx-office-erp/lx_office.conf } -disable_ipv6_on_lo_interface() { - #Ist wohl nicht mehr notwendig. - # 2009-04-25 - # Perls Libraries are not yet ipv6 read - echo "WICHTIG: ipv6 ist nunmehr auf dem Loopback-Interface deaktiviert, um die Funktionsfähigkeit von Lx-Office-ERP zu gewährleisten!" - ifconfig lo inet6 del ::1/128 2> /dev/null || true - - # make the changes permanent (triggered on next reboot) - RCLOCAL="/etc/rc.local" - echo "# lx-office-erp: Perl libraries are not yet fully ipv6-ready" >> $RCLOCAL - echo "ifconfig lo inet6 del ::1/128" >> $RCLOCAL - -} mk_new_menu() { - if [ -e /usr/lib/lx-office-crm ] ; then + if [ -e /usr/lib/lx-office-crm ] ; then #crm vorhanden, dann die menu.ini mit der höchsten VersNr nehmen - for i in `ls -1 /usr/lib/lx-office-crm/update/menu*ini` ; do - cat $i > /usr/lib/lx-office-erp/menu.ini - done; - cat /usr/lib/lx-office-erp/menu.default >> /usr/lib/lx-office-erp/menu.ini - else - cp /usr/lib/lx-office-erp/menu.default /usr/lib/lx-office-erp/menu.ini - fi + for i in `ls -1 /usr/lib/lx-office-crm/update/menu*ini` ; do + cat $i > /usr/lib/lx-office-erp/menu.ini + done; + cat /usr/lib/lx-office-erp/menu.default >> /usr/lib/lx-office-erp/menu.ini + else + cp /usr/lib/lx-office-erp/menu.default /usr/lib/lx-office-erp/menu.ini + fi } mk_new_config() { - if ! [ -f /etc/lx-office-erp/lx_office.conf ] ; then - cp /etc/lx-office-erp/lx_office.conf.default /etc/lx-office-erp/lx_office.conf - fi + if ! [ -f /etc/lx-office-erp/lx_office.conf ] ; then + cp /etc/lx-office-erp/lx_office.conf.default /etc/lx-office-erp/lx_office.conf + fi } mk_links() { - if ! [ -f /usr/lib/lx-office-erp/config/lx_office.conf ] ; then - ln -s /etc/lx-office-erp/lx_office.conf /usr/lib/lx-office-erp/config/lx_office.conf - fi; - if ! [ -f /usr/lib/lx-office-erp/config/lx_office.conf.default ] ; then - ln -s /etc/lx-office-erp/lx_office.conf.default /usr/lib/lx-office-erp/config/lx_office.conf.default - fi; - if [ -e /etc/lx-office-erp/authentication.pl ] ; then - rm /etc/lx-office-erp/authentication.pl + for file in lx_office.conf lx_office.conf.default ; do + test -f /usr/lib/lx-office-erp/config/${file} || ln -s /etc/lx-office-erp/${file} /usr/lib/lx-office-erp/config/${file} + done + for file in lx-erp.conf authentication.pl ; do + if [ -f /usr/lib/lx-office-erp/config/${file} ] ; then + rm /usr/lib/lx-office-erp/config/${file} fi - if [ -e /etc/apache2 ] ; then - if ! [ -f /etc/apache2/conf.d/lx-office-erp.apache2.conf ] ; then - ln -s /etc/lx-office-erp/lx-office-erp.apache2.conf /etc/apache2/conf.d/lx-office-erp.apache2.conf - fi; + done + if [ -e /etc/apache2 ] ; then + if ! [ -f /etc/apache2/conf.d/lx-office-erp.apache2.conf ] ; then + ln -s /etc/lx-office-erp/lx-office-erp.apache2.conf /etc/apache2/conf.d/lx-office-erp.apache2.conf fi; - if [ -e /etc/cherokee/sites-available ] ; then - if ! [ -f /etc/cherokee/sites-available/lx-office-erp.cherokee ] ; then - cat /etc/lx-office-erp/lx-office-erp.cherokee.handler >> /etc/cherokee/sites-available/default - ln -s /etc/lx-office-erp/lx-office-erp.cherokee /etc/cherokee/sites-available/lx-office-erp.cherokee - fi; + fi; + if [ -e /etc/cherokee/sites-available ] ; then + if ! [ -f /etc/cherokee/sites-available/lx-office-erp.cherokee ] ; then + cat /etc/lx-office-erp/lx-office-erp.cherokee.handler >> /etc/cherokee/sites-available/default + ln -s /etc/lx-office-erp/lx-office-erp.cherokee /etc/cherokee/sites-available/lx-office-erp.cherokee fi; - if [ -e /etc/lighttpd ] ; then - if ! [ -f /etc/lighttpd/conf-enabled/lx-office-erp.lighttpd ] ; then - ln -s /etc/lx-office-erp/lx-office-erp.lighttpd /etc/lighttpf/conf-enabled/10-lx-office-erp - fi; + fi; + if [ -e /etc/lighttpd ] ; then + if ! [ -f /etc/lighttpd/conf-enabled/lx-office-erp.lighttpd ] ; then + ln -s /etc/lx-office-erp/lx-office-erp.lighttpd /etc/lighttpf/conf-enabled/10-lx-office-erp fi; + fi; } -reload_web_server() { - if [ -f /etc/init.d/apache* ] ; then - /etc/init.d/apache* reload - fi - if [ -f /etc/init.d/cherokee ] ; then - /etc/init.d/cherokee reload - fi - if [ -f /etc/init.d/lighttpd ] ; then - /etc/init.d/lighttpd reload +web_server_ctrl() { + local action=$1 + if [ -x "/etc/init.d/apache2" ]; then + if [ -x /usr/sbin/invoke-rc.d ]; then + invoke-rc.d apache2 $action ||true + else + /etc/init.d/apache2 $action ||true fi + fi + if [ -f /etc/init.d/cherokee ] ; then + /etc/init.d/cherokee $action || true + fi + if [ -f /etc/init.d/lighttpd ] ; then + /etc/init.d/lighttpd $action || true + fi + + # if [ $action = restart ] ; then + # echo Sleeping + # sleep 5 + # echo Awake + # fi +} + +enable_fcgi() { + if [ -x /usr/sbin/a2enmod -a -f /usr/lib/apache2/modules/mod_fcgid.so ] ; then + /usr/sbin/a2enmod fcgid + # web_server_ctrl restart + fi } + case "$1" in - upgrade) - echo " ! "`date`" $1 !" >> /tmp/lxo-erp.log - - VER=`cat /var/www/lx-office-erp/VERSION | cut -d '.' -f2` - if [ $VER = '6' ]; then - echo " ! 2.6 !" >> /tmp/lxo-erp.log - echo "Version 2.6.x" - mk_new_menu - else - mk_new_menu - mk_new_config - config_postgresql_factory_script - set_lx_office_erp_web_admin_password - set_lx_office_erp_authentication_db_user_password - # disable_ipv6_on_lo_interface - mk_links - fi; - - set_user_rights - reload_web_server + upgrade) + echo " ! "`date`" $1 !" >> $debugfile + + enable_fcgi + + VER=`cat /var/www/lx-office-erp/VERSION | cut -d '.' -f2` + if [ $VER = '6' ]; then + echo " ! 2.6 !" >> $debugfile + echo "Version 2.6.x" + mk_new_menu + else + mk_new_menu + mk_new_config + config_postgresql_factory_script + set_lx_office_erp_web_admin_password + set_lx_office_erp_authentication_db_user_password + mk_links + fi; + + set_user_rights + ps auxw + + db_stop || true + web_server_ctrl restart + ;; - install|configure) - echo " ! "`date`" $1 !" >> /tmp/lxo-erp.log + install|configure) + echo " ! "`date`" $1 !" >> $debugfile + + enable_fcgi - mk_new_menu - mk_new_config - config_postgresql_factory_script - set_lx_office_erp_web_admin_password - set_lx_office_erp_authentication_db_user_password - # disable_ipv6_on_lo_interface - mk_links + mk_new_menu + mk_new_config + config_postgresql_factory_script + set_lx_office_erp_web_admin_password + set_lx_office_erp_authentication_db_user_password + mk_links - set_user_rights - reload_web_server + set_user_rights + + db_stop || true + web_server_ctrl restart ;; - abort-upgrade|abort-remove|abort-deconfigure) + abort-upgrade|abort-remove|abort-deconfigure) ;; - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 ;; esac -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - - echo "done!!" exit 0