Installation sur Linux - v4

De Documentation e-comBox

Préalables

Les scripts utilisés sont disponibles sur gitlab : https://gitlab.com/e-combox/e-comBox_scriptsLinux.

Les scripts ont été testés sur les versions Linux (obligatoirement 64 bits) suivantes :
  • Ubuntu (à partir la version 18.04) ;
  • Debian 9 ;
  • Debian 10 ;
  • Debian 11 (actuellement stable).
Vous pouvez installer une ou plusieurs instances de l'e-comBox derrière un Reverse Proxy externe. Pour configurer ce dernier, consultez le "readme" sur Gitlab.

Le script principal install_linux_ecomBox.sh installe l'outil "curl" et appelle 2 autres scripts :

  • install_docker_docker-compose.sh : installe docker et docker-compose ;
  • configure_application.sh : configure l'application e-combox.

Vous pouvez :

  • soit exécuter le script principal ;
  • soit récupérer et exécuter consécutivement les deux scripts.
L'exécution des scripts doivent se faire en administrateur qui est "root" sur Linux (ou en utilisant la commande sudo).
Préalable, en cas de proxy pour curl et git
Définition des variables d'environnement nécessaires à l'exécution de commandes curl via un proxy :
  • export http_proxy="<IPproxy>:<port>"
  • export https_proxy=$http_proxy

