PANIC_MODE
2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/bin/bash
# Ce script fait passer l'application en mode "installation" et "local" (sans ldap)
# INPUT args
# $1 = platforme (par défaut linux)
# Mac ou Linux ?
# Linux
MACOS=
# Mac
#MACOS=1
[[ $1 == "macos" ]] && MACOS=ON
# Mode DEBUG (=ON pour activer)
# - DEBUG OFF
DEBUG=
# - DEBUG ON
#DEBUG=ON
[ $DEBUG ] && echo "DEBUG MODE ON"
#[ ! $DEBUG ] && echo "DEBUG MODE OFF"
# Nom du script sql
sqlscript=./database/set_mode_install
# Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente
# Il faut donc faire une copie de ce fichier et transformer les instructions sed a l'interieur
# Pour cela, il suffit d'executer ces 2 lignes :
# cp ce_script.sh ce_script_macosx.sh
# sed -e "s/ -i / -i '' /" -i '' ce_script_macosx.sh
if [ ! -f config/app.php ] ; then
#if [ ! -f ../config/app.php ] ; then
#echo "Vous devez executer ce script depuis le dossier database/"
echo "Vous devez executer ce script depuis la racine du projet"
exit 1
fi
# Get login, pass, dbname, and hostname
username=$(grep "/\*d\*/'username'" ./config/app.php | cut -d"'" -f4)
password=$(grep "/\*d\*/'password'" ./config/app.php | cut -d"'" -f4)
database=$(grep "/\*d\*/'database'" ./config/app.php | cut -d"'" -f4)
host=$(grep "/\*d\*/'host'" ./config/app.php | cut -d"'" -f4)
#if [[ $DEBUG == 1 ]] ; then
if [ $DEBUG ] ; then
echo "db: $database"
echo "user: $username"
echo "pass: $password"
echo "host: $host"
#exit
fi
cp -p $sqlscript.sql $sqlscript-build.sql
# Execute sql update script
if [ $MACOS ] ; then
# MacOS only :
sed -e "s/_database_/$database/" -i '' $sqlscript-build.sql
else
# Linux :
sed -e "s/_database_/$database/" -i $sqlscript-build.sql
fi
if [ ! $DEBUG ] ; then
#echo "exec sql"
mysql --user=$username --password=$password -h $host < $sqlscript-build.sql
fi
#echo $?
#error
if [ $? -ne 0 ] ; then
echo "Une erreur s'est produite"
echo "ABORT !"
exit 1
fi
[ ! $DEBUG ] && rm $sqlscript-build.sql
# Delete cakephp cache
#### (EP 20210129) avant tout ca se faisait avec sudo...
####sudo rm ../tmp/cache/models/*
chmod -R 777 ./tmp
rm ./tmp/cache/models/* > /dev/null 2>&1
rm ./tmp/cache/persistent/* > /dev/null 2>&1
# Rendre accessible a nouveau les dossiers webroot/ et vendor/
####chmod -R 777 ../tmp
####chmod -R 777 ../vendor
chmod -R 777 ./vendor/aferrandini/phpqrcode
####chmod -R 777 ../webroot
#img/qrcodes et img/photos :
chmod -R 777 ./webroot/img
chmod -R 777 ./webroot/files
echo
echo
echo "L'application est passée en mode 'installation'"
echo
echo "Maintenant, allez sur le site web pour changer la configuration via la page web dédiée"
echo
[ $DEBUG ] && (echo "Contenu du script sql $sqlscript-build.sql :" ; echo ; cat $sqlscript-build.sql ; echo)