source: lliurex-analytics-server/trunk/fuentes/debian/postinst @ 3367

Last change on this file since 3367 was 3367, checked in by mabarracus, 3 years ago

Fix typo bug

File size: 5.6 KB
Line 
1#!/bin/bash
2# postinst script
3#
4# see: dh_installdeb(1)
5
6#set -e
7
8. /usr/share/debconf/confmodule
9
10# summary of how this script can be called:
11#        * <postinst> `configure' <most-recently-configured-version>
12#        * <old-postinst> `abort-upgrade' <new version>
13#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
14#          <new-version>
15#        * <postinst> `abort-remove'
16#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
17#          <failed-install-package> <version> `removing'
18#          <conflicting-package> <version>
19# for details, see http://www.debian.org/doc/debian-policy/ or
20# the debian-policy package
21
22do_dialog(){
23    input=$(dialog      \
24        --title "$1"    \
25        --inputbox "$2" 0 0     \
26        3>&1 1>&2 2>&3 3>&-)
27        clear
28}
29ask_question(){
30    dialog --yesno "$1" 0 0
31    if [ $? -eq 0 ]; then
32        input=yes
33    else
34        input=no
35    fi
36    clear
37}
38
39case "$1" in
40    configure)
41
42    ASK="no"
43
44#CHECK OLD CONFIG
45    if [ ! -d "/etc/lliurex-analytics-server" ]; then
46        ASK="yes"
47        mkdir /etc/lliurex-analytics-server
48    else
49        if [ -f "/etc/lliurex-analytics-server/config_db" ]; then
50            USER=$(cat /etc/lliurex-analytics-server/config_db|perl -ne "/user=(.*)/i && print $1")
51            PASS=$(cat /etc/lliurex-analytics-server/config_db|perl -ne "/pass=(.*)/i && print $1")
52            if [ -n "${USER}" -a -n "${PASS}" ]; then
53                RES=$(echo 'show tables;'|mysql -u${USER} -p${PASS} -s analytics 2>/dev/null)
54                if [ -n "${RES}" ]; then
55                    user="${USER}"
56                    pass="${PASS}"
57                    ASK="no"
58                else
59                    ASK="yes"
60                fi
61            else
62                ASK="yes"
63            fi
64        else
65            ASK="yes"
66        fi
67    fi
68
69# ASK QUESTIONS
70    if [ "${ASK}" = "yes" ]; then
71        ask_question 'Desea configurar la base de datos analytics?'
72        if [ "x$input" == "xyes" ]; then
73            create_db=$input
74            ask_question 'Desea crear usuario para la tabla de la base de datos?'
75            create_user=$input
76            if [ "x$input" == "xyes" ]; then
77                do_dialog 'Database configuration' 'Nombre del usuario para crear:'
78                user=$input
79                do_dialog 'Database configuration' 'Password del usuario para crear:'
80                pass=$input
81            else
82                do_dialog 'Database configuration' 'Usuario con permiso en bd analytics?'
83                user=$input
84                do_dialog 'Database configuration' 'Password del usuario con permiso en bd analytics?'
85                pass=$input
86            fi
87            do_dialog 'Database configuration' 'Password root de mysql?'
88            rootpass=$input
89        else
90            echo
91            echo "To import database schema use:"
92            echo ""
93            echo "echo \"create user '<user>'@'%' identified by '<password>';\" | mysql -u root -p<root_password>"
94            echo "echo \"grant all privileges on analytics.* to '<user>'@'%';\" | mysql -u root -p<root_password>"
95            echo "echo \"flush privileges; \" | mysql -u root -p<root_password>"
96            echo "mysql -u <user> -p<root_password> < /usr/lib/analytics-server/analytics.sql"
97            echo "After that, edit /usr/lib/analytics-server/analytics/config.php"
98            echo 
99            echo
100        fi
101    else
102    #ASK=no
103        create_db="no"
104        create_user="no"
105    fi
106
107#INITIALIZE DB
108
109    if [ "x$create_db" == "xyes" ]; then
110        if [ "x$rootpass" == "x" ]; then
111            mysqlroot="mysql -uroot"
112            mysqluser="mysql -u$user -p$pass"
113        else
114            mysqlroot="mysql -uroot -p$rootpass"
115            mysqluser="mysql -u$user -p$pass"
116        fi
117        if [ "x$create_user" == "xyes" ]; then
118            echo "create user '$user'@'%' identified by '$pass';" | $mysqlroot
119            echo "grant all privileges on analytics.* to '$user'@'%';" | $mysqlroot
120            echo "flush privileges;" | $mysqlroot
121            echo "user=$user" >> /etc/lliurex-analytics-server/config_db
122            echo "pass=$pass" >> /etc/lliurex-analytics-server/config_db
123        fi
124        $mysqluser < /usr/lib/analytics-server/analytics.sql
125    else
126        if [ "x$create_user" != "xyes" ]; then
127            do_dialog 'Analytics configuration' 'Usuario con permiso en bd analytics?'
128            user=$input
129            do_dialog 'Analytics configuration' 'Password del usuario con permiso en bd analytics?'
130            pass=$input
131            echo "user=$user" >> /etc/lliurex-analytics-server/config_db
132            echo "pass=$pass" >> /etc/lliurex-analytics-server/config_db
133
134        fi
135    fi
136
137    RES1=$(grep -o '@phpuser@' /usr/lib/analytics-server/analytics/config.php)
138    RES2=$(grep -o '@phppass@' /usr/lib/analytics-server/analytics/config.php)
139   
140    if [ -n "${RES1}" -a -n "${RES2}" ]; then
141        sed -i.old -e "s/@phpuser@/$user/g" -e  "s/@phppass@/$pass/g" /usr/lib/analytics-server/analytics/config.php
142        rm /usr/lib/analytics-server/analytics/config.php.old
143    else
144        echo "BUG !! WARNING: replace tags @phpuser@ & @phppass@ not found in /usr/lib/analytics-server/analytics/config.php"
145        echo "Installation may not work succesfully, report bug to developers"
146    fi
147
148
149# CONFIG APACHE
150
151    a2enmod rewrite
152    a2ensite analytics
153    service apache2 restart
154
155    ;;
156
157    abort-upgrade|abort-remove|abort-deconfigure)
158    ;;
159
160    *)
161        echo "postinst called with unknown argument \`$1'" >&2
162        exit 1
163    ;;
164esac
165
166# dh_installdeb will replace this with shell code automatically
167# generated by other debhelper scripts.
168
169#DEBHELPER#
170
171exit 0
172
173
Note: See TracBrowser for help on using the repository browser.