« Premiers pas - v4 » et « Usage des scripts - v4 » : différence entre les pages

De Documentation e-comBox
(Différence entre les pages)
Aucun résumé des modifications
 
 
Ligne 1 : Ligne 1 :
[[Fichier:MenuGaucheV4.png|droite|692x692px]]
{{note|De nombreux scripts pour gérer l'application sont fournis dans les '''versions 4.1 et 4.2'''. Une brève description pour chacun d'entre eux est donné ci-dessous.|reminder}}
L’application e-comBox est une application Web qui permet de lancer et gérer un certain nombre de sites basés sur les applications suivantes :
* Prestashop :
** une instance vierge,
** une instance personnalisée (site Art Concept Stories) ;
* WordPress avec WooCommerce :
** une instance vierge,
** une instance personnalisée (site Art Concept Stories) ;
* WordPress sans WooCommerce, mais avec le add-in H5P ;
* Mautic ;
* Suite CRM ;
* Odoo dans sa version 12,13 et 14 :
** une instance vierge de chaque version,
** six instances personnalisées (SweetyBio, AdA, generik, pépinières, primeur et surplomb) ;
* Kanboard (gestion de projet) :
** une instance vierge,
** une instance personnalisée (BdDev) ;
* HumHub (réseau social).
{{doc-important|Depuis la version 3, il est également possible de créer des sites à partir d'une image personnalisée.}}
<br>
{{note | L'installation de l'e-comBox est documentée pour [[Installation_sur_Linux_-_v4|Linux]]. Il n'est pas possible d'installer la version 4 sur Windows ou MacOS. | reminder}}


{{note|La version 4 nécessite de se connecter via un compte "Prof". Voir [[Gestion_Utilisateurs|ici]] le mode opératoire.}}
{{Note/fr|type=warn|Il est rappelé qu'à partir de la version des scripts 4.1.1 (20/04/2023), tous les "B" majuscule dans les noms de dossier basculent en "b" minuscule, ainsi le dossier d'installation /opt/e-comBox devient /opt/e-combox. C'est ce dernier chemin qui est utilisé ici. Si vous avez une version plus ancienne, le dossier d'installation est /opt/e-comBox.}}


== L'interface de l'e-comBox ==
== Gestion des certificats : manage_certificats.sh ==
L'interface de l'e-comBox est composée d'un menu à gauche, d'un bandeau avec :


* un raccourci vers la page d'aide,
{{note | Ce script permet la création et la mise à jour du certificat pour l'accès à l'interface de l'e-comBox et l'ajout de certificats pour Portainer. Des options doivent être passées en ligne de commande (voir Usage ci-après).}}                                                                                   
* un bouton pour accéder à la page de modification de mot de passe,
<pre>
* un bouton pour se déconnecter,
Usage: bash /opt/e-combox/manage_certificats.sh -c|u [-m "valeur"] [-a] [-h]
  -c Création et mise en place d'un certificat Lets'encrypt
  -u Mise à jour du certificat à partir des paramètres du fichier param.conf
  -m Adresse de courriel  [-m "adresse courriel"], non obligatoire
  -a Installation de la mise à jour automatique du certificat lorsque celui-ci est expiré. Cette option n'a d'utilité qu'une seule fois
  -p    Ajout d'un certificat au format PEM dans Portainer
  -h Détail des options
</pre>
'''L'option "-c"''' automatise la création et l'installation d'un certificat Let's Encrypt directement utilisable pour l'application.


et d'une zone principale qui s'adapte en fonction de l'élément de menu sélectionné :
{{note|Votre instance doit être joignable sur le port 80.  Attention, vous n'avez pas à installer de serveur Web, le script se charge de tout. L'instance doit juste être en mesure de répondre à une requête de type http://votre_nom_de_domaine (le nom de domaine est la valeur renseigné dans la paramètre DOMAINE de param.conf). Une redirection peut donc être nécessaire.|warn}}
[[Fichier:Accueil v4.png|centré|900x900px]]
Le tableau de bord permet d'avoir une vue d'ensemble sur :
* la version de l'e-comBox ;
* le nombre de sites créés ainsi que leur état (démarré ou stoppé) ;
* l'instance de l'e-comBox ;
* le nom de l'utilisateur connecté ;
* les ressources utilisées (mémoire, espace de stockage et CPU) en cliquant sur le lien correspondant.
[[Fichier:Dashboard v4.png|centré|900x900px]]


== Gestion des sites ==
'''Le script :'''
Le menu gauche liste l'ensemble des types de sites disponibles : Prestashop, WooCommerce, Blog, Mautic, Suite CRM, Odoo, Kanboard et HumHub.
* crée le certificat en utilisant le paramètre "DOMAINE" du param.conf et de manière optionnelle le paramètre MAIL (qui peut être soit renseigné dans param.conf soit directement ajouté via l'option "-m" de la ligne de commande) ;
Un clic sur chacun affiche la page de gestion correspondante.
* copie les fichiers dans /opt/e-combox/letsencrypt/live/<domaine> ;
* renseigne les paramètres correspondants de param.conf :
** CHEMIN_CERT="/opt/e-combox/letsencrypt/live/<domaine>/fullchain.pem"
** CHEMIN_KEY="/opt/e-combox/letsencrypt/live/<domaine>/privkey.pem"
** MAIL (si un mail est passé en ligne de commande) ;
* installe le certificat au niveau de l'application.


=== Créer un site ===
'''L'option "-a"''' (que l'on peut activer ultérieurement) met en place une tâche automatique qui vérifie quotidiennement si le certificat a expiré et le met à jour le cas échéant.


Pour créer un site, il suffit de saisir un complément de nom pour le site puis cliquer sur le bouton ''créer'' (ou valider directement avec la touche "entrée" du clavier) :
'''L'option "-u"''' :


* met à jour le certificat de l'e-comBox si des valeurs à CHEMIN_CERT et à CHEMIN_KEY sont modifiées, ajoutées ou supprimées ;
* met à jour le certificat de l'e-comBox (si ce type de certificat auto-signé est utilisé) mais aussi d'autres certificats nécessaires qui s'appuient sur les variables CODE_PAYS, NOM_PAYS, NOM_REGION, NOM_ORGANISATION. Ainsi, si au moins une de ces 4 paramètres sont modifiés, il est nécessaire de mettre à jour les certificats.


[[File:DocUtilisateur-images-image22.png|1000px|centre]]
'''L'option "-p"''' ajoute, si besoin, un certificat (donné en option) sur Portainer.


[[File:DocUtilisateur-images-image16.png|400px|droite]]
== Réinitialisation de l'application : reinitialise_application.sh ==
Au clic du bouton ''créer'' (ou après avoir validé via la touche "entrée"), vous pouvez choisir de créer plusieurs sites.
{{note|Ce script permet de réinitialiser l'application.  Des options doivent être passées en ligne de commande (voir Usage ci-après).|}}{{Note/fr|type=error|Attention, tous les sites seront perdus.}}<pre>
<br>
Usage: bash /opt/e-combox/reinitialise_application.sh -a -f [-n] [-v "valeur"] [-i "valeur"] [-d "valeur"] [-r "valeur"] [-c "valeur"] [-p "valeur"] [-h]
<br>
  -a Suppression de tous les conteneurs, volumes, réseaux et images.
Si vous laissez par défaut, un seul site sera créé et le nom du site sera de la forme : '''''type de site-complément de nom'''''.
  -f    Force la suppression même si l'accès à Portainer n'est plus possible.
Par exemple ici le nom sera '''''blog-01'''''.
  -n Réinstallation de l'application.
  -v Version de l'application à installer si vous voulez changer de version [-v "version"].
  -i Adresse IP privée nom de domaine correspondant à une adresse IP privée  [-i "@IP_PRIVEE" | -i "nom_domaine"].
  -d Adresse IP publique nom de domaine correspondant à une adresse IP publique  [-d "@IP_PUBLIQUE" | -d "nom_domaine"].
        Pour supprimer une valeur existante -d "".
  -r Passage par un Reverse-Proxy externe ou non  [-r "O" | -r "N"].
  -c Chemin en cas de Reverse-Proxy externe [-c "chemin"].
        Pour supprimer un chemin existant -c "".
  -p Mot de passe de Portainer [-p "mot_de_passe"].
        Les caractères suivants " $ ` \ & | ! [space] ne peuvent pas être utilisés en ligne de commande
  -h Détail des options.
</pre>


{{note|Le complément de nom peut contenir des chiffres et/ou des lettres minuscules. Les accents et caractères spéciaux ne sont pas autorisés.}}
'''L'option "-a"''' est obligatoire, elle force la suppression des conteneurs, volumes, réseaux et images.
<br>
'''L'option "-f"''' peut être utilisée si l'accès à Portainer n'est plus possible.
Après validation, un témoin d'activité apparaît. Lorsque le site est prêt un message (sous forme de ''pop-up'') l'indique.
[[File:DocUtilisateur-images-image17.png|300px|centre]]
<br>
{{note|Le temps de création du site dépend de la qualité de la connexion internet et des ressources matérielles de la machine sur laquelle e-comBox est installée sachant que la première création d'un site est toujours beaucoup plus longue que les suivantes car l'image (qui est ensuite stockée sur la machine) est téléchargée.}}


Une fois la création terminée, le site est automatiquement démarré et la "carte" correspondante apparaît dans la zone ''Gérer les sites à partir d'un modèle fourni'' :
L'ajout de '''l'option "-n"''' permet de réinstaller l'application en changeant éventuellement la version via l'option "-v".
<br>


[[File:Images13.png|900x900px|centre]]
Sans l'option "-n", l'application n'est pas réinstallée mais est prête à l'être, l'ancien fichier param.conf sera sauvegardé en param.sauv.conf et un fichier param.conf contenant les valeurs pas défaut sera téléchargé.


Pour créer plusieurs sites automatiquement, il suffit de donner un nom littéral au site et de choisir le nombre de sites que l'on veut créer (un numéro d'ordre s'incrémentera après le nom du site) :
Dans le cadre d'une réinstallation, '''l'option "-p"''' est obligatoire si un mot de passe pour Portainer n'a pas été renseigné dans le param.conf car, lors de la réinitialisation, les anciens identifiants de Portainer ont également été réinitialisés.
[[Fichier:Creation 4 blogs.png|centré|900x900px]]
{{note | Le mot de passe ne peut pas contenir les caractères " et $.| warn}}
Quatre sites de noms "blog-eleve1" à "blog-eleve4" seront créés :
Les '''autres options''' servent à la réinstallation de l'application pour alimenter le fichier param.conf, options identiques à celles utilisables lors de la configuration de l'application via le script configure_application.sh.
[[Fichier:Creation plusieurs sites.png|centré|900x900px]]


== Suppression de l'application : delete_application.sh ==
{{note | Ce script permet de supprimer l'application e-comBox. Une option -e ou -a doit obligatoirement être passée en ligne de commande (voir Usage ci-après).}}
<pre>
Usage: bash /opt/e-combox/delete_application.sh -e | -a -f [-h]
  -e Suppression de l'application uniquement
  -a Suppression de l'application, docker et docker-compose
  -f    Force la suppression même si l'accès à Portainer n'est plus possible
  -h Détail des options
</pre>


'''Pour les sites Prestashop et WooCommerce''', il est possible de créer 2 types de sites :
'''L'option "-e"''' supprime uniquement l'application.
* '''vierge''' : site par défaut proposé par Prestashop et WooCommerce ;
{{note | Attention, le dossier /opt/e-comBox sera supprimé ainsi que les logs.|warn}}
* '''Art Concepts Stories''' : e-boutique opérationnelle (300 références, 150 clients, 130 commandes).


Il est donc nécessaire de choisir un type avant de cliquer sur le bouton ''créer'' :
[[Fichier:Creation presta.png|centré|900x900px]]
'''De même pour les sites Odoo''', il est possible de choisir entre les versions 12,13, 14 ou des images personnalisées :
[[Fichier:Creation odoo.png|centré|900x900px]]
=== Démarrer/arrêter un site ===


Un site démarré est affiché de la façon suivante :
'''L'option "-a"''' supprime également Docker et Docker Compose.
[[Fichier:Site demarre.png|centré|600x600px]]
Un clic sur le bouton bleu (interrupteur) permet alors d'arrêter le site. Un site stoppé est affiché de la façon suivante :
[[File:Image2.png|600px|centre]]
Un nouveau clic sur l'interrupteur permet de le démarrer.<br>


{{Warning/fr|msg=Le démarrage d'un site peut prendre quelques minutes car une mise à jour est réalisée automatiquement afin de prendre en compte la modification éventuelle de l'environnement d'e-comBox (en cas de changement de réseau par exemple).}}
== Mise à jour de l'application : update_ecb.sh ==
{{Note/fr|Lorsqu'une nouvelle image de l'e-comBox est disponible, ce script met à jour l'application sans que l'on soit obligé de dérouler le script configure_application.sh.}}
Il est exécutable sans option.


=== Accéder à un site ===
== Gestion des images : manage_images.sh ==
{{note|Ce script permet de télécharger, supprimer et mettre à jour les images de l'e-comBox sans être obligé de reconfigurer l'application. Des options doivent être renseignées en ligne de commande (voir Usage ci-après).}}


Pour accéder à un site, ce dernier doit être démarré.
<pre>
Usage: bash /opt/e-combox/manage_images.sh -d|u|t [-a] [-p] [-w] [-b] [-m] [-s] [-o] [-k] [-r] [-i \"nom_image\"] [-f \"nom_image\" | -f \"type_image\"] [- h]"
  -d Suppression des images non associées à un site en cours d'exécution [-d]
  -u Mise à jour des images. Les sites doivent être redémarrés pour la mise à jour soit effective [-u]
  -a L'action porte sur toutes les images existantes.
  -p Suppression ou mise à jour des images Prestashop [-p]
  -w Suppression ou mise à jour des images WooCommerce [-w]
  -b Suppression ou mise à jour des images Blog [-b]
  -m Suppression ou mise à jour des images Mautic [-m]
  -s Suppression ou mise à jour des images Suite CRM [-s]
  -o Suppression ou mise à jour des images Odoo [-o]
  -k Suppression ou mise à jour des images Kanboard [-k]
  -r Suppression ou mise à jour des images HumHub [-r]
  -i Suppression ou mise à jour d'une image spécifique [-i "nom_image"]
  -f Mise à jour d'une image utilitaire [-f "nom_image" | -f "type_image"]
  -t    Téléchargement de toutes les images des sites (utile pour accélérer la création du premier site correspondant aux images) [-t]"
  -h Détail des options
</pre>'''L'opération de suppression d'images''' peut être utile '''si vous devez gagner de la place'''. Certaines images prennent de la place sur le disque dur sans être utilisées. C'est une opération qui peut être salutaire et qui est sans risque, il n'est pas possible de supprimer des images associées à des sites en cours d'exécution. '''Le seul inconvénient est que le démarrage des sites seront peu plus lents car il faudra télécharger de nouveau les images correspondantes.'''


Un lien cliquable ''Accéder au site'' (redirigeant vers l'URL du site dans un nouvel onglet du navigateur) est affiché pour chaque site démarré.
'''À contrario, si vous n'avez pas besoin de gain de place,''' il peut être intéressant de télécharger toutes les images (option "-t") avant la première utilisation de l'instance, cela accélérera le lancement du premier site d'un même type.


'''Les URL peuvent être visualisées :'''
'''La mise à jour de l'image''' peut s'avérer nécessaire si celle-ci a été modifiée suite à un bug ou à une faille de sécurité.


* '''Au survol du lien ''Accéder au site'' :'''
== Configuration ou re-configuration de l'intégralité de l'application : configure_application.sh ==
[[Fichier:Affiche URL.png|centré|600x600px]]
{{note|Ce script doit être utilisé pour :
* installer l'application ;
* re-configurer l'application si des éléments importants de l'environnement ont changé (adresse IP, domaine, passage par un Reverse Proxy externe, passage par un proxy).
Il peut être utilisé avec des options facultatives qui remplacent les valeurs du fichier param.conf.
La valeur des principaux paramètres peut être passée directement en ligne de commande (voir Usage ci-après).}}
<pre>
Usage: bash /opt/e-combox/configure_application.sh [-f "valeur"] [-i "valeur"] [-d "valeur"] [-r "valeur"] [-c "valeur"] [-p "valeur"] [-h]
  -f Chemin vers le fichier de paramètres  [-f "/chemin/nom_fichier"]
  -i Adresse IP privée ou nom de domaine correspondant à une adresse IP privée  [-i "@IP_PRIVEE" | -i "nom_domaine"]
  -d Adresse IP publique ou nom de domaine correspondant à une adresse IP publique  [-d @IP_PUBLIQUE | -d nom_domaine]. Pour supprimer une adresse IP publique ou un domaine existant -d ""
  -r Passage par un Reverse-Proxy externe ou non  [-r "O" | -r "N"]
  -c Chemin en cas de Reverse-Proxy externe [-c "chemin"]. Pour supprimer un chemin existant -c ""
  -p Mot de passe de Portainer  [-p "mot_de_passe"]
        Les caractères suivants " $ ` \ & | ! [space] ne passent pas en ligne de commande
  -s Met la variable de suppression des images à "true" le temps d'exécution du script [-s]
  -b Met la variable de suppression des images à "false" le temps d'exécution du script [-n]
  -h Détail des options
</pre>


* '''Au clic sur le bouton ''Afficher les URL'' :'''
{{note | lors d'une reconfiguration, si le fichier param.conf est correctement renseigné et que vous n'avez pas changé le mot de passe de Portainer, le script configure_application.sh peut être lancé sans option. | reminder }}
[[Fichier:Btn affiche URL.png|centré|600x600px]]
{{Done|Le bouton Afficher les URL n'apparaît qu'à partir du moment où au moins un site est démarré.}} {{note|Les URL sont au format ''http://<hôte ou adresse IP d'ecomBox>:<port du proxy>/<nom-du-site>/<chemin-backoffice>''.
Par exemple, dans l'image ci-dessus, l'hôte est "llb.ac-corse.fr", le port du proxy est "11252" et le chemin vers le backoffice est "/wp-admin". '''Seuls les noms des sites changent (blog-01, blog-02, blog-03 et blog-04)'''.}}


=== Exporter la liste des URL au format PDF ===
Voir également la partie sur [[Installation_sur_Linux_-_v4#Installation_de_l'e-comBox_4.1|l'installation de l'application]].


Pour chaque type de site (Prestashop, WooCommerce, Blog, etc.) il est possible d'afficher en un clic la liste des URL pour l'ensemble des sites démarrés. Pour cela, il suffit de cliquer sur le bouton ''Afficher les URL'' :
== Configuration de l'authentification openID Connect : configure_oauth.sh (version 4.2) ==
[[Fichier:Export pdf.png|centré|400x400px]]
{{Note|Ce script permet de configurer l'authentification OpenId Connect ou de revenir à une authentification interne. Des options doivent être passées en ligne de commande (voir Usage ci-après). Un serveur d'authentification SSO compatible (comme keycloak) doit être installé au préalable.
Le bouton ''Exporter'' permet de générer et d'ouvrir automatiquement un fichier PDF contenant cette liste :
À noter que l'authentification peut directement être configurer à l'installation ou à la reconfiguration de l'application.}}
[[Fichier:Pdf.png|centré|600x600px]]
<pre>
{{Note/fr|Les URL sur ce fichier PDF sont cliquables.}}


=== Supprimer un site ===
Usage: bash /opt/e-combox/configure_oauth.sh -f [-h]-a|i [-h] [-s] [-j \"CLIENT_ID\"] [-k \"CLIENT_SECRET\"] [-l \"AUTHORIZATION_URL=\"] [-m \"ACCESS_TOKEN_URL=\"] [-n \"RESOURCE_URL=\"] [-o \"LOGOUT_URLL=\"] [-p \"USER_IDENTIFIER=\"] [-q \"SCOPES\"] [-r \"/CHEMIN/CERT_OAUTH\"]
    -a      Activation de l'authentification 0Auth. Dans ce cas les autres paramètres doivent être renseignés soit dans param.conf, soit passés en option à l'exécution du script."
    -i      Activation de l'authentification Interne"
    -s      Activation du SS0"
    -j      Identifiant public de l'application OAuth [-j \"CLIENT_ID\"]"
    -k      Client secret  [-k \"CLIENT_SECRET\"]"
    -l      URL pour s'authentifier auprès du fournisseur OAuth [-l \"AUTHORIZATION_URL=\"]"
    -m      URL pour récupérer le token d'accès [-m \"ACCESS_TOKEN_URL=\"]"
    -n      URL pour récupérer des informations sur l'utilisateur authentifié [-n \"RESOURCE_URL=\"]"
    -o      URL pour rediriger l'utilisateur vers le fournisseur OAuth afin de déconnecter l'utilisateur de la session [-o \"LOGOUT_URL=\"]"
    -p      Identifiant qui sera utilisé par Portainer pour créer un compte pour l'utilisateur authentifié [-p \"USER_IDENTIFIER=\"]"
    -q      Étendues requises par le fournisseur OAuth pour récupérer des informations sur l'utilisateur authentifié [-q \"SCOPES\"]"
    -r      Fichier certificat du fournisseur 0Auth (en cas de besoin)  [-r \"/CHEMIN/CERT_OAUTH\"]"
    -h Détail des options
</pre>


Pour supprimer un site, il faut cliquer sur le bouton en haut à droite de la "carte" correspondante :
'''L'option -a''' active l'authentification "OAuth". Elle a pour effet de mettre le paramètre OAUTH_ENABLE à "true". '''À ce moment là, les paramètres qui suivent dans le param.conf sont pris en compte''' (sinon, ils ne le sont pas). Si les paramètres sont absents de param.conf, il est nécessaire de les passer en ligne de commande.
[[Fichier:Del site.png|centré|600x600px]]
{{Warning/fr|msg={{color|red|La suppression est irréversible et les données associées au site seront supprimées !}}}}
'''Par sécurité, une confirmation est demandée''' : en cliquant sur ''Valider'', après un petit temps de chargement (l'animation ''Loading'' est affichée), le site est supprimé.
[[Fichier:Popup del.png|gauche|vignette]]
<br>Ce ''pop-up'' vous en averti en s'affichant en haut à droite de la page.<br>{{Note/fr|La carte associée disparaît alors de l'e-comBox.}}
<br clear=all>


=== Dupliquer un site ===
'''L'interface de connexion de l'e-comBox''' est modifiée pour prendre en compte la nouvelle authentification :
[[Fichier:Interface-ecombox-oauth.png|centré|750x750px]]
{{Note/fr|inline=1|type=warn|Seul l'utilisateur "admin" peut maintenant se connecter en interne.}}
'''Un exemple avec les éléments correspondants dans le fichier param.conf est fourni ci-dessous :'''
<pre>
# Ajout du mode d'authentification pour les comptes non-admin basé sur le protocole OAuth (false par défaut).
# Si false, il n'est pas tenu compte des paramètres qui suivent.
# Si true, vous devez fournir la valeur des paramètres qui suivent.
# Veuillez-vous référer à votre fournisseur OAuth pour déterminer les bonnes valeurs.
OAUTH_ENABLE="true"


== Gestion avancée ==
# true ou false
# Lors de l'utilisation de SSO (variable à "true"), le fournisseur OAuth n'est pas obligé de demander des informations d'identification.
SSO_ENABLE="true"


La gestion avancée permet :
# Identifiant public de l'application OAuth.
CLIENT_ID="portainerar"


* d'accéder aux sources des sites Prestashop et Odoo ;
# Client Secret
* d'accéder aux bases de données des sites Prestashop, WooCommerce et Blog ;
CLIENT_SECRET="vlaOB3mFrBz6yWgbw5w3NIjNmrBiPbxm"
* d'administrer directement les conteneurs : {{color|red|'''à utiliser avec prudence'''}}.


=== Accès SFTP ===
# URL utilisée pour s'authentifier auprès du fournisseur OAuth.
# L'utilisateur sera redirigé vers la page d'authentification du fournisseur d'identité.
AUTHORIZATION_URL="https://keycloak.cub.corsica:8443/realms/cub/protocol/openid-connect/auth"


L'accès SFTP permet d'accéder aux sources des sites Prestashop et Odoo.
# URL utilisée par Portainer pour échanger un code d'authentification OAuth valide contre un token d'accès.
[[Fichier:Accueil sftp.png|centré|900x900px]]
ACCESS_TOKEN_URL="https://keycloak.cub.corsica:8443/realms/cub/protocol/openid-connect/token"
{{note|Sur cette page ne sont affichés que les sites Prestashop et Odoo démarrés car pour activer le SFTP, le site associé doit obligatoirement être démarré.}}


Lorsque le SFTP est activé pour un site l'affichage est du type :
# URL utilisée par Portainer pour récupérer des informations sur l'utilisateur authentifié.
[[Fichier:Sftp active.png|centré|600x600px]]
RESOURCE_URL="https://keycloak.cub.corsica:8443/realms/cub/protocol/openid-connect/userinfo"
{{Note/fr|Une fois le SFTP activé, il est possible d'accéder aux sources dans un nouvel onglet à partir de l'URL  de l'hôte fournie afin de faire d'éventuelles modifications (l'identifiant de connexion est ecb, un mot de passe aléatoire est généré. Ces deux informations figurent sur la carte).}}
[[Fichier:Connexion sftp.png|centré|600x600px]]
Voici par exemple un extrait du contenu des "addons" d'Odoo :
[[Fichier:Addons odoo.png|centré|900x900px]]
<br>Accès phpMyAdmin


L'activation de l'interface web ''phpMyAdmin'' pour un site Prestashop, WooCommerce ou Blog permet l'administration de la base de données associée via le navigateur.
# URL utilisée par Portainer pour rediriger l'utilisateur vers le fournisseur OAuth afin de déconnecter l'utilisateur de la session du fournisseur d'identité.
[[Fichier:Accueil pma.png|centré|900x900px]]
LOGOUT_URL="https://keycloak.cub.corsica:8443/realms/cub/protocol/openid-connect/logout"
{{note | Sur cette page ne sont affichés que les sites Prestashop, WooCommerce et Blog démarrés car pour activer phpMyAdmin, le site associé doit obligatoirement être démarré.}}


Lorsque phpMyAdmin est activé pour un site l'affichage est du type :
# Identifiant qui sera utilisé par Portainer pour créer un compte pour l'utilisateur authentifié.  
[[Fichier:Pma active.png|centré|600x600px]]
# Extrait du serveur de ressources spécifié via le champ URL de la ressource.
{{Note/fr|Une fois phpMyadmin activé, il sera possible d'accéder via le navigateur à la base de données du site.}}
USER_IDENTIFIER="email"


Par exemple ici, pour le site ''blog-eleve2,'' phpMyAdmin sera accessible à l'adresse https://172.31.40.117:8800/pma-blogeleve2/''.''
# Étendues requises par le fournisseur OAuth pour récupérer des informations sur l'utilisateur authentifié.
SCOPES="openid email"


=== Accès admin ===
# Fichier certificat du fournisseur 0Auth avec le chemin complet /chemin/fichier.pem.
# Ce denier doit être intégré à Portainer
CERT_OAUTH="/etc/ssl/letsencrypt/keycloak.cub.corsica.pem"
</pre>{{Note/fr|type=reminder|Le dernier paramètre (CERT_OAUTH) permet d'ajouter le certificat du fournisseur OAuth à Portainer. Il n'est pas forcément indispensable. Cela dépend de la configuration de votre serveur.}}


Il s'agit d'un lien vers l'interface d'administration de Portainer. Ce lien n'est visible que pour les utilisateurs disposant des droits ''admin''.
[[Fichier:Accueil portainer.png|centré|900x900px]]
{{Warning/fr|msg=Cette interface doit être utilisée avec une grande prudence car il est possible ici de supprimer les containers et les données d'un site sans aucune demande de confirmation ! L'application ''e-comBox'' peut également être supprimée !}}


== Caractéristiques de chaque type d'application ==
Ce qui donne la '''configuration de Portainer''' ci-dessous :
[[Fichier:Conf1 portainer-oauth.png|centré|900x900px]]


=== Les identifiants d'accès ===
'''Automatic user provisioning'''  et '''Default team''' sont des paramètres mis par défaut de manière à ce que les utilisateurs qui se connectent soient automatiquement ajoutés sur Portainer dans le groupe "Profs".
{{Note | Si vous avez déjà des utilisateurs internes et que vous voulez que les nouveaux utilisateurs ne viennent pas s'ajouter mais les remplacent (de manière à ne pas avoir de manipulations complémentaires à faire sur les propriétés des sites), il suffit que les premiers aient les mêmes identifiants (à modifier donc éventuellement au préalable). | warn}}


Les identifiants d'accès sont dans un fichier qui est installé par les scripts dans le dossier ''/opt/e-comBox.''
[[Fichier:Conf2 portainer-oauth.png|centré|vignette|900x900px]]


=== Généralités sur les différentes applications ===
== Nettoyage des volumes : nettoyage_volumes.sh (version 4.2) ==
{{note|Ce script supprime les volumes qui ne sont associés à aucun site.}}Il arrive que des volumes "orphelins" soient créés. Par exemple, si un site en cours de création n'aboutit pas pour une raison ou une autre. En dehors du fait que les volumes prennent de la place inutilement, cela peut à terme causer un dysfonctionnement lors, par exemple, de la création d'un site du même nom que le site qui n'a pas aboutit.


{| class="wikitable"
{{note|type=reminder|Ce script est automatiquement lancé à la reconfiguration de l'application.}}.
|-
! Application !! Version !! Commentaires
|-
| Prestashop
| 1.7.6.5
| 2 versions : une e-boutique opérationnelle ''Art Concept Stories'' (300 références, 150 clients, 130 commandes) et une boutique avec la version ''démo'' proposée par Prestashop.
|-
| wooCommerce
| 5.4.2
| 2 versions : une e-boutique opérationnelle ''Art Concept Stories'' (300 références, 150 clients) et une boutique "squelette" totalement vierge.
|-
| Blog
| 5.4.2
| Le module H5p est installé et activé.
|-
| Mautic
| 3
| Mautic nécessite une configuration : voir ci-dessous le mode opératoire avec les éléments nécessaires.
|-
| Suite CRM
| 7.10.11
|
|-
| Odoo
| 12 et 13
| Odoo n'intègre aucun site mais comprend les modules les plus utilisés. D'autres modules peuvent être intégrés facilement via le SFTP.
|-
| Kanboard
| 1.2.10
|Voir ci-dessous pour basculer l'interface graphique en français.
|-
| Humhub
| 1.3.12
|
|}


== Réinitialisation du mot de passe de Portainer : reset_pass_portainer.sh ==
{{Note|Ce script permet de réinitialiser, en cas de perte, le mot de passe de Portainer. L'option "-f" doit obligatoirement être passée en ligne de commande (voir Usage ci-après).}}
<pre>
Usage: /opt/e-combox/reset_pass_portainer.sh -f [-h]
-f Réinitialisation du mot de passe de Portainer
-h Détail des options
</pre>


==== Configuration de Mautic ====
{{Note | Vous devez ensuite vous connecter sur Portainer pour modifier le mot de passe fourni afin que ce dernier soit compatible avec l'application. <nowiki>Les caractères suivants " $ ` \ & | ! [space] ne peuvent pas être utilisés en ligne de commande. Si vous saisissez votre mot de passe dans le fichier param.conf, seuls les caractères spéciaux \ " et ` sont interdits</nowiki>. | warn}}
[[File:Image26.png|600px|droite]]
Mautic doit être configuré avec les éléments suivants :
<br>
<br>
{{note/fr}} Database Password : le mot de passe est donné sur l'interface au moment de la création du site.
<br>
[[Fichier:Mautic.png|gauche|600x600px]]
<br clear=all>


Pour Basculer Mautic en français via l'interface graphique :
== Sauvegarde et Restauration ==
* roue dentée/configuration/system setting ;
=== sauv_sites.sh (modifié dans la version 4.2) ===
* puis ''Apply'' ou ''Save &amp; Close'' ;
{{note|Ce script permet de sauvegarder l'intégralité des sites dans une archive '''".tar.gz"'''. Des options peuvent être renseignées en ligne de commande (voir Usage ci-après). Si aucune option n'est passée, une boite de dialogue permet de préciser l'espace de stockage et le nom de l'archive.}}
* se reconnecter.  


{{note/fr}} Il est possible de changer d'autres paramètres comme ''Default timezone''.
'''Fonctionnalités apportées par la version 4.2 :'''
* possibilité de dérouler le script sans interaction ;
* la sauvegarde effectuée permet la restauration de l'intégralité des sites mais également d'un seul site.


{{Warning/fr}} Les paramètres de ''Mautic AdresseIP:port'' ne change jamais dans  ''Configuration/paramètres généraux'' (même en cas de changement d'adresse IP) mais cela n'entraîne pas d'effets de bords et l'application continue de fonctionner normalement.
<pre>
Usage: Usage: bash /opt/e-combox/sauv_sites.sh [-a \"nom_archive.tar.gz\"] [-h].
  -a    Chemin vers l'archive de sauvegarde [-a \"nom_archive.tar.gz\"].
  -h Détail des options
</pre>'''


====Basculer Kanboard en français====
{{note | Le nom de l'archive de sauvegarde doit forcément se terminer en .tar.gz.| warn}}


Sur l'interface graphique :
La sauvegarde est composée de l'archive de sauvegarde à laquelle est associé un dossier du nom de l'archive sans le ".tar.gz" qui contient lui-même des fichiers ".json" dans lesquels figurent des informations sur chaque site. Ces fichiers sont nécessaires dans le cadre de la restauration d'un seul site.
# Aller dans la rubrique Application settings.
# Modifier la langue, le fuseau horaire et le format des dates.
# Enregistrer.


== Aide ==
=== restaure_sites.sh (modifié dans la version 4.2) ===
En cas de besoin les liens suivants sont mis à disposition dans la page ''Aide'' :
{{note|Ce script permet de restaurer, à partir d'une archive '''".tar.gz"''' et des dossiers associés, l'intégralité des sites ou un seul site. Des options peuvent être renseignées en ligne de commande (voir Usage ci-après). Si l'option -r n'est pas passée, c'est l'intégralité des sites qui sont restaurés et une boite de dialogue permet de préciser l'espace de stockage et le nom de l'archive (au cas où l'option -a ne le précise pas).}}
* [[E-comBox:Main_Page|documentation en ligne]] ;
 
* [[Trousse_de_premiers_secours|trousse de premiers secours]] ;
 
* [[FAQ - v4|FAQ]] ;
'''Fonctionnalités apportées par la version 4.2 :'''
* [[Contactez_le_support|plateforme de support]] pour déclarer un incident avec un mode opératoire.
* possibilité de dérouler le script sans interaction ;
* possibilité de ne restaurer qu'un seul site.
 
<pre>
Usage: Usage: bash /opt/e-combox/restaure_sites.sh -f|r \"nom du site\" [-h] [-s] [-a \"chemin_complet_archive_sauvegarde.tar.gz\"]"
  -f    Restauration de l'intégralité des sites.
  -r    Restauration d'un seul site [-r \"nom du site\"].
  -a    Chemin vers l'archive de sauvegarde [-a \"chemin_complet_archive_sauvegarde.tar.gz\"]". Si le chemin est fourni le script se déroulera sans interactivité. 
  -h Détail des options
</pre>'''
 
=== restaure_v3.sh ===
{{note|Ce script permet de restaurer, à partir d'une archive '''".tar.gz"''' la version v3 de l'e-comBox ainsi que les sites qui y étaient ratachés.}}
 
Le script ne prend aucun paramètre en ligne de commande.
 
== Utilisation d'Ansible (en cours de rédaction...) ==

Version du 31 juillet 2023 à 23:07

De nombreux scripts pour gérer l'application sont fournis dans les versions 4.1 et 4.2. Une brève description pour chacun d'entre eux est donné ci-dessous.
Il est rappelé qu'à partir de la version des scripts 4.1.1 (20/04/2023), tous les "B" majuscule dans les noms de dossier basculent en "b" minuscule, ainsi le dossier d'installation /opt/e-comBox devient /opt/e-combox. C'est ce dernier chemin qui est utilisé ici. Si vous avez une version plus ancienne, le dossier d'installation est /opt/e-comBox.

Gestion des certificats : manage_certificats.sh

Ce script permet la création et la mise à jour du certificat pour l'accès à l'interface de l'e-comBox et l'ajout de certificats pour Portainer. Des options doivent être passées en ligne de commande (voir Usage ci-après).
Usage: bash /opt/e-combox/manage_certificats.sh -c|u [-m "valeur"] [-a] [-h]
  -c	Création et mise en place d'un certificat Lets'encrypt
  -u	Mise à jour du certificat à partir des paramètres du fichier param.conf
  -m	Adresse de courriel  [-m "adresse courriel"], non obligatoire
  -a	Installation de la mise à jour automatique du certificat lorsque celui-ci est expiré. Cette option n'a d'utilité qu'une seule fois
  -p    Ajout d'un certificat au format PEM dans Portainer
  -h	Détail des options

L'option "-c" automatise la création et l'installation d'un certificat Let's Encrypt directement utilisable pour l'application.

Votre instance doit être joignable sur le port 80. Attention, vous n'avez pas à installer de serveur Web, le script se charge de tout. L'instance doit juste être en mesure de répondre à une requête de type http://votre_nom_de_domaine (où le nom de domaine est la valeur renseigné dans la paramètre DOMAINE de param.conf). Une redirection peut donc être nécessaire.

Le script :

  • crée le certificat en utilisant le paramètre "DOMAINE" du param.conf et de manière optionnelle le paramètre MAIL (qui peut être soit renseigné dans param.conf soit directement ajouté via l'option "-m" de la ligne de commande) ;
  • copie les fichiers dans /opt/e-combox/letsencrypt/live/<domaine> ;
  • renseigne les paramètres correspondants de param.conf :
    • CHEMIN_CERT="/opt/e-combox/letsencrypt/live/<domaine>/fullchain.pem"
    • CHEMIN_KEY="/opt/e-combox/letsencrypt/live/<domaine>/privkey.pem"
    • MAIL (si un mail est passé en ligne de commande) ;
  • installe le certificat au niveau de l'application.

L'option "-a" (que l'on peut activer ultérieurement) met en place une tâche automatique qui vérifie quotidiennement si le certificat a expiré et le met à jour le cas échéant.

L'option "-u" :

  • met à jour le certificat de l'e-comBox si des valeurs à CHEMIN_CERT et à CHEMIN_KEY sont modifiées, ajoutées ou supprimées ;
  • met à jour le certificat de l'e-comBox (si ce type de certificat auto-signé est utilisé) mais aussi d'autres certificats nécessaires qui s'appuient sur les variables CODE_PAYS, NOM_PAYS, NOM_REGION, NOM_ORGANISATION. Ainsi, si au moins une de ces 4 paramètres sont modifiés, il est nécessaire de mettre à jour les certificats.

L'option "-p" ajoute, si besoin, un certificat (donné en option) sur Portainer.

Réinitialisation de l'application : reinitialise_application.sh

Ce script permet de réinitialiser l'application. Des options doivent être passées en ligne de commande (voir Usage ci-après).
Attention, tous les sites seront perdus.
Usage: bash /opt/e-combox/reinitialise_application.sh -a -f [-n] [-v "valeur"] [-i "valeur"] [-d "valeur"] [-r "valeur"] [-c "valeur"] [-p "valeur"] [-h]
  -a	Suppression de tous les conteneurs, volumes, réseaux et images.
  -f    Force la suppression même si l'accès à Portainer n'est plus possible.
  -n	Réinstallation de l'application.
  -v	Version de l'application à installer si vous voulez changer de version [-v "version"].
  -i	Adresse IP privée nom de domaine correspondant à une adresse IP privée  [-i "@IP_PRIVEE" | -i "nom_domaine"].
  -d	Adresse IP publique nom de domaine correspondant à une adresse IP publique  [-d "@IP_PUBLIQUE" | -d "nom_domaine"]. 
        Pour supprimer une valeur existante -d "".
  -r	Passage par un Reverse-Proxy externe ou non  [-r "O" | -r "N"].
  -c	Chemin en cas de Reverse-Proxy externe [-c "chemin"]. 
        Pour supprimer un chemin existant -c "".
  -p	Mot de passe de Portainer [-p "mot_de_passe"].
        Les caractères suivants " $ ` \ & | ! [space] ne peuvent pas être utilisés en ligne de commande
  -h	Détail des options.

L'option "-a" est obligatoire, elle force la suppression des conteneurs, volumes, réseaux et images. L'option "-f" peut être utilisée si l'accès à Portainer n'est plus possible.

L'ajout de l'option "-n" permet de réinstaller l'application en changeant éventuellement la version via l'option "-v".

Sans l'option "-n", l'application n'est pas réinstallée mais est prête à l'être, l'ancien fichier param.conf sera sauvegardé en param.sauv.conf et un fichier param.conf contenant les valeurs pas défaut sera téléchargé.

Dans le cadre d'une réinstallation, l'option "-p" est obligatoire si un mot de passe pour Portainer n'a pas été renseigné dans le param.conf car, lors de la réinitialisation, les anciens identifiants de Portainer ont également été réinitialisés.

Le mot de passe ne peut pas contenir les caractères " et $.

Les autres options servent à la réinstallation de l'application pour alimenter le fichier param.conf, options identiques à celles utilisables lors de la configuration de l'application via le script configure_application.sh.

Suppression de l'application : delete_application.sh

Ce script permet de supprimer l'application e-comBox. Une option -e ou -a doit obligatoirement être passée en ligne de commande (voir Usage ci-après).
Usage: bash /opt/e-combox/delete_application.sh -e | -a -f [-h]
  -e	Suppression de l'application uniquement
  -a	Suppression de l'application, docker et docker-compose
  -f    Force la suppression même si l'accès à Portainer n'est plus possible
  -h	Détail des options

L'option "-e" supprime uniquement l'application.

Attention, le dossier /opt/e-comBox sera supprimé ainsi que les logs.


L'option "-a" supprime également Docker et Docker Compose.

Mise à jour de l'application : update_ecb.sh

Lorsqu'une nouvelle image de l'e-comBox est disponible, ce script met à jour l'application sans que l'on soit obligé de dérouler le script configure_application.sh.

Il est exécutable sans option.

Gestion des images : manage_images.sh

Ce script permet de télécharger, supprimer et mettre à jour les images de l'e-comBox sans être obligé de reconfigurer l'application. Des options doivent être renseignées en ligne de commande (voir Usage ci-après).
Usage: bash /opt/e-combox/manage_images.sh -d|u|t [-a] [-p] [-w] [-b] [-m] [-s] [-o] [-k] [-r] [-i \"nom_image\"] [-f \"nom_image\" | -f \"type_image\"] [- h]"
  -d	Suppression des images non associées à un site en cours d'exécution [-d]
  -u	Mise à jour des images. Les sites doivent être redémarrés pour la mise à jour soit effective [-u]
  -a	L'action porte sur toutes les images existantes.
  -p	Suppression ou mise à jour des images Prestashop [-p]
  -w	Suppression ou mise à jour des images WooCommerce [-w]
  -b	Suppression ou mise à jour des images Blog [-b]
  -m	Suppression ou mise à jour des images Mautic [-m]
  -s	Suppression ou mise à jour des images Suite CRM [-s]
  -o	Suppression ou mise à jour des images Odoo [-o]
  -k	Suppression ou mise à jour des images Kanboard [-k]
  -r	Suppression ou mise à jour des images HumHub [-r]
  -i	Suppression ou mise à jour d'une image spécifique [-i "nom_image"]
  -f	Mise à jour d'une image utilitaire [-f "nom_image" | -f "type_image"]
  -t    Téléchargement de toutes les images des sites (utile pour accélérer la création du premier site correspondant aux images) [-t]"
  -h	Détail des options

L'opération de suppression d'images peut être utile si vous devez gagner de la place. Certaines images prennent de la place sur le disque dur sans être utilisées. C'est une opération qui peut être salutaire et qui est sans risque, il n'est pas possible de supprimer des images associées à des sites en cours d'exécution. Le seul inconvénient est que le démarrage des sites seront peu plus lents car il faudra télécharger de nouveau les images correspondantes.

À contrario, si vous n'avez pas besoin de gain de place, il peut être intéressant de télécharger toutes les images (option "-t") avant la première utilisation de l'instance, cela accélérera le lancement du premier site d'un même type.

La mise à jour de l'image peut s'avérer nécessaire si celle-ci a été modifiée suite à un bug ou à une faille de sécurité.

Configuration ou re-configuration de l'intégralité de l'application : configure_application.sh

Ce script doit être utilisé pour :
  • installer l'application ;
  • re-configurer l'application si des éléments importants de l'environnement ont changé (adresse IP, domaine, passage par un Reverse Proxy externe, passage par un proxy).

Il peut être utilisé avec des options facultatives qui remplacent les valeurs du fichier param.conf.

La valeur des principaux paramètres peut être passée directement en ligne de commande (voir Usage ci-après).
Usage: bash /opt/e-combox/configure_application.sh [-f "valeur"] [-i "valeur"] [-d "valeur"] [-r "valeur"] [-c "valeur"] [-p "valeur"] [-h]
  -f	Chemin vers le fichier de paramètres  [-f "/chemin/nom_fichier"]
  -i	Adresse IP privée ou nom de domaine correspondant à une adresse IP privée  [-i "@IP_PRIVEE" | -i "nom_domaine"]
  -d	Adresse IP publique ou nom de domaine correspondant à une adresse IP publique  [-d @IP_PUBLIQUE | -d nom_domaine]. Pour supprimer une adresse IP publique ou un domaine existant -d ""
  -r	Passage par un Reverse-Proxy externe ou non  [-r "O" | -r "N"]
  -c	Chemin en cas de Reverse-Proxy externe [-c "chemin"]. Pour supprimer un chemin existant -c ""
  -p	Mot de passe de Portainer  [-p "mot_de_passe"]
        Les caractères suivants " $ ` \ & | ! [space] ne passent pas en ligne de commande
  -s	Met la variable de suppression des images à "true" le temps d'exécution du script [-s]
  -b	Met la variable de suppression des images à "false" le temps d'exécution du script [-n]
  -h	Détail des options
lors d'une reconfiguration, si le fichier param.conf est correctement renseigné et que vous n'avez pas changé le mot de passe de Portainer, le script configure_application.sh peut être lancé sans option.

Voir également la partie sur l'installation de l'application.

Configuration de l'authentification openID Connect : configure_oauth.sh (version 4.2)

Ce script permet de configurer l'authentification OpenId Connect ou de revenir à une authentification interne. Des options doivent être passées en ligne de commande (voir Usage ci-après). Un serveur d'authentification SSO compatible (comme keycloak) doit être installé au préalable. À noter que l'authentification peut directement être configurer à l'installation ou à la reconfiguration de l'application.

Usage: bash /opt/e-combox/configure_oauth.sh -f [-h]-a|i [-h] [-s] [-j \"CLIENT_ID\"] [-k \"CLIENT_SECRET\"] [-l \"AUTHORIZATION_URL=\"] [-m \"ACCESS_TOKEN_URL=\"] [-n \"RESOURCE_URL=\"] [-o \"LOGOUT_URLL=\"] [-p \"USER_IDENTIFIER=\"] [-q \"SCOPES\"] [-r \"/CHEMIN/CERT_OAUTH\"]
    -a      Activation de l'authentification 0Auth. Dans ce cas les autres paramètres doivent être renseignés soit dans param.conf, soit passés en option à l'exécution du script."
    -i      Activation de l'authentification Interne"
    -s      Activation du SS0"
    -j      Identifiant public de l'application OAuth [-j \"CLIENT_ID\"]"
    -k      Client secret  [-k \"CLIENT_SECRET\"]"
    -l      URL pour s'authentifier auprès du fournisseur OAuth [-l \"AUTHORIZATION_URL=\"]"
    -m      URL pour récupérer le token d'accès [-m \"ACCESS_TOKEN_URL=\"]"
    -n      URL pour récupérer des informations sur l'utilisateur authentifié [-n \"RESOURCE_URL=\"]"
    -o      URL pour rediriger l'utilisateur vers le fournisseur OAuth afin de déconnecter l'utilisateur de la session [-o \"LOGOUT_URL=\"]"
    -p      Identifiant qui sera utilisé par Portainer pour créer un compte pour l'utilisateur authentifié [-p \"USER_IDENTIFIER=\"]"
    -q      Étendues requises par le fournisseur OAuth pour récupérer des informations sur l'utilisateur authentifié [-q \"SCOPES\"]"
    -r      Fichier certificat du fournisseur 0Auth (en cas de besoin)  [-r \"/CHEMIN/CERT_OAUTH\"]"
    -h		Détail des options

L'option -a active l'authentification "OAuth". Elle a pour effet de mettre le paramètre OAUTH_ENABLE à "true". À ce moment là, les paramètres qui suivent dans le param.conf sont pris en compte (sinon, ils ne le sont pas). Si les paramètres sont absents de param.conf, il est nécessaire de les passer en ligne de commande.

L'interface de connexion de l'e-comBox est modifiée pour prendre en compte la nouvelle authentification :

Interface-ecombox-oauth.png
Seul l'utilisateur "admin" peut maintenant se connecter en interne.

Un exemple avec les éléments correspondants dans le fichier param.conf est fourni ci-dessous :

# Ajout du mode d'authentification pour les comptes non-admin basé sur le protocole OAuth (false par défaut).
# Si false, il n'est pas tenu compte des paramètres qui suivent.
# Si true, vous devez fournir la valeur des paramètres qui suivent.
# Veuillez-vous référer à votre fournisseur OAuth pour déterminer les bonnes valeurs.
OAUTH_ENABLE="true"

# true ou false
# Lors de l'utilisation de SSO (variable à "true"), le fournisseur OAuth n'est pas obligé de demander des informations d'identification.
SSO_ENABLE="true"

# Identifiant public de l'application OAuth.
CLIENT_ID="portainerar"

# Client Secret
CLIENT_SECRET="vlaOB3mFrBz6yWgbw5w3NIjNmrBiPbxm"

# URL utilisée pour s'authentifier auprès du fournisseur OAuth.
# L'utilisateur sera redirigé vers la page d'authentification du fournisseur d'identité.
AUTHORIZATION_URL="https://keycloak.cub.corsica:8443/realms/cub/protocol/openid-connect/auth"

# URL utilisée par Portainer pour échanger un code d'authentification OAuth valide contre un token d'accès.
ACCESS_TOKEN_URL="https://keycloak.cub.corsica:8443/realms/cub/protocol/openid-connect/token"

# URL utilisée par Portainer pour récupérer des informations sur l'utilisateur authentifié.
RESOURCE_URL="https://keycloak.cub.corsica:8443/realms/cub/protocol/openid-connect/userinfo"

# URL utilisée par Portainer pour rediriger l'utilisateur vers le fournisseur OAuth afin de déconnecter l'utilisateur de la session du fournisseur d'identité.
LOGOUT_URL="https://keycloak.cub.corsica:8443/realms/cub/protocol/openid-connect/logout"

# Identifiant qui sera utilisé par Portainer pour créer un compte pour l'utilisateur authentifié. 
# Extrait du serveur de ressources spécifié via le champ URL de la ressource.
USER_IDENTIFIER="email"

# Étendues requises par le fournisseur OAuth pour récupérer des informations sur l'utilisateur authentifié.
SCOPES="openid email"

# Fichier certificat du fournisseur 0Auth avec le chemin complet /chemin/fichier.pem.
# Ce denier doit être intégré à Portainer
CERT_OAUTH="/etc/ssl/letsencrypt/keycloak.cub.corsica.pem"
Le dernier paramètre (CERT_OAUTH) permet d'ajouter le certificat du fournisseur OAuth à Portainer. Il n'est pas forcément indispensable. Cela dépend de la configuration de votre serveur.


Ce qui donne la configuration de Portainer ci-dessous :

Conf1 portainer-oauth.png

Automatic user provisioning et Default team sont des paramètres mis par défaut de manière à ce que les utilisateurs qui se connectent soient automatiquement ajoutés sur Portainer dans le groupe "Profs".

Si vous avez déjà des utilisateurs internes et que vous voulez que les nouveaux utilisateurs ne viennent pas s'ajouter mais les remplacent (de manière à ne pas avoir de manipulations complémentaires à faire sur les propriétés des sites), il suffit que les premiers aient les mêmes identifiants (à modifier donc éventuellement au préalable).
Conf2 portainer-oauth.png

Nettoyage des volumes : nettoyage_volumes.sh (version 4.2)

Ce script supprime les volumes qui ne sont associés à aucun site.

Il arrive que des volumes "orphelins" soient créés. Par exemple, si un site en cours de création n'aboutit pas pour une raison ou une autre. En dehors du fait que les volumes prennent de la place inutilement, cela peut à terme causer un dysfonctionnement lors, par exemple, de la création d'un site du même nom que le site qui n'a pas aboutit.

Ce script est automatiquement lancé à la reconfiguration de l'application.

.

Réinitialisation du mot de passe de Portainer : reset_pass_portainer.sh

Ce script permet de réinitialiser, en cas de perte, le mot de passe de Portainer. L'option "-f" doit obligatoirement être passée en ligne de commande (voir Usage ci-après).
Usage: /opt/e-combox/reset_pass_portainer.sh -f [-h]
	-f		Réinitialisation du mot de passe de Portainer
	-h		Détail des options
Vous devez ensuite vous connecter sur Portainer pour modifier le mot de passe fourni afin que ce dernier soit compatible avec l'application. Les caractères suivants " $ ` \ & | ! [space] ne peuvent pas être utilisés en ligne de commande. Si vous saisissez votre mot de passe dans le fichier param.conf, seuls les caractères spéciaux \ " et ` sont interdits.

Sauvegarde et Restauration

sauv_sites.sh (modifié dans la version 4.2)

Ce script permet de sauvegarder l'intégralité des sites dans une archive ".tar.gz". Des options peuvent être renseignées en ligne de commande (voir Usage ci-après). Si aucune option n'est passée, une boite de dialogue permet de préciser l'espace de stockage et le nom de l'archive.

Fonctionnalités apportées par la version 4.2 :

  • possibilité de dérouler le script sans interaction ;
  • la sauvegarde effectuée permet la restauration de l'intégralité des sites mais également d'un seul site.
Usage: Usage: bash /opt/e-combox/sauv_sites.sh [-a \"nom_archive.tar.gz\"] [-h].
  -a    Chemin vers l'archive de sauvegarde [-a \"nom_archive.tar.gz\"].
  -h	Détail des options

Le nom de l'archive de sauvegarde doit forcément se terminer en .tar.gz.

La sauvegarde est composée de l'archive de sauvegarde à laquelle est associé un dossier du nom de l'archive sans le ".tar.gz" qui contient lui-même des fichiers ".json" dans lesquels figurent des informations sur chaque site. Ces fichiers sont nécessaires dans le cadre de la restauration d'un seul site.

restaure_sites.sh (modifié dans la version 4.2)

Ce script permet de restaurer, à partir d'une archive ".tar.gz" et des dossiers associés, l'intégralité des sites ou un seul site. Des options peuvent être renseignées en ligne de commande (voir Usage ci-après). Si l'option -r n'est pas passée, c'est l'intégralité des sites qui sont restaurés et une boite de dialogue permet de préciser l'espace de stockage et le nom de l'archive (au cas où l'option -a ne le précise pas).


Fonctionnalités apportées par la version 4.2 :

  • possibilité de dérouler le script sans interaction ;
  • possibilité de ne restaurer qu'un seul site.
Usage: Usage: bash /opt/e-combox/restaure_sites.sh -f|r \"nom du site\" [-h] [-s] [-a \"chemin_complet_archive_sauvegarde.tar.gz\"]"
  -f    Restauration de l'intégralité des sites.
  -r    Restauration d'un seul site [-r \"nom du site\"].
  -a    Chemin vers l'archive de sauvegarde [-a \"chemin_complet_archive_sauvegarde.tar.gz\"]". Si le chemin est fourni le script se déroulera sans interactivité.   
  -h	Détail des options

restaure_v3.sh

Ce script permet de restaurer, à partir d'une archive ".tar.gz" la version v3 de l'e-comBox ainsi que les sites qui y étaient ratachés.

Le script ne prend aucun paramètre en ligne de commande.

Utilisation d'Ansible (en cours de rédaction...)