Commit a13c2320b9ceb9fc924c8ce5c90dcc0271263ea6
1 parent
9d5bd88e
Exists in
master
and in
1 other branch
update install script
Showing
2 changed files
with
496 additions
and
0 deletions
Show diff stats
install/installation-macos.sh
... | ... | @@ -5,7 +5,11 @@ |
5 | 5 | |
6 | 6 | macosfile=installation.macos.temp.sh |
7 | 7 | cp installation.sh $macosfile |
8 | + | |
8 | 9 | sed -e "s/ -i / -i '' /" -i '' $macosfile |
10 | +sed -e "s/mode_panique/mode_panique_macos/" -i '' $macosfile | |
11 | + | |
9 | 12 | chmod +x $macosfile |
10 | 13 | ./$macosfile |
14 | + | |
11 | 15 | rm -f $macosfile | ... | ... |
... | ... | @@ -0,0 +1,492 @@ |
1 | +#!/bin/bash | |
2 | + | |
3 | +# | |
4 | +# ------------ A - SETUP ------------ | |
5 | +# | |
6 | + | |
7 | +# Le script peut-il continuer et créer les fichiers qui lui sont nécessaires ? | |
8 | +access_path=`dirname $0` | |
9 | +if [ -r "$access_path" ]; then | |
10 | + if [ -w "$access_path" ]; then | |
11 | + if [ -x "$access_path" ]; then | |
12 | + echo "Vous avez les droits suffisants sur ce repertoire pour exécuter ce script" | |
13 | + else | |
14 | + echo "Veuillez relancer le script en root" | |
15 | + exit 1 | |
16 | + fi | |
17 | + else | |
18 | + echo "Veuillez relancer le script en root" | |
19 | + exit 1 | |
20 | + fi | |
21 | +else | |
22 | + echo "Veuillez relancer le script en root" | |
23 | + exit 1 | |
24 | +fi | |
25 | + | |
26 | +# Git ne doit pas tenir compte des changements de permission sur les fichiers (style "chmod +x" ou "chmod -R"...) | |
27 | +# Ca signifie qu'un changement de permission sur un fichier n'est pas vu par git (et donc pas commité) | |
28 | +git config core.fileMode false | |
29 | + | |
30 | +# Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente | |
31 | +# Il faut donc faire une copie de ce fichier et transformer les instructions sed a l'interieur | |
32 | +# Pour cela, il suffit d'executer ces 2 lignes : | |
33 | +# cp installation.sh installation_macosx.sh | |
34 | +# sed -e "s/ -i '' / -i '' /" -i '' installation_macosx.sh | |
35 | + | |
36 | +if [ ! -f ./installation.sh ] ; then | |
37 | + echo "Vous devez executer ce script depuis le dossier install/" | |
38 | + exit 1 | |
39 | +fi | |
40 | + | |
41 | +# Pour pouvoir ajouter les donnees IRAP (categories...) pendant l'installation, mettre à 1 | |
42 | +INSTALL_DATA_IRAP=1 | |
43 | + | |
44 | +# Revenir a la racine du projet (car on est dans le repertoire install/) : | |
45 | +#cd ../ | |
46 | +#if [ $0 != "install/installation.sh" ] ; then | |
47 | +# cd ../ | |
48 | +#fi | |
49 | + | |
50 | + | |
51 | +#Configurer l'application | |
52 | +# Donner le nom du groupe webService | |
53 | +echo | |
54 | +echo "LabInvent Copyright (C) 2012-2020 IRAP (Toulouse - France)" | |
55 | +echo "Auteurs : Etienne Pallier <etienne.pallier@irap.omp.eu>, Elodie Bourrec <elodie.bourrec@irap.omp.eu>" | |
56 | +echo "Licence GPL (http://www.gnu.org/copyleft/gpl.html)" | |
57 | +echo "Ce logiciel est mis a disposition tel quel, SANS AUCUNE GARANTIE." | |
58 | +echo "C'est un logiciel libre, et vous pouvez le redistribuer sous certaines conditions." | |
59 | +echo "Il est construit sur le framework Php open source CakePhp (v3, http://cakephp.org) avec le langage Php v7" | |
60 | +echo | |
61 | + | |
62 | +echo "Votre serveur Mysql doit etre demarre (ainsi que votre serveur web)" | |
63 | +echo "Si c'est bien le cas, appuyez sur une touche pour continuer..." | |
64 | +read | |
65 | + | |
66 | +echo "La commande 'mysql' doit aussi etre accessible:" | |
67 | +res=`which mysql` | |
68 | +[[ -z "$res" ]] && exit 1 | |
69 | +echo "ok" | |
70 | +echo | |
71 | + | |
72 | +while : ; do | |
73 | + echo "Donner le nom du GROUPE du serveur web (ex: apache (centOs), www-data (Ubuntu), _www (MacOS avec Apache), daemon (MacOS avec XAMPP), nobody (MacOS), admin, ...)" | |
74 | + read grp | |
75 | + [[ -n "$grp" ]] && break | |
76 | +done | |
77 | +echo "==> groupe = $grp" | |
78 | +echo | |
79 | + | |
80 | +echo "Vous devez avoir les droits administrateur (via sudo) pour executer les commandes suivantes" | |
81 | +echo "Appuyez sur une touche pour continuer..." | |
82 | +read | |
83 | + | |
84 | + | |
85 | + | |
86 | +# | |
87 | +# ------------ B - PLUGINS ------------ | |
88 | +# | |
89 | + | |
90 | +# Installation des plugins dans vendor/ (cakephp, phpunit, phpqrcode, fpdf, ...) | |
91 | +echo "Installation des plugins dans vendor/ ..." | |
92 | +#cd install/ | |
93 | +chmod +x plugins_set.sh | |
94 | +chmod +x plugins_install.sh | |
95 | +./plugins_install.sh | |
96 | +#cd ../ | |
97 | + | |
98 | + | |
99 | +# Revenir a la racine du projet (car on est dans le repertoire install/) : | |
100 | +cd ../ | |
101 | + | |
102 | + | |
103 | + | |
104 | +# | |
105 | +# ------------ C - DOSSIERS LOCAUX DE TRAVAIL (./logs, ./tmp, ./webroot) ------------ | |
106 | +# | |
107 | + | |
108 | + | |
109 | +# - 1) Creation des dossiers temporaires (tmp, logs, webroot) | |
110 | + | |
111 | +echo "Création des dossiers temporaires..." | |
112 | +if [ ! -d "./logs" ]; then | |
113 | + mkdir ./logs/ | |
114 | +fi | |
115 | +if [ ! -f "./logs/error.log" ]; then | |
116 | + touch ./logs/error.log | |
117 | +fi | |
118 | +if [ ! -f "./logs/cli-error.log" ]; then | |
119 | + touch ./logs/cli-error.log | |
120 | +fi | |
121 | + | |
122 | +if [ ! -d "./tmp" ]; then | |
123 | + mkdir ./tmp/ | |
124 | +fi | |
125 | +if [ ! -d "./tmp/bake" ]; then | |
126 | + mkdir ./tmp/bake/ | |
127 | +fi | |
128 | +if [ ! -d "./tmp/cache" ]; then | |
129 | + mkdir ./tmp/cache/ | |
130 | +fi | |
131 | +if [ ! -d "./tmp/cache/models" ]; then | |
132 | + mkdir ./tmp/cache/models/ | |
133 | +fi | |
134 | +if [ ! -d "./tmp/cache/persistent" ]; then | |
135 | + mkdir ./tmp/cache/persistent/ | |
136 | +fi | |
137 | +if [ ! -d "./tmp/cache/views" ]; then | |
138 | + mkdir ./tmp/cache/views/ | |
139 | +fi | |
140 | +if [ ! -d "./tmp/documents" ]; then | |
141 | + mkdir ./tmp/documents/ | |
142 | +fi | |
143 | +if [ ! -d "./tmp/sessions" ]; then | |
144 | + mkdir ./tmp/sessions/ | |
145 | +fi | |
146 | +if [ ! -d "./tmp/tests" ]; then | |
147 | + mkdir ./tmp/tests/ | |
148 | +fi | |
149 | +if [ ! -d "./webroot/img/qrcodes" ]; then | |
150 | + # Normalement webroot/img/ existe déjà mais on ne sait jamais (donc -p) | |
151 | + mkdir -p ./webroot/img/qrcodes | |
152 | +fi | |
153 | + | |
154 | +# (EP 11/6/19) Pour pouvoir upload des photos (doc attaché) | |
155 | +folder=./webroot/img/photos | |
156 | +if [ ! -d "$folder" ]; then | |
157 | + mkdir $folder | |
158 | +fi | |
159 | +# Inutile car fait un peu plus loin | |
160 | +#chmod 777 $folder | |
161 | + | |
162 | +# (EP 24/5/19) Pour pouvoir upload des docs attachés | |
163 | +# Question: A quoi sert tmp/documents/ ci-dessus ? On peut le virer ? | |
164 | +folder=./webroot/files | |
165 | +if [ ! -d "$folder" ]; then | |
166 | + mkdir $folder | |
167 | +fi | |
168 | +chmod 777 $folder | |
169 | + | |
170 | +# (EP) Est-ce vraiment utile ? | |
171 | +#if [ ! -d "./vendor/phpunit" ]; then | |
172 | + #./composer.phar require --dev phpunit/phpunit | |
173 | +#else | |
174 | + #./composer.phar remove phpunit/phpunit | |
175 | + #./composer.phar require --dev phpunit/phpunit | |
176 | +#fi | |
177 | + | |
178 | +echo "==>Done" | |
179 | + | |
180 | + | |
181 | +# - 2) Mise à jour des droits d'accès sur ces dossiers temporaires | |
182 | + | |
183 | +echo "Mise à jour des droits des dossiers..." | |
184 | +echo "(Please enter your sudoer password)" | |
185 | + | |
186 | +# - a) POUR LES QRCODES | |
187 | +# Ajouter les droits en ecriture pour la creation des qrcodes | |
188 | +# phpqrcode write its errors into its folder ... | |
189 | +sudo chmod -R 775 ./vendor/aferrandini/phpqrcode/ | |
190 | +touch ./vendor/aferrandini/phpqrcode/errors.txt | |
191 | +chmod 775 ./vendor/aferrandini/phpqrcode/errors.txt | |
192 | +sudo chgrp -R $grp ./vendor/aferrandini/phpqrcode/ | |
193 | +[[ $? -ne 0 ]] && echo "Vous devez avoir le droit de faire un 'sudo' sinon executer ce script en tant que root" && exit 1 | |
194 | + | |
195 | +##sudo chmod -R 775 ./webroot/img/ | |
196 | +# TODO: ca serait mieux d'eviter ca ; | |
197 | +# Normalement, il faudrait ecrire dans app/tmp et pas dans app/webroot | |
198 | +# EP 2014/12/11 chmod 775 ne suffit pas | |
199 | +#chmod -R 775 ./webroot/img/ | |
200 | +#sudo chmod -R 770 ./webroot/img/ | |
201 | +sudo chmod -R 777 ./webroot/img/ | |
202 | +#sudo chown -R $grp:$grp ./webroot/img/ | |
203 | +sudo chgrp -R $grp ./webroot/img/ | |
204 | +# TODO: il faudrait plutot faire ceci : | |
205 | +#sudo chown -R $webServerLogin:$webServerGroup ./webroot/img/ | |
206 | +#chmod -R 775 ./webroot/img/ | |
207 | + | |
208 | +# - b) POUR LES DOCUMENTS | |
209 | +# Ajoute les droits en ecriture pour la generation des documents | |
210 | +dir="./tmp/documents/generator/" | |
211 | +if [ ! -d "$dir" ]; then | |
212 | + mkdir ./tmp/documents/generator/ | |
213 | +fi | |
214 | +##sudo chmod -R 775 ./tmp/documents/ | |
215 | +#chmod -R 775 ./tmp/documents/ | |
216 | + | |
217 | +# - c) POUR CAKEPHP (seule modif demandee par le framework) | |
218 | +# Les dossiers ./tmp et ./logs doivent être modifiable par le serveur web : | |
219 | +#chmod -R 775 ./tmp/ | |
220 | +sudo chmod -R 777 ./tmp/cache/ | |
221 | +chmod -R 777 ./tmp/ | |
222 | +sudo chgrp -R $grp ./tmp/ | |
223 | +chmod -R 777 ./logs/ | |
224 | +sudo chgrp -R $grp ./logs/ | |
225 | +#Il semble qu'il manque des droits au dossier Vendor, droit trop général à réduire (identifié les composants qui ont besoin de s'éxécuter ou de se lire, pas d'écriture dans le dossier Vendor normalement...) | |
226 | +#sudo chmod -R 770 ./vendor/ | |
227 | +sudo chmod -R 777 ./vendor/ | |
228 | +echo "==> Done" | |
229 | + | |
230 | +echo | |
231 | +echo "Mise à jour des droits des dossiers tmp et logs" | |
232 | +echo | |
233 | + | |
234 | +HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` | |
235 | +setfacl -R -m u:${HTTPDUSER}:rwx tmp | |
236 | +setfacl -R -d -m u:${HTTPDUSER}:rwx tmp | |
237 | +setfacl -R -m u:${HTTPDUSER}:rwx logs | |
238 | +setfacl -R -d -m u:${HTTPDUSER}:rwx logs | |
239 | + | |
240 | + | |
241 | + | |
242 | +# | |
243 | +# ------------ D - MODE : install or update ? ------------ | |
244 | +# | |
245 | + | |
246 | +# Mode install or update | |
247 | + | |
248 | +while : ; do | |
249 | +echo "Voulez-vous effectuer une premiere installation OU BIEN une reconfiguration ('install'/'update') ? ['install'] :" | |
250 | + read mode | |
251 | + [[ -z $mode ]] && mode="install" | |
252 | + [[ $mode == "install" || $mode == "update" ]] && break | |
253 | +done | |
254 | +echo "==> Utilisation en mode $mode" | |
255 | + | |
256 | + | |
257 | + | |
258 | +# | |
259 | +# ------------ D - CONFIGURATION Database (fichier config/app.php) ------------ | |
260 | +# | |
261 | + | |
262 | +cakephpAppPath=./ | |
263 | +configPath=$cakephpAppPath/config | |
264 | +dbConfigFile=$configPath/app.php | |
265 | +myConfigFile=$configPath/app.php | |
266 | +configFile=$configPath/app.php | |
267 | + | |
268 | +# If INSTALL mode => copy sample GENERAL config file to real personal file (make a copy first if already exists !) | |
269 | +[[ -f $myConfigFile ]] && cp -p $myConfigFile $myConfigFile.ORIG | |
270 | +[[ $mode == "install" ]] && cp $configPath/app.default.php $myConfigFile | |
271 | + | |
272 | +while : ; do | |
273 | + echo "Voulez-vous (re-)créer la base de données (O/N) ? [N] :" | |
274 | + read rep | |
275 | + [[ -z $rep ]] && rep="N" | |
276 | + [[ $rep == "O" || $rep == "N" ]] && break | |
277 | +done | |
278 | +BDD=$rep | |
279 | +if [[ $BDD == "O" ]] ; then | |
280 | + echo "==> (re-)Création de la base de donnees" | |
281 | +else | |
282 | + echo "==> Pas de création de la base de donnees (la BD existe déjà)" | |
283 | +fi | |
284 | + | |
285 | +# Set database ip | |
286 | +echo "Entrez le nom ou l'adresse du serveur MySQL hebergeant la base de donnnees : (defaut=localhost)" | |
287 | +read bddIp | |
288 | +if [ -z $bddIp ] ; then | |
289 | + bddIp="localhost" | |
290 | +fi | |
291 | +echo "==> Adresse du serveur MySql = $bddIp" | |
292 | +echo | |
293 | + | |
294 | +if [[ $BDD == "O" ]] ; then | |
295 | + echo "Entrez le login privilegie vous donnant le droit de CREER les bases de donnees (NB: ce login ne sera utilise qu'une seule fois, pour la creation des bases ; par defaut=root) :" | |
296 | + echo "Si vous n'avez pas la permission de créer de nouvelles bases sur le serveur mais souhaitez installer le logiciel dans une base existante, entrez 'bd_existante'" | |
297 | + #echo "Si vous n'avez pas la permission de créer de nouvelles bases sur le serveur mais souhaitez installer le logiciel dans une base existante, entrez 'latmos'" | |
298 | + read bddAdminName | |
299 | + if [ -z $bddAdminName ] ; then | |
300 | + bddAdminName="root" | |
301 | + fi | |
302 | + echo "==> SGBD admin login = $bddAdminName" | |
303 | + echo | |
304 | + echo "Entrez le mot de passe de ce login privilegie (sinon, entrer le mot de passe de root) :" | |
305 | + read -s bddAdminPass | |
306 | + echo | |
307 | +fi | |
308 | + | |
309 | +echo | |
310 | + | |
311 | +# Configuration BD test et prod dans fichier config/app.php | |
312 | + | |
313 | +# - BD test | |
314 | + | |
315 | +sed -e "s/'database' => 'test_database'/'database' => 'test_labinvent2'/" -i '' $dbConfigFile | |
316 | +sed -e "s/'username' => 'test_username'/'username' => 'superadmin'/" -i '' $dbConfigFile | |
317 | +sed -e "s/'password' => 'test_password'/'password' => 'superadmin'/" -i '' $dbConfigFile | |
318 | + | |
319 | +# - BD prod | |
320 | + | |
321 | +#sed -e "s#/\*d\*/'host' => 'localhost'//\*d\*/'host' => '$bddIp'/" -i '' $dbConfigFile | |
322 | +sed -e "s/\*d\*\/'host' => 'localhost'/\*d\*\/'host' => '$bddIp'/" -i '' $dbConfigFile | |
323 | + | |
324 | +echo "Entrez le nom de la base a utiliser pour l'inventaire (defaut=labinvent)" | |
325 | +read bddName | |
326 | +if [ -z $bddName ] ; then | |
327 | + bddName="labinvent" | |
328 | +fi | |
329 | +echo "==> Nom de la BD = $bddName" | |
330 | +echo | |
331 | +sed -e "s/'database' => 'database'/'database' => '$bddName'/" -i '' $dbConfigFile | |
332 | + | |
333 | +# Attention, le login doit faire maximum 16 caracteres, car Mysql ne supporte pas plus | |
334 | +defaultBddUserName=${bddName:0:12}user | |
335 | +echo "Entrez le login qui doit etre cree pour que le logiciel puisse avoir acces a la base de donnees inventaire" | |
336 | +echo "Ce login sera utilise par le logiciel pour acceder et modifier la BD d'inventaire, quelque soit l'utilisateur connecte" | |
337 | +echo "Attention, il ne s'agit pas d'un utilisateur humain, mais d'un login associe au logiciel, il peut donc porter le nom du logiciel par exemple" | |
338 | +echo "Ce login doit faire 16 caracteres MAX (proposition par defaut, $defaultBddUserName):" | |
339 | +read bddUserName | |
340 | +if [ -z $bddUserName ] ; then | |
341 | + bddUserName=$defaultBddUserName | |
342 | +fi | |
343 | +echo "==> BDD inventaire user login = $bddUserName" | |
344 | +echo | |
345 | +sed -e "s/'username' => 'username'/'username' => '$bddUserName'/" -i '' $dbConfigFile | |
346 | +sed -e "s/'username' => 'superadmin'/'username' => '$bddUserName'/" -i '' $dbConfigFile | |
347 | +echo "Entrez le mot de passe de cet utilisateur :" | |
348 | +read -s bddUserPass | |
349 | +echo "==> BDD inventaire user pass = $bddUserPass" | |
350 | +echo | |
351 | +sed -e "s/'password' => 'password'/'password' => '$bddUserPass'/" -i '' $dbConfigFile | |
352 | +sed -e "s/'password' => 'superadmin'/'password' => '$bddUserPass'/" -i '' $dbConfigFile | |
353 | + | |
354 | +# DATABASE INSTALLATION | |
355 | + | |
356 | +#if [ $BDD == "N" ] ; then | |
357 | +# #Structure de la base de test présente dans le fichier "labinvent_mode_update.sql" | |
358 | +# cat ./labinvent_mode_update.sql > ./build_update.sql | |
359 | +# mysql --user=$bddAdminName --password=$bddAdminPass -h $bddIp < ./build_update.sql | |
360 | +#else | |
361 | + | |
362 | +if [ $BDD == "O" ] ; then | |
363 | + cd database/ | |
364 | + echo "Creation script de construction de la BD." | |
365 | + [[ -f build.sql ]] && cp -p build.sql build.sql.ORIG | |
366 | + | |
367 | + # Structure de la base présente dans le fichier "labinvent_last_version.sql" | |
368 | + # (EP 25/5/19) TODO: il faut un script sql adapté au cas 'bd_existante', | |
369 | + # c'est à dire SANS "create schema...", mais juste des "drop table if exists + create table" | |
370 | + if [ $bddAdminName == 'bd_existante' ] ; then | |
371 | + #cat ./labinvent_2.1_22-05-17.sql > ./build.sql | |
372 | + #cat ./labinvent_last_version_from_existing_bd.sql > ./build.sql | |
373 | + # (1) On crée un fichier vide | |
374 | + echo "" > ./build.sql | |
375 | + else | |
376 | + # (1) Instructions de création de la BD | |
377 | + cat ./create_database.sql > ./build.sql | |
378 | + fi | |
379 | + # (2) Instructions de création des tables | |
380 | + #cat ./labinvent_last_version_from_scratch.sql >> ./build.sql | |
381 | + cat ./create_tables.sql >> ./build.sql | |
382 | + # (3) Insertions des données de base indispensables (surtout la table configurations) | |
383 | + cat ./insert_tables_default_data_general.sql >> ./build.sql | |
384 | + | |
385 | + | |
386 | + # Ajout login & mdp utlisateur application dans le script build.sql | |
387 | + #sed -e "s/'mydb'/'$bddUserName'/" -i '' ./build.sql | |
388 | + sed -e "s/'mydb_user'/'$bddUserName'/" -i '' ./build.sql | |
389 | + #sed -e "s/'mydb1'/'$bddUserPass'/" -i '' ./build.sql | |
390 | + sed -e "s/'mydb_pass'/'$bddUserPass'/" -i '' ./build.sql | |
391 | + | |
392 | + # Seulement pour IRAP | |
393 | + if [ $INSTALL_DATA_IRAP -eq 1 ] ; then | |
394 | + echo "Voulez-vous installer les donnees propres a l'IRAP (categories, groupes metiers, groupes thematiques) dans la base de donnees, Oui/Non ? (reponse par defaut Oui) :" | |
395 | + read rep | |
396 | + if [ -z $rep ] || [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then | |
397 | + echo "Installation des donnees IRAP dans la base de donnees" | |
398 | + #cat ./Insert_TablesFunct.sql >> ./build.sql | |
399 | + cat ./insert_tables_default_data_IRAP.sql >> ./build.sql | |
400 | + else | |
401 | + echo "Pas d'install de donnees IRAP dans la base" | |
402 | + fi | |
403 | + fi | |
404 | + echo | |
405 | + | |
406 | + #rep=" " | |
407 | + cat ./insert_superadmin_user.sql >> ./build.sql | |
408 | + | |
409 | + echo "Maintenant, nous allons definir l utilisateur qui sera superadministrateur de l application, ca peut etre VOUS (Pas de mot de passe par défaut) :" | |
410 | + echo "- Entrez ses (vos) Nom et Prenom (sous forme : Nom Prenom ) :" | |
411 | + read UserName UserPrenom | |
412 | + echo | |
413 | + echo "- Entrez son (votre) login (par exemple, votre login ldap - par défaut 'superadmin') :" | |
414 | + read login | |
415 | + # par defaut, on met superadmin (utilisé en fake ldap) | |
416 | + if [ -z $login ] ; then | |
417 | + login="superadmin" | |
418 | + fi | |
419 | + echo "==> login du super administrateur de LabInvent = $login" | |
420 | + echo "*** ATTENTION *** : Notez bien ce login, c'est celui qui vous permettra par défaut de vous connecter à LabInvent en tant que super administrateur (avec le mot de passe 'login')" | |
421 | + echo | |
422 | + echo "- Entrez son (votre) email :" | |
423 | + read mel | |
424 | + echo | |
425 | + sed -e "s/Nom/$UserName/" -i '' ./build.sql | |
426 | + sed -e "s/Prenom/$UserPrenom/" -i '' ./build.sql | |
427 | + sed -e "s/userlogin/$login/" -i '' ./build.sql | |
428 | + sed -e "s/'__@__'/'$mel'/" -i '' ./build.sql | |
429 | + | |
430 | + echo "Voulez-vous installer quelques utilisateurs supplémentaires (bidons, 1 par profil) dans la base de donnees (vous pourrez ensuite changer leur nom dans l'application, ou meme les supprimer ; par defaut, Oui): Oui/Non ?" | |
431 | + read rep | |
432 | + if [ -z $rep ] || [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then | |
433 | + echo "Ajout de quelques utilisateurs supplementaires dans la base (Mot de passe par défaut : login)" | |
434 | + cat ./insert_fake_users.sql >> ./build.sql | |
435 | + fi | |
436 | + | |
437 | + # Remplacement des "use mydb" par "use $bddName" | |
438 | + sed -e "s/mydb/$bddName/" -i '' ./build.sql | |
439 | + | |
440 | + echo | |
441 | + echo "Creation base de donnees (Attention, votre serveur de BD doit etre demarre)" | |
442 | + if [ $bddAdminName == 'bd_existante' ] ; then | |
443 | + mysql --user=$bddUserName --password=$bddUserPass -h $bddIp < ./build.sql | |
444 | + else | |
445 | + mysql --user=$bddAdminName --password=$bddAdminPass -h $bddIp < ./build.sql | |
446 | + fi | |
447 | + echo "Base créée (a verifier)" | |
448 | + cd ../ | |
449 | +fi | |
450 | + | |
451 | + | |
452 | +echo | |
453 | +echo "Passage de l'application en mode INSTALL" | |
454 | +cd database/ | |
455 | +chmod +x mode_panique_macos.sh | |
456 | +./mode_panique_macos.sh | |
457 | + | |
458 | + | |
459 | + | |
460 | + | |
461 | + | |
462 | +echo | |
463 | +echo "*** FIN DE L'INSTALLATION ***" | |
464 | +echo | |
465 | + | |
466 | +#echo "Maintenant, veuillez poursuivre en suivant (rigoureusement) les indications données sur le wiki du projet : https://projects.irap.omp.eu/projects/inventirap/wiki/Installation#C-TESTS" | |
467 | + | |
468 | +#if [ $mode == 'install' ] ; then | |
469 | +# echo "Si vous voulez le conserver, le script de creation de la BD est database/build.sql" | |
470 | +# echo "Le fichier de configuration app.php a été écrasé, vous pouvez retrouver votre ancienne configuration dans le fichier app.php.ORIG." | |
471 | +# echo | |
472 | +# echo "MAINTENANT :" | |
473 | +# echo "1) Verifiez que la BD d'inventaire ($bddName) a bien ete cree (avec phpmyadmin par exemple)" | |
474 | +# echo "2) Verifiez que les tests passent, placez vous à la racine du projet, exécutez la commande 'vendor/bin/phpunit'." | |
475 | +# echo "3) Allez sur l'application, vous devriez arriver par défaut sur un mode install vous donnant des informations sur la configuration de votre application, vérifiez que tous les points sont bien validés (verts), sinon rajouter les extensions manquantes..." | |
476 | +# echo "4) Testez l'accès à l'application par le web" | |
477 | +#else | |
478 | +# echo | |
479 | +# echo "MAINTENANT :" | |
480 | +# echo "1) Verifiez que les tests passent, placez vous à la racine du projet, exécutez la commande 'vendor/bin/phpunit'." | |
481 | +# echo "2) Allez sur l'application, vous devriez arriver par défaut sur un mode install vous donnant des informations sur la configuration de votre application, vérifiez que tous les points sont bien validés (verts), sinon rajouter les extensions manquantes..." | |
482 | +# echo "3) Testez l'accès à l'application par le web" | |
483 | +#fi | |
484 | +# | |
485 | +#echo "Pour aller sur l'application, suivez la suite des instructions qui sont dans le fichier INSTALLATION.txt (à la racine du projet), que vous avez normalement deja commence a lire (ou bien sur le web (https://projects.irap.omp.eu/projects/inventirap/wiki/Installation)" | |
486 | +#echo | |
487 | +#echo "N'oubliez pas 3 choses importantes :" | |
488 | +#echo "1) Personnaliser les 2 fichiers logos suivants dans webroot/img/ :" | |
489 | +#echo "- logo_entity.jpg : le logo du laboratoire" | |
490 | +#echo "- logo_software.jpg : le logo du logiciel" | |
491 | +#echo "2) Personnaliser le logiciel pour votre entité (laboratoire) (via le menu de configuration dans la section outils de l\'application)" | |
492 | +#echo "3) Passer en mode LDAP (via le menu de configuration dans la section outils de l\'application)" | ... | ... |