Comment implémenter une application gérant plusieurs section
Exemple d’application multi-section :
Application multi-section
Résultat souhaité
- BDD : ecdc_france
- URL : https://ecdc-france.preprod.voozanoo.net
- BDD : ecdc_espana
- URL : https://ecdc-espana.preprod.voozanoo.net
- BDD : ecdc_belgique
- URL : https://ecdc-belgique.preprod.voozanoo.net
- BDD : ecdc_italia
- URL : https://ecdc-italia.preprod.voozanoo.net
Le fichier “application.ini”
Warning:
Les noms des sections du .ini sont doivent absolument suivre la règle suivante :
[{Section connue du voozanoo.ini}-{[a-z0-9_]*} : {section_surchargé}]
Exemple :
[production-doccu_ile_de_france : production]
[{Section connue du voozanoo.ini}-{[a-z0-9_]*} : {section_surchargé}]
{section_surchargé}
: une section dite “simple” (staging
, production
, autre_section_sans_tiret
)Exemple :
[production-doccu_ile_de_france : production]
[staging-france : staging]
resources.db.params.username = "ecdc_france"
resources.db.params.password = "{Mdp à mettre directement sur le serveur}"
resources.db.params.dbname = "ecdc_france"
voozanoo.host = "ecdc-france.preprod.voozanoo.net"
voozanoo.log.conf.stream.writerParams.stream = "/space/log/ecdc-france.preprod.voozanoo.net/php/voozanoo.log"
[staging-espana : staging]
resources.db.params.username = "ecdc_espana"
resources.db.params.password = "{Mdp à mettre directement sur le serveur}"
resources.db.params.dbname = "ecdc_espana"
voozanoo.host = "ecdc-espana.preprod.voozanoo.net"
voozanoo.log.conf.stream.writerParams.stream = "/space/log/ecdc-espana.preprod.voozanoo.net/php/voozanoo.log"
[staging-belgique : staging]
resources.db.params.username = "ecdc_belgique"
resources.db.params.password = "{Mdp à mettre directement sur le serveur}"
resources.db.params.dbname = "ecdc_belgique"
voozanoo.host = "ecdc-belgique.preprod.voozanoo.net"
voozanoo.log.conf.stream.writerParams.stream = "/space/log/ecdc-belgique.preprod.voozanoo.net/php/voozanoo.log"
[staging-italia : staging]
resources.db.params.username = "ecdc_italia"
resources.db.params.password = "{Mdp à mettre directement sur le serveur}"
resources.db.params.dbname = "ecdc_italia"
voozanoo.host = "ecdc-italia.preprod.voozanoo.net"
voozanoo.log.conf.stream.writerParams.stream = "/space/log/ecdc-italia.preprod.voozanoo.net/php/voozanoo.log"
Les commandes
Note: Le script
ecdep up
gère les applications multi-section depuis le 24/09/2019.(Sur un serveur de préproduction)
sudo ecdep up epi-ecdc-1.01
Le script ecdep up
se charge de créer :
- Les vhost :
- https://ecdc-france.preprod.voozanoo.net
- https://ecdc-espana.preprod.voozanoo.net
- https://ecdc-belgique.preprod.voozanoo.net
- https://ecdc-italia.preprod.voozanoo.net
- Les fichiers de logs :
- /space/log/ecdc-france.preprod.voozanoo.net/php/voozanoo.log
- /space/log/ecdc-france.preprod.voozanoo.net/php/errors.log
- /space/log/ecdc-espana.preprod.voozanoo.net/php/voozanoo.log
- /space/log/ecdc-espana.preprod.voozanoo.net/php/errors.log
- /space/log/ecdc-belgique.preprod.voozanoo.net/php/voozanoo.log
- /space/log/ecdc-belgique.preprod.voozanoo.net/php/errors.log
- /space/log/ecdc-italia.preprod.voozanoo.net/php/voozanoo.log
- /space/log/ecdc-italia.preprod.voozanoo.net/php/errors.log
- Les dossiers de stockage :
- /space/applisdata/ecdc/chunk/
- /space/applisdata/ecdc/storage/
- /space/applistmp/ecdc/
Le fichier “voo4_cli.php”
L’idéal est de récupérer/garder celui du Voo4Skeleton : voo4_cli.php
Le noyau Voozanoo4 a été modifié pour que chaque appel CLI passe le paramètre “env={environnement_de_l’appelant}”.
Ce paramètre est ensuite récupéré par ce nouveau voo4_cli.php pour conserver le contexte.