2 # postinst script for lx-office-erp-svn
4 # see: dh_installdeb(1)
10 echo " ! "`date`" Postinst $1 !" >> /tmp/lxo-erp.log
12 source /usr/share/debconf/confmodule
14 # summary of how this script can be called:
15 # * <postinst> `configure' <most-recently-configured-version>
16 # * <old-postinst> `abort-upgrade' <new version>
17 # * <conflictor's-postinst> `abort-remove' `in-favour' <package>
19 # * <postinst> `abort-remove'
20 # * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
21 # <failed-install-package> <version> `removing'
22 # <conflicting-package> <version>
23 # for details, see http://www.debian.org/doc/debian-policy/ or
24 # the debian-policy package
27 config_postgresql_factory_script() {
29 echo "Starting factory postgresql config script: scripts/inst_postgres_deb.sh.."
30 cd /usr/lib/lx-office-erp/
31 ./scripts/inst_postgres_deb.sh
32 echo "Factory postgresql config script done."
36 config_postgresql_accounts_sec() {
38 POSTGRESQL_PG_HBA_CONF="/etc/postgresql/8.3/main/pg_hba.conf"
40 echo "# added by lx-office-erp postinst-script" >> $POSTGRESQL_PG_HBA_CONF
41 echo "host all lx_office_erp 127.0.0.1 255.255.255.0 password" >> $POSTGRESQL_PG_HBA_CONF
43 /etc/init.d/postgresql* reload
47 config_postgresql_roles() {
49 echo "CREATE USER lx_office_erp with CREATEDB ;" > /tmp/lxdb-install.sql
51 db_get lx-office-erp/lx-office-erp-user-postgresql-password
52 POSTGRES_LX_OFFICE_ERP_USER_PASSWORD="$RET"
54 echo "ALTER USER lx_office_erp PASSWORD '$POSTGRES_LX_OFFICE_ERP_USER_PASSWORD' ;" \
55 >> /tmp/lxdb-install.sql
57 echo "UPDATE pg_language SET lanpltrusted = true WHERE lanname = 'plpgsql';" >> /tmp/lxdb-instal.sql
59 su postgres -c "psql --dbname template1 < /tmp/lxdb-install.sql"
61 /etc/init.d/postgresql* reload
66 config_postgresql_sql_routines() {
68 PLPGSQL="/usr/lib/postgresql/8.3/lib/plpgsql.so"
69 echo "CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler" > /tmp/lxdb-install.sql
70 echo "AS '$PLPGSQL', 'plpgsql_call_handler'" >> /tmp/lxdb-install.sql
71 echo "LANGUAGE c;" >> /tmp/lxdb-install.sql
72 echo "CREATE PROCEDURAL LANGUAGE plpgsql HANDLER plpgsql_call_handler;" >> /tmp/lxdb-install.sql
73 su postgres -c "psql --dbname template1 < /tmp/lxdb-install.sql"
75 /etc/init.d/postgresql-8.3 reload
79 set_lx_office_erp_web_admin_password() {
81 db_get lx-office-erp/admin-password
84 cat /etc/lx-office-erp/authentication.pl | \
85 sed --expression "s/{admin_password} = /{admin_password} = '$ADMINPASSWORD';#/g" \
88 mv /tmp/1.txt /etc/lx-office-erp/authentication.pl
93 set_lx_office_erp_authentication_db_user_password() {
94 db_get lx-office-erp/lx-office-erp-user-postgresql-password
97 cat /etc/lx-office-erp/authentication.pl | \
98 sed --expression "s/'password' => /'password' => '$PASSWORD', #/g" \
102 sed --expression "s/^user = postgres/user = lxoffice/g" \
103 > /etc/lx-office-erp/authentication.pl
109 chown -R www-data:www-data /usr/lib/lx-office-erp/users
110 chown -R www-data:www-data /usr/lib/lx-office-erp/templates
111 chown www-data:www-data /etc/lx-office-erp/lx-erp.conf
112 chown www-data:www-data /etc/lx-office-erp/authentication.pl
113 chown www-data:www-data /etc/lx-office-erp/console.conf
114 chown www-data:www-data /usr/lib/lx-office-erp/menu.ini
115 chmod 0600 /etc/lx-office-erp/lx-erp.conf
116 chmod 0600 /etc/lx-office-erp/authentication.pl
119 disable_ipv6_on_lo_interface() {
120 #Ist wohl nicht mehr notwendig.
122 # Perls Libraries are not yet ipv6 read
123 echo "WICHTIG: ipv6 ist nunmehr auf dem Loopback-Interface deaktiviert, um die Funktionsfähigkeit von Lx-Office-ERP zu gewährleisten!"
124 ifconfig lo inet6 del ::1/128 2> /dev/null || true
126 # make the changes permanent (triggered on next reboot)
127 RCLOCAL="/etc/rc.local"
128 echo "# lx-office-erp: Perl libraries are not yet fully ipv6-ready" >> $RCLOCAL
129 echo "ifconfig lo inet6 del ::1/128" >> $RCLOCAL
133 if [ -e /usr/lib/lx-office-crm ] ; then
134 #crm vorhanden, dann die menu.ini mit der höchsten VersNr nehmen
135 for i in `ls -1 /usr/lib/lx-office-crm/update/menu*ini` ; do
136 cat $i > /usr/lib/lx-office-erp/menu.ini
138 cat /usr/lib/lx-office-erp/menu.default >> /usr/lib/lx-office-erp/menu.ini
140 cp /usr/lib/lx-office-erp/menu.default /usr/lib/lx-office-erp/menu.ini
145 if ! [ -f /etc/lx-office-erp/lx-erp.conf ] ; then
146 cp /etc/lx-office-erp/lx-erp.conf.default /etc/lx-office-erp/lx-erp.conf
148 if ! [ -f /etc/lx-office-erp/authentication.pl ] ; then
149 cp /etc/lx-office-erp/authentication.pl.default /etc/lx-office-erp/authentication.pl
151 if ! [ -f /etc/lx-office-erp/console.conf ] ; then
152 cp /etc/lx-office-erp/console.conf.default /etc/lx-office-erp/console.conf
157 if ! [ -f /usr/lib/lx-office-erp/config/lx-erp.conf ] ; then
158 ln -s /etc/lx-office-erp/lx-erp.conf /usr/lib/lx-office-erp/config/lx-erp.conf
160 if ! [ -f /usr/lib/lx-office-erp/config/authentication.pl ] ; then
161 ln -s /etc/lx-office-erp/authentication.pl /usr/lib/lx-office-erp/config/authentication.pl
163 if [ -e /etc/apache2 ] ; then
164 if ! [ -f /etc/apache2/conf.d/lx-office-erp.apache2.conf ] ; then
165 ln -s /etc/lx-office-erp/lx-office-erp.apache2.conf /etc/apache2/conf.d/lx-office-erp.apache2.conf
168 if [ -e /etc/cherokee/sites-available ] ; then
169 if ! [ -f /etc/cherokee/sites-available/lx-office-erp.cherokee ] ; then
170 cat /etc/lx-office-erp/lx-office-erp.cherokee.handler >> /etc/cherokee/sites-available/default
171 ln -s /etc/lx-office-erp/lx-office-erp.cherokee /etc/cherokee/sites-available/lx-office-erp.cherokee
174 if [ -e /etc/lighttpd ] ; then
175 if ! [ -f /etc/lighttpd/conf-enabled/lx-office-erp.lighttpd ] ; then
176 ln -s /etc/lx-office-erp/lx-office-erp.lighttpd /etc/lighttpf/conf-enabled/10-lx-office-erp
180 reload_web_server() {
181 if [ -f /etc/init.d/apache* ] ; then
182 /etc/init.d/apache* reload
184 if [ -f /etc/init.d/cherokee ] ; then
185 /etc/init.d/cherokee reload
187 if [ -f /etc/init.d/lighttpd ] ; then
188 /etc/init.d/lighttpd reload
194 echo " ! "`date`" $1 !" >> /tmp/lxo-erp.log
196 VER=`cat /var/www/lx-office-erp/VERSION | cut -d '.' -f2`
197 if [ $VER = '6' ]; then
198 echo " ! 2.6 !" >> /tmp/lxo-erp.log
204 config_postgresql_factory_script
205 set_lx_office_erp_web_admin_password
206 set_lx_office_erp_authentication_db_user_password
207 # disable_ipv6_on_lo_interface
216 echo " ! "`date`" $1 !" >> /tmp/lxo-erp.log
220 config_postgresql_factory_script
221 set_lx_office_erp_web_admin_password
222 set_lx_office_erp_authentication_db_user_password
223 # disable_ipv6_on_lo_interface
231 abort-upgrade|abort-remove|abort-deconfigure)
235 echo "postinst called with unknown argument \`$1'" >&2
240 # dh_installdeb will replace this with shell code automatically
241 # generated by other debhelper scripts.