source: php5-lliurex-compat/fuentes/debian/postinst @ 5255

Last change on this file since 5255 was 5255, checked in by hectorgh, 3 years ago

fixed missing e

File size: 5.4 KB
Line 
1#!/bin/sh
2# postinst script for php5-lliurex-compat
3#
4# see: dh_installdeb(1)
5
6set -e
7
8# summary of how this script can be called:
9#        * <postinst> `configure' <most-recently-configured-version>
10#        * <old-postinst> `abort-upgrade' <new version>
11#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
12#          <new-version>
13#        * <postinst> `abort-remove'
14#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
15#          <failed-install-package> <version> `removing'
16#          <conflicting-package> <version>
17# for details, see https://www.debian.org/doc/debian-policy/ or
18# the debian-policy package
19NOW=$(date +'%Y%m%d%h%m')
20setup_apache(){
21    INST="/etc/apache2-lliurex"
22    FILES="ports.conf apache2.conf envvars"
23    IS_DONE=0
24    for file in $FILES; do
25        if [ -f ${INST}/${file} ]; then
26            IS_DONE=1
27        fi
28    done
29    if [ ${IS_DONE} -eq 1 ]; then 
30            echo "Apache2 multi-instance seems already configured, skipping multi-instance configuration"
31            return
32    fi
33   
34    echo "Setting up apache multi-instance"
35    if [ ! -f /usr/share/doc/apache2/examples/setup-instance ]; then
36        echo "ERROR: setup-instance from apache2 not found !!!"
37        exit 1
38    fi
39    if [ -d /etc/apache2-lliurex ]; then
40        mv /etc/apache2-lliurex /etc/apache2-lliurex-${NOW}
41    fi
42    bash /usr/share/doc/apache2/examples/setup-instance lliurex
43}
44fix_apache_envvars(){
45    FILE="/etc/apache2-lliurex/envvars"
46    rc=0
47    grep "APACHE_PID_FILE" $FILE | grep "lliurex" || rc=1
48    if [ $rc -eq 1 ]; then
49        sed -i "s/export APACHE_PID_FILE=\/var\/run\/apache2\/apache2\$SUFFIX.pid/export APACHE_PID_FILE=\/var\/run\/apache2-lliurex\/apache2\$SUFFIX.pid/g" $FILE
50    fi
51
52}
53change_ports(){
54    echo "Changing default ports from 80 -> 800 & 443 -> 4430 in apache-lliurex"
55    if [ ! -d /etc/apache2-lliurex ]; then
56        echo "ERROR: /etc/apache2-lliurex not found !!!"
57        exit 1
58    fi
59    sed -i -r 's/80( |$)/800/g' /etc/apache2-lliurex/ports.conf
60    sed -i -r 's/443( |$)/4430/g' /etc/apache2-lliurex/ports.conf
61    for site in /etc/apache2-lliurex/sites-available/*.conf; do
62        tst80=$(egrep ':80' ${site}|wc -l)
63        tst443=$(egrep ':443' ${site}|wc -l)
64        if [ ${tst80} -ne 0 ]; then
65            echo "Fixing port 80 in site: " ${site}
66            sed -i -r 's/\*:80/\*:800/g' ${site}
67        fi
68        if [ ${tst443} -ne 0 ]; then
69            echo "Fixing port 443 in site: " ${site}
70            sed -i -r 's/\*:443/\*:4430/g' ${site}
71        fi
72    done;
73}
74fix_mods(){
75    echo "Fixing php modules in apache & apache-lliurex"
76    #which fails into zmd
77    if [ -x /usr/sbin/a2dismod ]; then
78        DISMOD="/usr/sbin/a2dismod"
79    else
80        DISMOD=`/usr/bin/which a2dismod`
81    fi
82    if [ -L /usr/local/sbin/a2dismod-lliurex ]; then
83        DISMOD_LLIUREX=/usr/local/sbin/a2dismod-lliurex
84    else
85        DISMOD_LLIUREX=`/usr/bin/which a2dismod-lliurex`
86        if [ -z ${DISMOD_LLIUREX} ]; then
87            ln -s /usr/sbin/a2dismod /usr/local/sbin/a2dismod-lliurex
88            DISMOD_LLIUREX=/usr/local/sbin/a2dismod-lliurex
89        fi
90       
91    fi
92
93    if [ -L /usr/local/sbin/a2enmod-lliurex ]; then
94        ENMOD_LLIUREX=/usr/local/sbin/a2enmod-lliurex
95    else
96        ENMOD_LLIUREX=`/usr/bin/which a2enmod-lliurex`
97        if [ -z ${ENMOD_LLIUREX} ]; then
98            ln -s /usr/sbin/a2enmod /usr/local/sbin/a2enmod-lliurex
99            ENMOD_LLIUREX=/usr/local/sbin/a2enmod-lliurex
100        fi
101       
102    fi
103   
104    echo "Using: ${DISMOD_LLIUREX} & ${DISMOD} & ${ENMOD_LLIUREX}"
105    if [ -L /etc/apache2-lliurex/mods-enabled/php7.0.load ]; then
106        echo "Disabling php7 into apache2-lliurex instance"
107        ${DISMOD_LLIUREX} php7.0
108    fi
109    if [ -L /etc/apache2/mods-enabled/php5.load ]; then
110        echo "Disabling php5 into apache2 instance"
111        ${DISMOD} php5
112    fi
113    if [ -f /etc/apache2-lliurex/mods-available/php7.0.conf ]; then
114        mv /etc/apache2-lliurex/mods-available/php7.0.conf /etc/apache2-lliurex/mods-available/php7.0.conf.disabled
115    fi
116    if [ -f /etc/apache2-lliurex/mods-available/php7.0.load ]; then
117        mv /etc/apache2-lliurex/mods-available/php7.0.load /etc/apache2-lliurex/mods-available/php7.0.load.disabled
118    fi
119    if [ -f /etc/apache2/mods-available/php5.conf ]; then
120        mv /etc/apache2/mods-available/php5.conf /etc/apache2/mods-available/php5.conf.disabled
121    fi
122    if [ -f /etc/apache2/mods-available/php5.load ]; then
123        mv /etc/apache2/mods-available/php5.load /etc/apache2/mods-available/php5.load.disabled
124    fi
125    TST=""
126    if [ ! -f /etc/apache2/mods-available/php5.conf -o ! -f /etc/apache2/mods-available/php5.load ]; then
127        TST=$(ls /etc/apache2/mods-available|grep php5)
128        if [ ! -z "${TST}" ]; then
129            for x in ${TST}; do 
130                cp /etc/apache2/mods-available/${x} /etc/apache2-lliurex/mods-available/${x%%.disabled}
131            done
132        fi
133    fi
134    if [ -e /etc/apache2-lliurex/mods-available/php5.load -a ! -e /etc/apache2-lliurex/mods-enabled/php5.load ]; then
135        echo "Enabling php5 into apache2-lliurex instance"
136        ${ENMOD_LLIUREX} php5
137    fi
138}
139
140case "$1" in
141    configure)
142        if [ -f /tmp/debug_compat ]; then
143            set -x
144        fi
145        setup_apache
146        change_ports
147        fix_apache_envvars
148        fix_mods
149        echo "Enabling multi-site services"
150        systemctl enable apache2-lliurex
151        systemctl daemon-reload
152        systemctl restart apache2-lliurex
153        systemctl restart apache2
154        if [ -f /tmp/debug_compat ]; then
155            set +x
156        fi
157    ;;
158
159    abort-upgrade|abort-remove|abort-deconfigure)
160    ;;
161
162    *)
163        echo "postinst called with unknown argument \`$1'" >&2
164        exit 1
165    ;;
166esac
167
168# dh_installdeb will replace this with shell code automatically
169# generated by other debhelper scripts.
170
171#DEBHELPER#
172
173exit 0
Note: See TracBrowser for help on using the repository browser.