Commit f4953d676a81dc3b2e2f892a5c8887ba1675dfe2
1 parent
f4b7c9cd
Exists in
master
and in
1 other branch
modif variables env et adapte installation.sh pour host % si docker...
Showing
20 changed files
with
147 additions
and
106 deletions
Show diff stats
ADD_NEW_SUPERADMIN_LDAP_USER
... | ... | @@ -5,7 +5,7 @@ |
5 | 5 | |
6 | 6 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
7 | 7 | # => on rappelle ce meme script avec le CLI docker puis on exit |
8 | -if [[ -f ../DOCKER_LABINVENT_START ]] ; then | |
8 | +if [[ -f ../docker-compose.yml ]] ; then | |
9 | 9 | #cd ../ |
10 | 10 | docker exec -it labinvent $0 |
11 | 11 | exit | ... | ... |
CAKE_SHELL
... | ... | @@ -2,10 +2,10 @@ |
2 | 2 | |
3 | 3 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
4 | 4 | # => on rappelle ce meme script avec le CLI docker puis on exit |
5 | -[ -f ../DOCKER_LABINVENT_START ] && docker exec -it labinvent $0 | |
6 | -[ -f ../DOCKER_LABINVENT_START ] && exit | |
5 | +[ -f ../docker-compose.yml ] && docker exec -it labinvent $0 | |
6 | +[ -f ../docker-compose.yml ] && exit | |
7 | 7 | |
8 | -#if [[ -f ../DOCKER_LABINVENT_START ]] ; then | |
8 | +#if [[ -f ../docker-compose.yml ]] ; then | |
9 | 9 | ##cd ../ |
10 | 10 | #docker exec -it labinvent $0 |
11 | 11 | #exit | ... | ... |
CHANGELOG
... | ... | @@ -31,6 +31,12 @@ ROADMAP IRAP : |
31 | 31 | |
32 | 32 | |
33 | 33 | ------- |
34 | +31/03/2021 NEWS#6 (v4.108.18) : | |
35 | + | |
36 | +- Installation du logiciel désormais disponible via DOCKER (en quelques petites minutes) | |
37 | + | |
38 | + | |
39 | +------- | |
34 | 40 | 30/11/2020 NEWS#5 (v4.107.21) : |
35 | 41 | |
36 | 42 | - Liste des matériels beaucoup plus pratique (colonnes plus pertinentes) et filtrage plus efficace |
... | ... | @@ -315,6 +321,13 @@ Commencer à implémenter le nouveau workflow v5 : |
315 | 321 | ======= CHANGES ======= |
316 | 322 | |
317 | 323 | ------- |
324 | +01/04/2021 v4.108.18-3.7.9 | |
325 | + - Prise en compte host "%" pour accès mysql si docker, et localhost si pas docker (ou autre host défini) | |
326 | + (car host "db" pas reconnu, et host "labinvent.labinventdock_labinvent-network" trop compliqué, et host "%" sécurisé en mode docker puisque dans container) | |
327 | + - Optimisation scripts accès BD pour mode docker hors container | |
328 | + - Ajout nouveaux scripts raccourcis DOCKER_LABINVENT_* | |
329 | + | |
330 | +------- | |
318 | 331 | 30/03/2021 v4.108.17-3.7.9 |
319 | 332 | - Ajout scripts connexion BD (client mysql) : CONNECT_TO_MYSQL_AS_/ROOT/USER |
320 | 333 | - Ajout script accès shell CakePhp (utile pour requetes BD via ORM) : CAKE_SHELL | ... | ... |
CONNECT_TO_MYSQL_AS_ROOT
... | ... | @@ -2,8 +2,8 @@ |
2 | 2 | |
3 | 3 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
4 | 4 | # => on rappelle ce meme script avec le CLI docker puis on exit |
5 | -[ -f ../DOCKER_LABINVENT_START ] && docker exec -it labinvent $0 | |
6 | -[ -f ../DOCKER_LABINVENT_START ] && exit | |
5 | +[ -f ../docker-compose.yml ] && docker exec -it labinvent $0 | |
6 | +[ -f ../docker-compose.yml ] && exit | |
7 | 7 | # Execution SANS docker, ou bien AVEC docker depuis le conteneur |
8 | 8 | echo "IN $(pwd)" |
9 | 9 | ... | ... |
CONNECT_TO_MYSQL_AS_USER
... | ... | @@ -2,8 +2,8 @@ |
2 | 2 | |
3 | 3 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
4 | 4 | # => on rappelle ce meme script avec le CLI docker puis on exit |
5 | -[ -f ../DOCKER_LABINVENT_START ] && docker exec -it labinvent $0 | |
6 | -[ -f ../DOCKER_LABINVENT_START ] && exit | |
5 | +[ -f ../docker-compose.yml ] && docker exec -it labinvent $0 | |
6 | +[ -f ../docker-compose.yml ] && exit | |
7 | 7 | # Execution SANS docker, ou bien AVEC docker depuis le conteneur |
8 | 8 | echo "IN $(pwd)" |
9 | 9 | |
... | ... | @@ -24,9 +24,10 @@ echo $MYSQL_HOST |
24 | 24 | |
25 | 25 | # PROD table : labinvent |
26 | 26 | mysql $MYSQL_DATABASE -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD |
27 | +#mysql -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD | |
27 | 28 | |
28 | 29 | # TEST table : test_labinvent |
29 | -#mysql test_${MYSQL_DATABASE} -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD | |
30 | +#mysql test_$MYSQL_DATABASE -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD | |
30 | 31 | |
31 | 32 | #mysql test_labinvent -u labinvent_user -plabinvent --host='db' |
32 | 33 | #mysql labinvent -u labinvent_user -plabinvent --host='db' | ... | ... |
DB_EXEC
... | ... | @@ -2,8 +2,8 @@ |
2 | 2 | |
3 | 3 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
4 | 4 | # => on rappelle ce meme script avec le CLI docker puis on exit |
5 | -[ -f ../DOCKER_LABINVENT_START ] && docker exec -it labinvent $0 | |
6 | -[ -f ../DOCKER_LABINVENT_START ] && exit | |
5 | +[ -f ../docker-compose.yml ] && docker exec -it labinvent $0 | |
6 | +[ -f ../docker-compose.yml ] && exit | |
7 | 7 | # Execution SANS docker, ou bien AVEC docker depuis le conteneur |
8 | 8 | echo "IN $(pwd)" |
9 | 9 | ... | ... |
INSTALLATION
... | ... | @@ -2,8 +2,8 @@ |
2 | 2 | |
3 | 3 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
4 | 4 | # => on rappelle ce meme script avec le CLI docker puis on exit |
5 | -[ -f ../DOCKER_LABINVENT_START ] && docker exec -it labinvent $0 | |
6 | -[ -f ../DOCKER_LABINVENT_START ] && exit | |
5 | +[ -f ../docker-compose.yml ] && docker exec -it labinvent $0 | |
6 | +[ -f ../docker-compose.yml ] && exit | |
7 | 7 | # Execution SANS docker, ou bien AVEC docker depuis le conteneur |
8 | 8 | echo "IN $(pwd)" |
9 | 9 | ... | ... |
PANIC_MODE
... | ... | @@ -7,8 +7,8 @@ |
7 | 7 | |
8 | 8 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
9 | 9 | # => on rappelle ce meme script avec le CLI docker puis on exit |
10 | -[ -f ../DOCKER_LABINVENT_START ] && docker exec -it labinvent $0 $1 | |
11 | -[ -f ../DOCKER_LABINVENT_START ] && exit | |
10 | +[ -f ../docker-compose.yml ] && docker exec -it labinvent $0 $1 | |
11 | +[ -f ../docker-compose.yml ] && exit | |
12 | 12 | # Execution SANS docker, ou bien AVEC docker depuis le conteneur |
13 | 13 | echo "IN $(pwd)" |
14 | 14 | |
... | ... | @@ -16,7 +16,6 @@ echo "IN $(pwd)" |
16 | 16 | |
17 | 17 | |
18 | 18 | |
19 | - | |
20 | 19 | # Mac ou Linux ? |
21 | 20 | # Linux |
22 | 21 | MACOS= |
... | ... | @@ -80,9 +79,12 @@ else |
80 | 79 | sed -e "s/_database_/$database/" -i $sqlscript-build.sql |
81 | 80 | fi |
82 | 81 | |
82 | +[ $DEBUG ] && echo "mysql -h $host -u $username -p$password < $sqlscript-build.sql" | |
83 | 83 | if [ ! $DEBUG ] ; then |
84 | + mysql $database --user=$username --password=$password -h $host < $sqlscript-build.sql | |
84 | 85 | #echo "exec sql" |
85 | - mysql --user=$username --password=$password -h $host < $sqlscript-build.sql | |
86 | + #mysql --user=$username --password=$password -h $host < $sqlscript-build.sql | |
87 | + #mysql -h $host -u $username -p$password < $sqlscript-build.sql | |
86 | 88 | fi |
87 | 89 | #echo $? |
88 | 90 | #error | ... | ... |
README.md
... | ... | @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : |
52 | 52 | |
53 | 53 | -------------------------------------------------------------------------------------------- |
54 | 54 | |
55 | -Date: 30/03/2021 | |
56 | -Version: v4.108.17-3.7.9 | |
55 | +Date: 01/04/2021 | |
56 | +Version: v4.108.18-3.7.9 | |
57 | 57 | |
58 | 58 | |
59 | 59 | ... | ... |
TESTS.sh
... | ... | @@ -2,8 +2,8 @@ |
2 | 2 | |
3 | 3 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
4 | 4 | # => on rappelle ce meme script avec le CLI docker puis on exit |
5 | -[ -f ../DOCKER_LABINVENT_START ] && docker exec -it labinvent $0 $1 | |
6 | -[ -f ../DOCKER_LABINVENT_START ] && exit | |
5 | +[ -f ../docker-compose.yml ] && docker exec -it labinvent $0 $1 | |
6 | +[ -f ../docker-compose.yml ] && exit | |
7 | 7 | # Execution SANS docker, ou bien AVEC docker depuis le conteneur |
8 | 8 | echo "IN $(pwd)" |
9 | 9 | ... | ... |
TEST_WEB
... | ... | @@ -2,8 +2,8 @@ |
2 | 2 | |
3 | 3 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
4 | 4 | # => on rappelle ce meme script avec le CLI docker puis on exit |
5 | -[ -f ../DOCKER_LABINVENT_START ] && docker exec -it labinvent $0 | |
6 | -[ -f ../DOCKER_LABINVENT_START ] && exit | |
5 | +[ -f ../docker-compose.yml ] && docker exec -it labinvent $0 | |
6 | +[ -f ../docker-compose.yml ] && exit | |
7 | 7 | # Execution SANS docker, ou bien AVEC docker depuis le conteneur |
8 | 8 | echo "IN $(pwd)" |
9 | 9 | |
... | ... | @@ -21,6 +21,7 @@ echo |
21 | 21 | echo |
22 | 22 | |
23 | 23 | bin/cake server -p 8765 |
24 | +#bin/cake server -H 0.0.0.0 -p 8765 | |
24 | 25 | |
25 | 26 | mv src/Application.php src/Application.php.OLD |
26 | 27 | ... | ... |
UPDATE
... | ... | @@ -4,8 +4,8 @@ |
4 | 4 | |
5 | 5 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
6 | 6 | # => on rappelle ce meme script avec le CLI docker puis on exit |
7 | -[ -f ../DOCKER_LABINVENT_START ] && docker exec -it labinvent $0 $1 | |
8 | -[ -f ../DOCKER_LABINVENT_START ] && exit | |
7 | +[ -f ../docker-compose.yml ] && docker exec -it labinvent $0 $1 | |
8 | +[ -f ../docker-compose.yml ] && exit | |
9 | 9 | # Execution SANS docker, ou bien AVEC docker depuis le conteneur |
10 | 10 | echo "IN $(pwd)" |
11 | 11 | ... | ... |
VERSION
... | ... | @@ -2,8 +2,8 @@ |
2 | 2 | |
3 | 3 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
4 | 4 | # => on rappelle ce meme script avec le CLI docker puis on exit |
5 | -[ -f ../DOCKER_LABINVENT_START ] && docker exec -it labinvent $0 | |
6 | -[ -f ../DOCKER_LABINVENT_START ] && exit | |
5 | +[ -f ../docker-compose.yml ] && docker exec -it labinvent $0 | |
6 | +[ -f ../docker-compose.yml ] && exit | |
7 | 7 | # Execution SANS docker, ou bien AVEC docker depuis le conteneur |
8 | 8 | echo "IN $(pwd)" |
9 | 9 | ... | ... |
database/install/DB1_create_databases_prod_and_test_and_users.sql
... | ... | @@ -61,14 +61,19 @@ CREATE DATABASE IF NOT EXISTS _mydbtest_ DEFAULT CHARACTER SET latin1; |
61 | 61 | -- grant all on _mydb_.* to '_mydb_user_'@'localhost' identified by '_mydb_pass_'; |
62 | 62 | -- host OK POUR DOCKER, mais bon faut deviner le nom... |
63 | 63 | -- grant all on _mydb_.* to '_mydb_user_'@'labinvent.labinventdock_labinvent-network' identified by '_mydb_pass_'; |
64 | --- host OK POUR DOCKER, mais pas tres secure : | |
65 | -grant all on _mydb_.* to '_mydb_user_'@'%' identified by '_mydb_pass_'; | |
64 | +-- host OK POUR DOCKER, on pourrait eventuellement utiliser ça... | |
65 | +-- grant all on _mydb_.* to '_mydb_user_'@'labinvent.%' identified by '_mydb_pass_'; | |
66 | +-- host OK POUR DOCKER, simple, mais pas super secure : | |
67 | +-- grant all on _mydb_.* to '_mydb_user_'@'%' identified by '_mydb_pass_'; | |
68 | +-- _mydb_host_ = '%' si DOCKER, et 'localhost' si PAS docker (ou autre host défini) | |
69 | +grant all on _mydb_.* to '_mydb_user_'@'_mydb_host_' identified by '_mydb_pass_'; | |
66 | 70 | |
67 | 71 | -- grant all on _mydbtest_.* to 'superadmin'@'localhost' identified by 'superadmin'; |
68 | 72 | -- grant all on _mydbtest_.* to 'mydb_user'@'localhost' identified by 'mydb_pass'; |
69 | 73 | -- grant all on _mydbtest_.* to '_mydb_user_'@'_server_name_' identified by '_mydb_pass_'; |
70 | 74 | -- grant all on _mydbtest_.* to '_mydb_user_'@'localhost' identified by '_mydb_pass_'; |
71 | -grant all on _mydbtest_.* to '_mydb_user_'@'%' identified by '_mydb_pass_'; | |
75 | +-- grant all on _mydbtest_.* to '_mydb_user_'@'%' identified by '_mydb_pass_'; | |
76 | +grant all on _mydbtest_.* to '_mydb_user_'@'_mydb_host_' identified by '_mydb_pass_'; | |
72 | 77 | |
73 | 78 | -- Mais, ca serait plus prudent de limiter les droits (au lieu de "grant all"): |
74 | 79 | -- grant select,insert,update,delete on _mydb_.* to ... | ... | ... |
database/set_mode_install.sql
database/update/db-update.sh
... | ... | @@ -2,14 +2,11 @@ |
2 | 2 | |
3 | 3 | # Si execution directe depuis le repertoire data/ (bind du repertoire docker) |
4 | 4 | # => on rappelle ce meme script avec le CLI docker puis on exit |
5 | -if [[ -f ../../../DOCKER_LABINVENT_START ]] ; then | |
6 | - #cd ../ | |
7 | - docker exec -it -w /var/www/database/update labinvent $0 $1 | |
8 | - exit | |
9 | -fi | |
5 | +[ -f ../../../docker-compose.yml ] && docker exec -it -w /var/www/database/update labinvent $0 $1 | |
6 | +[ -f ../../../docker-compose.yml ] && exit | |
7 | +# Execution SANS docker, ou bien AVEC docker depuis le conteneur | |
10 | 8 | echo "IN $(pwd)" |
11 | 9 | |
12 | -# Execution SANS docker, ou bien AVEC docker depuis le conteneur | |
13 | 10 | |
14 | 11 | |
15 | 12 | |
... | ... | @@ -90,7 +87,8 @@ else |
90 | 87 | # Linux : |
91 | 88 | sed -e "s/database/$database/" -i ./script_sql/$sqlscript_name-build.sql || abort |
92 | 89 | fi |
93 | -mysql --user=$username --password=$password -h $host < ./script_sql/$sqlscript_name-build.sql || abort | |
90 | +mysql $database --user=$username --password=$password -h $host < ./script_sql/$sqlscript_name-build.sql || abort | |
91 | +#mysql --user=$username --password=$password -h $host < ./script_sql/$sqlscript_name-build.sql || abort | |
94 | 92 | |
95 | 93 | # Delete temporary file and cakephp cache (-f avoids warning if no file) |
96 | 94 | rm -f ./script_sql/$sqlscript_name-build.sql | ... | ... |
database/update/script_sql/db-update-2020-11-04.sql
database/update/script_sql/db-update-2021-01-28.sql
install/ENV.sample.sh
1 | -# - Mode batch (ON) ou interactif (OFF) | |
2 | -MODE_BATCH=ON | |
3 | -#MODE_BATCH=OFF | |
1 | +# - Mode interactif (true) ou mode batch (false) | |
2 | +INTER=false | |
4 | 3 | |
5 | -# - Mysql root login ? # oui (si pas OFF), non (si OFF) | |
6 | -MYSQL_ROOT_LOGIN=root | |
7 | -#MYSQL_ROOT_LOGIN=OFF | |
8 | 4 | |
9 | -# - Pour ajouter donnees IRAP de base (categories...), mettre à ON (sinon mettre à OFF) | |
10 | -INSTALL_DATA_IRAP=ON | |
11 | -#INSTALL_DATA_IRAP=OFF | |
5 | +# - Pour ajouter donnees IRAP de base (categories...), mettre à true (sinon mettre à false) | |
6 | +INSTALL_DATA_IRAP=true | |
12 | 7 | |
13 | 8 | |
14 | 9 | |
... | ... | @@ -16,12 +11,16 @@ INSTALL_DATA_IRAP=ON |
16 | 11 | MYSQL_HOST=localhost |
17 | 12 | #MYSQL_HOST=db |
18 | 13 | |
14 | +# - Mysql root login ? non (si =false), oui (si n'importe quelle autre valeur) | |
15 | +MYSQL_ROOT_LOGIN=root | |
16 | +#MYSQL_ROOT_LOGIN=false | |
17 | + | |
19 | 18 | # - mysql root pass |
20 | 19 | MYSQL_ROOT_PASSWORD=root |
21 | 20 | #MYSQL_ROOT_PASSWORD=labinvent |
22 | 21 | #MYSQL_ROOT_PASSWORD='' |
23 | 22 | |
24 | -# - mysql database | |
23 | +# - LabInvent database | |
25 | 24 | MYSQL_DATABASE=labinvent |
26 | 25 | MYSQL_USER=labinvent_user |
27 | 26 | MYSQL_PASSWORD=labinvent | ... | ... |
install/installation.sh
1 | 1 | #!/bin/bash |
2 | 2 | |
3 | 3 | # Mode DEBUG off |
4 | -DEBUG= | |
4 | +DEBUG=false | |
5 | 5 | # Mode DEBUG on |
6 | -#DEBUG=ON | |
6 | +#DEBUG=true | |
7 | + | |
8 | +$DEBUG && echo "DEBUG MODE IS ON" | |
9 | +$DEBUG || echo "DEBUG MODE IS OFF" | |
10 | + | |
11 | + | |
7 | 12 | |
8 | 13 | # Chemins vers fichier de conf |
9 | 14 | cakephp_app_path=./ |
... | ... | @@ -11,19 +16,29 @@ config_path=$cakephp_app_path/config |
11 | 16 | config_file=$config_path/app.php |
12 | 17 | default_config_file=$config_path/app.default.php |
13 | 18 | |
14 | -# Des variables d'environnement peuvent etre passées via le script ENV.sh (s'il existe) : | |
15 | -[ -f ENV.sh ] && source ENV.sh | |
16 | -# Si le script ENV.sh existe | |
17 | -# (ou bien que les variables ont été positionnées dans l'environnement, via Docker par exemple), | |
18 | -# l'installation se fait silencieusement (mode batch). | |
19 | -# Sinon, l'installation passe en mode interactif (questions/réponses) | |
20 | -# Par défaut, mode INTERACTIF (mode BATCH est off) : | |
21 | -INTER=ON | |
22 | -# Si la variable MODE_BATCH est positionnée à 'ON' => on passe en mode BATCH : | |
23 | -[ $MODE_BATCH == ON ] && INTER= | |
24 | -# (Attention, ça marche pas avec simple crochet mais seulement avec double crochets !!!!!!!!) | |
25 | -#[[ -z $MODE_BATCH ]] && INTER=ON | |
26 | 19 | |
20 | +# Par defaut, on considere qu'on utilise docker | |
21 | +WITH_DOCKER=true | |
22 | + | |
23 | +# On teste si les variables d'environnement sont définies | |
24 | +if [ -z $MYSQL_HOST ] ; then | |
25 | + # Variables d'env PAS définies, ce qui veut dire qu'on n'utilise pas docker | |
26 | + WITH_DOCKER=false | |
27 | + # Si le fichier ENV.sh existe, on le lit pour positionner les variables d'env | |
28 | + [ -f ENV.sh ] && source ENV.sh | |
29 | +fi | |
30 | + | |
31 | +# Par defaut, on considere qu'on est en mode interactif => execution en posant des questions à l'utilisateur | |
32 | +# (Si INTER=false dans l'environnement, on passe en mode batch) | |
33 | +#echo "inter is $INTER" | |
34 | +[ -z $INTER ] && INTER=true | |
35 | + | |
36 | +#echo "inter is $INTER" | |
37 | +$INTER && echo "Execution en mode INTERACTIF" | |
38 | +$INTER || echo "Execution en mode BATCH" | |
39 | + | |
40 | +#echo $MYSQL_HOST | |
41 | +#$WITH_DOCKER && echo "DOCKER on" | |
27 | 42 | |
28 | 43 | |
29 | 44 | # Le script peut-il continuer et créer les fichiers qui lui sont nécessaires ? |
... | ... | @@ -66,13 +81,13 @@ echo |
66 | 81 | cat ../LICENSE |
67 | 82 | echo |
68 | 83 | echo "J'accepte ces conditions d'utilisation avant de continuer (o/n) :" |
69 | -if [[ $INTER ]] ; then | |
84 | +if $INTER ; then | |
70 | 85 | read rep |
71 | - [[ -z $rep ]] && rep="n" | |
86 | + [ -z $rep ] && rep="n" | |
72 | 87 | [[ $rep != "o" && $rep != "O" ]] && exit |
73 | 88 | fi |
74 | 89 | echo "Conditions d'utilisation acceptées" |
75 | -if [[ $INTER ]] ; then | |
90 | +if $INTER ; then | |
76 | 91 | echo "[Taper une touche pour continuer]" |
77 | 92 | read rep |
78 | 93 | fi |
... | ... | @@ -305,8 +320,8 @@ chmod +x VERSION |
305 | 320 | |
306 | 321 | # Ceci est préconisé par CakePhp (voir https://book.cakephp.org/3/fr/installation.html#permissions) |
307 | 322 | # (désactivé par défaut) |
308 | -DO_SETFACL=0 | |
309 | -if [ $DO_SETFACL -eq 1 ]; then | |
323 | +DO_SETFACL=false | |
324 | +if $DO_SETFACL ; then | |
310 | 325 | echo |
311 | 326 | echo "Mise à jour des droits des dossiers tmp et logs (doivent etre accessibles a la fois à la console et au serveur web)" |
312 | 327 | echo |
... | ... | @@ -384,7 +399,7 @@ cp $default_config_file $config_file |
384 | 399 | |
385 | 400 | # - Set database ip |
386 | 401 | echo |
387 | -if [[ $INTER ]] ; then | |
402 | +if $INTER ; then | |
388 | 403 | echo "Entrez le nom ou l'adresse du serveur MySQL hebergeant la base de donnees (defaut=localhost) :" |
389 | 404 | read bddIp |
390 | 405 | [[ -z $bddIp ]] && bddIp="localhost" |
... | ... | @@ -396,12 +411,12 @@ echo "==> Adresse du serveur MySql = $bddIp" |
396 | 411 | # PROD BD |
397 | 412 | sed -e "s/\*d\*\/'host' => 'localhost'/\*d\*\/'host' => '$bddIp'/" -i $config_file |
398 | 413 | # TEST BD |
399 | -sed -e "s/\*t\*\/'host' => 'localhost'/\*d\*\/'host' => '$bddIp'/" -i $config_file | |
414 | +sed -e "s/\*t\*\/'host' => 'localhost'/\*t\*\/'host' => '$bddIp'/" -i $config_file | |
400 | 415 | |
401 | 416 | |
402 | 417 | # - Nom de la BD prod |
403 | 418 | echo |
404 | -if [[ $INTER ]] ; then | |
419 | +if $INTER ; then | |
405 | 420 | default="labinvent" |
406 | 421 | echo "Entrez le nom de la BD à utiliser pour l'inventaire (defaut=$default) :" |
407 | 422 | read answer ; [[ -z $answer ]] && answer=$default |
... | ... | @@ -415,7 +430,7 @@ sed -e "s/'database' => 'database'/'database' => '$bddName'/" -i $config_file |
415 | 430 | |
416 | 431 | # - Nom de la BD test |
417 | 432 | echo |
418 | -if [[ $INTER ]] ; then | |
433 | +if $INTER ; then | |
419 | 434 | #default="test_labinvent2" |
420 | 435 | #default="test_labinvent" |
421 | 436 | default=test_${bddName:0:12} |
... | ... | @@ -433,32 +448,32 @@ sed -e "s/'database' => 'test_database'/'database' => '$bddName_test'/" -i $conf |
433 | 448 | |
434 | 449 | # - Accès root à Mysql o/n ? |
435 | 450 | echo |
436 | -if [ $INTER ] ; then | |
451 | +if $INTER ; then | |
437 | 452 | # PAS admin mysql |
438 | - MYSQL_ROOT_LOGIN=OFF | |
453 | + MYSQL_ROOT_LOGIN=false | |
439 | 454 | echo "Etes-vous administrateur du serveur BD MySql (vous avez un login root) (defaut=o) [o/n] ?" |
440 | 455 | read rep |
441 | 456 | if [ -z $rep ] || [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then |
442 | - MYSQL_ROOT_LOGIN=ON # admin mysql | |
457 | + MYSQL_ROOT_LOGIN=true # admin mysql | |
443 | 458 | fi |
444 | 459 | fi |
445 | -if [ $MYSQL_ROOT_LOGIN != OFF ] ; then | |
460 | +if [ $MYSQL_ROOT_LOGIN != false ] ; then | |
446 | 461 | echo "==> Administrateur de MySql" |
447 | 462 | else |
448 | 463 | # PAS admin mysql |
449 | 464 | echo "==> PAS administrateur de MySql" |
450 | 465 | echo "==> La BD '$bddName' doit donc être déjà créée (ainsi que la BD de test) et vous avez un login pour y accéder (sinon, inutile de continuer)" |
451 | - [ $INTER ] && (echo "Taper une touche pour continuer..." ; read) | |
466 | + $INTER && (echo "Taper une touche pour continuer..." ; read) | |
452 | 467 | fi |
453 | -[ $DEBUG ] && echo "MYSQL_ROOT_LOGIN == $MYSQL_ROOT_LOGIN"; | |
468 | +$DEBUG && echo "MYSQL_ROOT_LOGIN == $MYSQL_ROOT_LOGIN"; | |
454 | 469 | |
455 | 470 | |
456 | 471 | # - Si admin mysql, entrer le login et pass root (et demander si on doit RE-créer la BD ou pas) |
457 | 472 | ##if [ $BD_NOT_YET_CREATED -eq 1 ] ; then |
458 | -if [ $MYSQL_ROOT_LOGIN != OFF ] ; then | |
473 | +if [ $MYSQL_ROOT_LOGIN != false ] ; then | |
459 | 474 | echo |
460 | 475 | |
461 | - if [ $INTER ] ; then | |
476 | + if $INTER ; then | |
462 | 477 | #echo "La BD n'existe pas encore, il faut donc la créer, et pour cela j'ai besoin du login admin de mysql" |
463 | 478 | echo "- entrez le login privilegie (admin) vous donnant le droit de CREER des bases de donnees" |
464 | 479 | echo "(ce login ne sera utilisé qu'une seule fois, pour la creation des bases prod et test, et de l'utilisateur)" |
... | ... | @@ -474,7 +489,7 @@ if [ $MYSQL_ROOT_LOGIN != OFF ] ; then |
474 | 489 | fi |
475 | 490 | echo "==> SGBD admin login = $bddAdminName" |
476 | 491 | |
477 | - if [ $INTER ] ; then | |
492 | + if $INTER ; then | |
478 | 493 | echo |
479 | 494 | echo "- entrez le mot de passe de ce login privilegié :" |
480 | 495 | read -s bddAdminPass |
... | ... | @@ -483,9 +498,9 @@ if [ $MYSQL_ROOT_LOGIN != OFF ] ; then |
483 | 498 | fi |
484 | 499 | |
485 | 500 | # - Supprimer la BD avant de la créer ? |
486 | - DROP_DATABASE=ON # par defaut, oui, on drop la BD | |
501 | + DROP_DATABASE=true # par defaut, oui, on drop la BD | |
487 | 502 | echo |
488 | - if [ $INTER ] ; then | |
503 | + if $INTER ; then | |
489 | 504 | while : ; do |
490 | 505 | echo "Si la BD existe déjà, elle sera supprimée avant d'être créée à nouveau, OK (defaut=O) (O/N) ?" |
491 | 506 | read rep |
... | ... | @@ -498,12 +513,12 @@ if [ $MYSQL_ROOT_LOGIN != OFF ] ; then |
498 | 513 | if [[ $rep == "O" ]] ; then |
499 | 514 | echo "==> La BD sera détruite puis re-créée" |
500 | 515 | else |
501 | - # OFF (pas drop) | |
502 | - DROP_DATABASE= | |
516 | + # (pas drop) | |
517 | + DROP_DATABASE=false | |
503 | 518 | echo "==> Si la BD existe déjà, elle ne sera pas supprimée" |
504 | 519 | echo "ATTENTION: la re-création des tables risque de ne pas fonctionner... (il vaut mieux supprimer la BD avant)" |
505 | 520 | fi |
506 | - [ $DEBUG ] && echo "DROP_DATABASE == $DROP_DATABASE"; | |
521 | + $DEBUG && echo "DROP_DATABASE == $DROP_DATABASE"; | |
507 | 522 | |
508 | 523 | fi # mysql admin |
509 | 524 | |
... | ... | @@ -513,7 +528,7 @@ fi # mysql admin |
513 | 528 | |
514 | 529 | # -- login |
515 | 530 | echo |
516 | -if [ $INTER ] ; then | |
531 | +if $INTER ; then | |
517 | 532 | default=${bddName:0:12}_user |
518 | 533 | echo "Entrez le login et le mot de passe du proprietaire de la BD $bddName (à créer ou déjà créé)" |
519 | 534 | echo "(login utilisé par le logiciel pour accéder et modifier la BD de production ainsi que la BD de test)" |
... | ... | @@ -530,7 +545,7 @@ sed -e "s/'username' => 'test_db_username'/'username' => '$bddUserName'/" -i $co |
530 | 545 | |
531 | 546 | # -- pass |
532 | 547 | echo |
533 | -if [ $INTER ] ; then | |
548 | +if $INTER ; then | |
534 | 549 | echo "- mot de passe :" |
535 | 550 | read -s bddUserPass |
536 | 551 | else |
... | ... | @@ -569,7 +584,7 @@ echo |
569 | 584 | # - Test de l'existence ou non de la BD |
570 | 585 | # |
571 | 586 | # BD existe déjà |
572 | - BD_NOT_YET_CREATED= | |
587 | + BD_NOT_YET_CREATED=false | |
573 | 588 | #output=$(mysql -u$bddUserName -p"$bddUserPass" -h $bddIp -s -N -e "SELECT schema_name FROM information_schema.schemata WHERE schema_name = '${db}'") |
574 | 589 | #output=$(mysqlshow -u$bddUserName -p"$bddUserPass" -h$bddIp | grep $bddName) |
575 | 590 | # 1) on teste si on peut se connecter à la BD avec le login utilisateur (envoi vers /dev/null pour éviter msg erreur) |
... | ... | @@ -578,20 +593,24 @@ echo |
578 | 593 | # (on peut car maintenant on est sûr qu'on n'aura pas de message d'erreur) |
579 | 594 | if [[ $? -eq 0 ]] ; then |
580 | 595 | output=$(mysql -u$bddUserName -p"$bddUserPass" -h $bddIp -s -N -e "SELECT schema_name FROM information_schema.schemata WHERE schema_name = '${bddName}'") |
581 | - [[ -z "${output}" ]] && BD_NOT_YET_CREATED=ON # BD n'existe pas encore | |
596 | + [[ -z "${output}" ]] && BD_NOT_YET_CREATED=true # BD n'existe pas encore | |
582 | 597 | else |
583 | - BD_NOT_YET_CREATED=ON # BD n'existe pas encore | |
598 | + BD_NOT_YET_CREATED=true # BD n'existe pas encore | |
584 | 599 | fi |
585 | 600 | |
586 | 601 | # Si l'utilisateur n'est pas admin mysql et qu'on n'arrive pas à accéder à la BD ==> STOP ici |
587 | - if [[ ! $MYSQL_ROOT_LOGIN && $BD_NOT_YET_CREATED ]] ; then | |
602 | + #if [[ ! $MYSQL_ROOT_LOGIN && $BD_NOT_YET_CREATED ]] ; then | |
603 | + #echo $MYSQL_ROOT_LOGIN | |
604 | + #echo $BD_NOT_YET_CREATED | |
605 | + | |
606 | + if [[ $MYSQL_ROOT_LOGIN == false && $BD_NOT_YET_CREATED == true ]] ; then | |
588 | 607 | echo "La BD $bddName (ou bien votre login) n'existe pas (et vous ne pouvez pas la créer) !" |
589 | 608 | echo "==> *** ABORT ***" |
590 | 609 | echo |
591 | 610 | exit 1 |
592 | 611 | fi |
593 | 612 | |
594 | - [ $DEBUG ] && echo "BD_NOT_YET_CREATED == $BD_NOT_YET_CREATED"; | |
613 | + $DEBUG && echo "BD_NOT_YET_CREATED == $BD_NOT_YET_CREATED"; | |
595 | 614 | |
596 | 615 | # (re-)initialisation du fichier build.sql |
597 | 616 | echo "" > ./build.sql |
... | ... | @@ -600,15 +619,18 @@ echo |
600 | 619 | # (1) DATABASES et USERS : 1ères instructions de création de la BD et users (prod et test) |
601 | 620 | ###if [ $bddAdminName == 'bd_existante' ] ; then |
602 | 621 | #if [ $BD_NOT_YET_CREATED -eq 1 ] ; then |
603 | - if [ $MYSQL_ROOT_LOGIN ] ; then | |
622 | + if [ $MYSQL_ROOT_LOGIN != false ] ; then | |
604 | 623 | #cat ./labinvent_2.1_22-05-17.sql > ./build.sql |
605 | 624 | #cat ./labinvent_last_version_from_existing_bd.sql > ./build.sql |
606 | 625 | # On crée un fichier vide |
607 | 626 | ###echo "" > ./build.sql |
608 | - ###else | |
609 | 627 | #cat ./create_database.sql > ./build.sql |
610 | 628 | cat ./install/DB1_create_databases_prod_and_test_and_users.sql >> ./build.sql |
611 | - # - Set login & mdp utlisateur application (pour les BD prod et test) | |
629 | + # - Set host, login & mdp utlisateur application (pour les BD prod et test) | |
630 | + mydb_host=$bddIp | |
631 | + $WITH_DOCKER && mydb_host='%' | |
632 | + sed -e "s/'_mydb_host_'/'$mydb_host'/" -i ./build.sql | |
633 | + #sed -e "s/'_mydb_host_'/'$bddIp'/" -i ./build.sql | |
612 | 634 | #sed -e "s/'mydb'/'$bddUserName'/" -i ./build.sql |
613 | 635 | #sed -e "s/'mydb_user'/'$bddUserName'/" -i ./build.sql |
614 | 636 | sed -e "s/'_mydb_user_'/'$bddUserName'/" -i ./build.sql |
... | ... | @@ -617,7 +639,7 @@ echo |
617 | 639 | #sed -e "s/'mydb_pass'/'$bddUserPass'/" -i ./build.sql |
618 | 640 | sed -e "s/'_mydb_pass_'/'$bddUserPass'/" -i ./build.sql |
619 | 641 | # Si on ne veut pas supprimer la BD avant de la créer, mettre le "drop database" en commentaire |
620 | - [[ ! $DROP_DATABASE ]] && sed -e "s/DROP DATABASE IF EXISTS/-- DROP DATABASE IF EXISTS/" -i ./build.sql | |
642 | + $DROP_DATABASE || sed -e "s/DROP DATABASE IF EXISTS/-- DROP DATABASE IF EXISTS/" -i ./build.sql | |
621 | 643 | fi |
622 | 644 | cat ./install/DB1b_use_prod_database.sql >> ./build.sql |
623 | 645 | # - Remplacement de "_mydb_" par "$bddName" (pour BD prod et test) |
... | ... | @@ -649,18 +671,18 @@ echo |
649 | 671 | |
650 | 672 | |
651 | 673 | # (5) (optionnel) DATA optionnelles (IRAP only) : ajout données IRAP (catégories, groupes) |
652 | - if [ $INTER ] ; then | |
653 | - INSTALL_DATA_IRAP=OFF | |
674 | + if $INTER ; then | |
675 | + INSTALL_DATA_IRAP=false | |
654 | 676 | echo |
655 | 677 | echo "Voulez-vous installer les donnees propres a l'IRAP (categories, groupes metiers, groupes thematiques) dans la base de donnees ?" |
656 | 678 | echo "(OPTIONNEL, c'est juste pour que vous ayez déjà quelques données pour commencer, que vous pourrez remplacer progressivement)" |
657 | 679 | echo "(defaut = o) [o/n] ?" |
658 | 680 | read rep |
659 | 681 | if [ -z $rep ] || [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then |
660 | - INSTALL_DATA_IRAP=ON | |
682 | + INSTALL_DATA_IRAP=true | |
661 | 683 | fi |
662 | 684 | fi |
663 | - if [ $INSTALL_DATA_IRAP == ON ] ; then | |
685 | + if $INSTALL_DATA_IRAP ; then | |
664 | 686 | echo "==> Les données IRAP seront installées dans la BDD" |
665 | 687 | #cat ./Insert_TablesFunct.sql >> ./build.sql |
666 | 688 | #cat ./insert_tables_default_data_IRAP.sql >> ./build.sql |
... | ... | @@ -719,13 +741,13 @@ echo |
719 | 741 | ##if [[ $BDD == "O" ]] ; then |
720 | 742 | echo |
721 | 743 | echo "Je vais maintenant procéder à la création des tables de la BD '$bddName'" |
722 | - [ $MYSQL_ROOT_LOGIN != OFF ] && echo "(avec création de la BD si elle n'existe pas déjà)" | |
744 | + [ $MYSQL_ROOT_LOGIN != false ] && echo "(avec création de la BD si elle n'existe pas déjà)" | |
723 | 745 | echo "Votre serveur Mysql doit etre demarré" |
724 | 746 | echo "La commande 'mysql' doit aussi etre accessible:" |
725 | 747 | res=`which mysql` |
726 | 748 | [[ -z "$res" ]] && exit 1 |
727 | 749 | echo "==> ok" |
728 | - if [ $INTER ] ; then | |
750 | + if $INTER ; then | |
729 | 751 | echo "...[taper une touche pour continuer]..." |
730 | 752 | read rep |
731 | 753 | fi |
... | ... | @@ -735,7 +757,7 @@ echo |
735 | 757 | ##if [ $bddAdminName == 'bd_existante' ] ; then |
736 | 758 | #if [ $BD_NOT_YET_CREATED -eq 1 ] ; then |
737 | 759 | # mysql admin ==> on utilise le login root |
738 | - if [ $MYSQL_ROOT_LOGIN != OFF ] ; then | |
760 | + if [ $MYSQL_ROOT_LOGIN != false ] ; then | |
739 | 761 | #echo "mysql --user=$bddAdminName --password="$bddAdminPass" -h $bddIp < ./build.sql" |
740 | 762 | mysql --user=$bddAdminName --password="$bddAdminPass" -h $bddIp < ./build.sql |
741 | 763 | # PAS admin ==> on utilise le login de l'utilisateur labinvent |
... | ... | @@ -764,7 +786,7 @@ chmod +x PANIC_MODE |
764 | 786 | |
765 | 787 | |
766 | 788 | # On supprime le fichier temporaire ../src/Application.php |
767 | -rm src/Application.php | |
789 | +mv src/Application.php src/Application.php.OLD | |
768 | 790 | |
769 | 791 | |
770 | 792 | ... | ... |