Le script de configuration de l'application est interactif, il demande des informations et utilise un fichier de paramètres /opt/e-comBox/param.conf qui contient :

  • l'adresse IP privée du serveur (par défaut 127.0.0.1) ;
  • l'adresse IP publique ou le nom de domaine (si l'application doit être accessible de l'extérieur) ;
  • le chemin d'accès (en cas de passage par un Reverse Proxy externe) ;
  • le numéro des quatre ports que l'application doit obligatoirement utiliser :
    • Port utilisé pour l'interface de l'e-comBox, par défaut PORT_ECB=8888,
    • Port utilisé pour Portainer, par défaut PORT_PORTAINER=8880,
    • Port utilisé pour l'accès aux sites, par défaut PORT_RP=8800 (c'est le seul port "utile", voir note ci-dessous)
    • Port pour le registry, par défaut PORT_REGISTRY=5443 (ce port est interne et n'est pas exposé) ;
  • l'adresse du proxy et hôtes à ignorer (si un proxy est nécessaire pour l'accès Internet);
  • les variables nécessaires au certificat (à ne remplir qu'en cas de non utilisation de Reverse Proxy externe).
Le port du Reverse Proxy (PORT_RP) est le seul port non transparent pour les utilisateurs : c'est ce port qui est utilisé dans l'URL si on ne passe pas par le Reverse Proxy externe ou c'est vers ce port qu'il faudra rediriger dans la configuration du Reverse Proxy externe.

L'adresse IP et les configurations du proxy peuvent être modifiés interactivement via le script. Les ports doivent être modifiés dans le fichier "param.conf" avant de lancer le script.

Il est aussi possible de modifier l'adresse du réseau à utiliser pour les sites si celle par défaut ne convient pas au moment où cela est demandé. Cette dernière doit être différente de l'adresse réseau utilisée par l'établissement.

En cas de Reverse Proxy externe :

  • L'interface de l'e-comBox sera accessible via l'URL : https://<nom_domaine>/<chemin>/app/
  • L'interface de Portainer sera accessible via l'URL : https://<nom_domaine>/<chemin>/portainer/
  • Les sites seront accessibles via un URL sous la forme : https://<nom_domaine>/<chemin>/nom_du_site/

S'il n'y a pas de Reverse Proxy externe :

  • L'interface de l'e-comBox sera accessible via l'URL : https://<adresse_IP ou nom_domaine>:PORT_RP/app/
  • L'interface de Portainer sera accessible via l'URL : https://<adresse_IP ou nom_domaine>:PORT_RP/portainer/
  • Les sites seront accessibles via un URL sous la forme : https://<adresse_IP ou nom_domaine>:PORT_RP/nom_du_site/
Si vous mettez 443 (il faut, bien sûr, qu'il soit libre) comme numéro de port au niveau de la variable PORT_RP dans le fichier de configuration param.conf, l'interface de l'e-comBox sera accessible via HTTPS sans qu'il soit besoin de préciser le PORT_RP dans l'URL

Installation de l'e-comBox

1. Téléchargement du script principal

Le téléchargement du script principal peut se faire à partir de la commande :

wget https://gitlab.com/e-combox/e-comBox_scriptsLinux/raw/v4/install_linux_e-comBox.sh --output-document install_linux_e-comBox.sh

2. Exécution du script principal

L'exécution du script doit se faire en administrateur qui est "root" sur Linux (ou en utilisant la commande sudo).
bash install_linux_e-comBox.sh
Pour exécuter le script en tant qu'administrateur :
- sudo bash install_linux_e-comBox.sh et vous saisissez votre mot de passe ;
- ou bien sudo su puis vous saisissez votre mot de passe et vous exécutez ensuite le script : bash install_linux_e-comBox.sh.

Si l'installation ne le fait pas le script de configuration crée le dossier "$USER/.docker" et le fichier /$USER/.docker/config.json".

Les fichiers nécessaires à l'application, les scripts de reconfiguration de l'application ainsi que le fichier contenant les identifiants d'accès aux applications (e-comBox_identifiants_acces_applications.pdf) sont installés dans "/opt/e-comBox".

Le script install_linux_ecomBox.sh lance automatiquement le script configure_application.sh qui configure l'application dans l'environnement voulu (gestion de l'adresse IP ou nom de domaine, du proxy, etc.) ;

Si le serveur passe par un proxy, il faut être vigilant sur la configuration du "noproxy" : il est, en effet, nécessaire d'exclure dans la configuration du proxy "localhost" et le réseau dans lequel se trouve le serveur d'ecomBox ainsi que le réseau dans lequel se trouve le proxy (si celui-ci est différent). Par exemple, si votre réseau local est 192.168.20.0/24, il faut ajouter dans les éléments d'exclusion 192.168.20.*. Il faut séparer les valeurs saisies par une virgule.
Dans cette version, au cours du script, il sera nécessaire de modifier le mot de passe admin de Portainer mais il n'y a plus de nécessité de le synchroniser avec l'application e-comBox. Un script permettant de réinitialiser ce mot de passe en cas de perte est disponible dans le dossier /opt/e-comBox.

Lancement de l'e-comBox et utilisation de base

Il faut lancer e-comBox en saisissant :

  • l'URL https://<nom_domaine>/<chemin>/app/ en cas de passage par un Reverse proxy externe ;
  • l'URL https://<adresse_IP ou nom_domaine>:PORT_RP/app/ en cas de non passage par un Reverse Proxy externe.
L'authentification peut se faire avec le compte "admin" de Portainer ou avec un compte "professeur" préalablement créé dans Portainer. La gestion des utilisateurs est décrite ici.
Dans cette version, plusieurs comptes "professeurs" peuvent être créés et chaque professeur ne voit et ne peut agir que sur ses propres sites

.

Lorsqu'on se connecte (après s'être authentifié), un tableau de bord simplifié permet d'avoir une vue d'ensemble sur le nombre de sites et la place qu'ils occupent en mémoire et en capacité :

TableauBordv3.png


Un clic, dans le menu de gauche sur Prestashop conduit à un écran similaire à ci-dessous :

TypePrestashop v3.png


La prise en main de cette interface avec sa gestion de base (créer, démarrer, arrêter ou supprimer un site) ainsi que la gestion avancée est décrite plus précisément ici.

En cas de problème consultez :

En cas de modification de l'environnement, comme un changement d'adresse IP ou l'ajout (voire la désactivation) d'un proxy, il est nécessaire de réinitialiser l'environnement en exécutant de nouveau le script configure_application.sh :
bash /opt/e-comBox/configure_application.sh

La gestion des ressources pour Docker

Sur Linux, le professeur sera juste limité par la capacité de son poste (capacité du disque, capacité du processeur et capacité de la mémoire) sachant que le processeur et la mémoire ne sont affectés que lorsque les sites sont lancés.

Par exemple, une instance de Prestashop sur Docker nécessite aux alentours de 200 MB de RAM.

Le tableau de bord fournit des statistiques d'utilisation en temps réel.