====== Installation de l'e-comBox ====== * Les scripts utilisés sont disponibles sur le gitlab de la Forge des communs numériques : https://forge.apps.education.fr/e-combox/e-comBox_scriptsLinux. Pour un serveur Linux devant héberger plusieurs sites pour deux classes de 32 élèves, il est conseillé de disposer d'au minimum 16 Go de RAM. ===== Ports utilisés ===== Les ports 8880, 8800 et 5443 sont utilisés par défaut pour l'application elle-même. D'autres ports peuvent être spécifiéslors de l'installation de la e-comBox. * s'il n'y a pas d'utilisation d'un Reverse Proxy externe, par défaut seul le port 8800 est exposé. Ce port peut être fixer à 443 (PORT_RP=443) de manière à ce que l'interface, Portainer et l'ensemble des applications soient accessibles directement (sans précision du port) via https. * S'il y a utilisation d'un Reverse Proxy externe, c'est le port exposé par ce Reverse Proxy qui sera utilisé. Les ports par défaut au niveau de l'application peuvent être laissé tel quel. ===== Version à utiliser ===== version 4.3 ===== Dossier de l'application ===== Création par Docker ou le script d'installation : * du dossier **$USER/.docker** ; * du fichier **/$USER/.docker/config.json"** Les dossiers de l'application : * /opt/e-combox * /opt/ecombox/e-combox\_portainer * /opt/ecombox/e-combox\_reverseproxy ===== Installation : script configure_application.sh===== * installation automatique **obligatoire** * à partir du fichier à partir du fichier **/opt/e-combox/param.conf** * en ligne de commande : * en indiquant un fichier contenant les paramètres * en listant les paramètres Installation via Assible possible 3 démarches possibles : * nouvelle installation : param.conf est téléchargé et rempli avec les options passés en paramètre en ligne de commande * mettre à jour le ficher param.conf et l'utiliser à l'installation avec éventuellement des compléments en ligne de commande * mettre à jour le ficher param.conf et lancer script configure_application.sh sans option Configuration d'une authentification OpenID Connect : * variable de param.conf OAUTH\_ENABLE doit être mis à **true** * renseigner les paramètres indiqués à [[https://wiki-ecombox.btssio.corsica/index.php/Usage_des_scripts_-_v4#Configuration_de_l'authentification_openID_Connect_:_configure_oauth.sh_(version_4.2)|ici]] ==== Récupération du script ==== mkdir /opt/e-combox curl -fsSL https://forge.apps.education.fr/e-combox/e-combox_scriptslinux/raw/4.3/configure_application.sh -o /opt/e-combox/configure_application.sh ==== Script configure_application.sh ==== * télécharge et exécute le script **start\_configure\_application.sh** ; * supprime le script **start\_configure\_application.sh** ; === installation automatique avec le script configure_application.sh=== Le script installe l'e-comBox à partir du fichier /opt/e-combox/param.conf (qui a été enrichi de nouveaux paramètres - voir [[https://wiki-ecombox.btssio.corsica/index.php/Installation_sur_Linux_-_v4#Le_nouveau_fichier_param.conf_(dans_sa_version_4.3)|ici]]) sans interaction avec l'utilisateur. Le script configure_application.sh peut être exécuté : * en mettant en option sur la ligne de commande un fichier contenant les paramètres que l'on veut ajouter et/ou modifier, * directement les différents paramètres (comme le mot de passe de Portainer) ; * sans option sur la ligne de commande si les valeurs des paramètres du fichier param.conf conviennent. L'e-comBox peut être installé via avec un outil de déploiement tel qu'Ansible (des exemples de playbook sont fournis). ==== 1re installation ==== * lancer au minimum comme paramètre le mot de passe le l'@IP privée. Exemple bash /opt/e-combox/configure_application.sh -i "172.xxx.yyy.zzz" -d "nom.domaine" -p "mdp_portainer" ==== Script start_configure_application.sh ==== * Installe l'e-comBox * install curl et de jq * installe Docker et Docker-compose * mot de passe > 12 * instale bind9-dnsutils pour avoir nslookup * définit les ports réseau : * 8888 : interface de l'application * 8800 : accès aux sites * 8880 : accès à l'interface d'administration de Portainer * configure éventuellement le proxy * configure par défaut le réseau d'e-comBox 192.168.97.0/24 * lance le reverseproxy (/opt/e-comBox/ecomBox\_reverseproxy/.env) avec les images library/nginx ; reseaucerta/docker-gen * définit les URL des sites sous la forme : http://@ipecombox:8800/nom\_du\_site * lance le registry : image library/registry avec le nom e-combox\_registry * lance un serveur git : image reseaucerta/git-http-server * installe Portnainer : image reseaucerta/portainer-proxy, portainer/portainer-ce qui est accessible à l'URL http://@IP:8880/portainer * installe et configure e-comBox : image reseaucerta/-combox * télécharge le fichier contenant les identifiants d'accès et les scripts permettant de reconfigurer l'application à /opt/e-comBox/e-comBox_identifiants\_acces\_application.pdf * e-combox accessibel à l'URL http://@ip:8888 * définition du mot de passe du compte admin Log d'installation * commande d'installation root@ecombox:/opt/e-combox# bash configure_application.sh -i 10.xxx.yyy.zzz -d 0999919y.lan -p motdepasseportainer* ********************************************************** INSTALLATION DE L'E-COMBOX 4.3 ET CONFIGURATION DE SON ENVIRONNEMENT ********************************************************** * installation curl * installation Docker Compose * Initialisation des paramètres du fichier param.conf * Création et protection de la clé de chiffrement * Chiffrement du mot de passe de Portainer * Téléchargement et installation de bind9-dnsutils pour disposer de nslookup * installation jq * installation python3-yaml * Création d'un fichier vide config.json * Proxy configuré sur le système... Aucun * Création du réseau 192.168.97.0/24 pour l'application * Configuration du reverse-proy * Téléchargement du compose reverse-proxy * Mise à jour de /opt/e-combox/e-combox_reverseproxy/.env * Lancement du reverse-proxy * Téléchargement de Nginx * Téléchargement de reseaucerta/docker-gen * création volume "e-combox_reverseproxy_nginx-docker-gen-templates" * création Volume "e-combox_reverseproxy_nginx-conf" * création Volume "e-combox_reverseproxy_nginx-html" * création Volume "e-combox_reverseproxy_nginx-ssl" * démarrage Container nginx Started1.2s ✔ Container docker-gen Started0.9s Lancement du reverse-proxy... Succès Création du certificat auto-signé... Fait Certificat auto-signé pour le reverse-proxy... Installé Lancement du registry Certificats pour le registry... À créer Création du certificat pour le push du Registry... Fait Création du certificat pour la récupération des images... Fait Certificats pour le registry... Installés Lancement du registry... En cours Démarrage du registry... Succès Lancement du serveur git Téléchargement de Git... En cours Téléchargement de Git... Fait Démarrage du serveur Git... Succès Lancement de Portainer Téléchargement de Portainer... Fait Lancement de Portainer... Succès Connexion à l'API de Portainer... Succès Configuration d'e-comBox Téléchargement de l'e-comBox... En cours Téléchargement de l'e-comBox... Fait Lancement de l'e-comBox... Succès Mise en place de l'URL d'accès à l'API https://siobox.educ-valadon-limoges.fr:443/portainer/api... Fait Arrêt des stacks démarrés... En cours Connexion à l'API de Portainer... Succès Arrêt du stack fsserver... Nettoyage et mise à jour Suppression éventuelle des stacks SFTP et PMA... En cours Aucun stack à supprimer. Mise à jour éventuelle des images... En cours Toutes les images sont à jour. Connexion à l'API de Portainer... Succès Réintégration des addons Odoo à la racine si nécessaire... En cours Réintégration des addons à la racine... Non nécessaire Rétablissement des droits sur les volumes Odoo... En cours Rétablissement des droits sur les volumes Odoo... Fait Gestion de l'équipe "Profs" Connexion à l'API de Portainer... Succès Équipe "Profs"... existe déjà Gestion des permissions... Fait Gestion du stack FSserver pour les mentions légales Stack FSserver pour les mentions légales... Présent Démarrage du stack FSserver pour les mentions légales... En cours Stack pour les mentions légales FSserver... Démarré *************************************************** FIN DE L'INSTALLATION DE E-COMBOX *************************************************** Télécharchement des scripts utiles... En cours Télécharchement des scripts utiles... Fait Restriction des droits du dossier /opt/e-combox... Fait Connexion à l'API de Portainer... Succès Configuration méthode d'authentification interne... Fait L'application e-comBox est accessible à l'URL : https://siobox.educ-valadon-limoges.fr:443/app/ Portainer est accessible à l'URL : https://siobox.educ-valadon-limoges.fr:443/portainer/ Les sites seront accessibles via des URL formées de la manière suivante : https://siobox.educ-valadon-limoges.fr:443/nom_du_site/ Vous pouvez accéder à l'interface d'e-comBox via le compte admin de Portainer mais une bonne pratique consiste à créer, sur Portainer, au moins un compte dans le groupe "Profs" puis accéder à l'interface d'e-comBox avec les identifiants de ce dernier.