1. How to install aero-Webb on Ubuntu WSL¶
Cette note décrit la mise en œuvre des outils et services nécessaires pour mettre en œuvre le backend Aero-Webb dans une distribution Ubuntu tournant sous WSL.
Prerequisites
Mise en œuvre de Ubuntu WSL
1.1 Introduction¶
Les services mis en œuvre dans ce document suivent les prérequis de version inscrits dans le document DEVELOPER MANUAL,AERO-WEBB 7.x enregistré sur SharePoint.
1.2 Git¶
Cette section décrit l'installation de Git dans un environnement WSL Ubuntu.
Avant de procéder aux manipulations qui suivent, Git doit préalablement être installé sur le système hôte (Windows). Le nom d'utilisateur, son email et sa clé publique doivent être convenablement configurés. Ils seront communs aux deux systèmes.
1.2.1 Installation¶
Vérifiez que Git est installé sur votre système à l'aide de la commande suivante :
Si le système vous indique que git n'a pas été trouvé, utilisez les commandes qui suivent pour l'installer :
Apt ne marche pas
Pour toute installation de paquet dans WSL, désactivez le VPN 2MoRO, celui-ci bloque apt sans raison.
1.3 Java OpenJDK 11 LTS¶
Cette section décrit l'installation de Java OpenJDK-11 LTS dans un environnement Ubuntu.
1.3.1 Installation¶
Installer OpenJDK-11 :
Vérifier que tout est bien installé :
1.3.2 Configuration¶
Créer un lien symbolique vers la version de java par défaut :
1.4 Apache Tomcat 9¶
Cette section décrit l'installation d'Apache Tomcat 9 dans un environnement Ubuntu.
1.4.1 Installation¶
Créez un nouvel utilisateur et un groupe en exécutant la commande suivante:
Cet utilisateur sera utilisé pour exécuter le service Tomcat.
Télécharger Tomcat 9 :
Au moment de rédiger ces lignes, la dernière version de Tomcat 9 est la v9.0.71. Si la version change, le lien ci-dessus ne fonctionnera plus ; un lien fonctionnel peut alors être obtenu en explorant les fichiers de cette URL. Il faudra également adapter le nom des dossiers à la nouvelle version de Tomcat.
Unable to establish SSLConnection
Add --no-check-certificate to your wget
Extraire les fichiers de l'archive :
Déplacer le dossier vers sa destination :
Créer un lien symbolique vers Tomcat :
Ce lien symbolique permet d'avoir plusieurs installations de Tomcat ; il est particulièrement pratique en cas de mise à jour, il suffira alors de décompresser la version plus récente et de modifier le lien symbolique pour qu'il pointe vers cette version.
Modifier le propriétaire du dossier afin que Tomcat puisse accéder aux fichiers :
1.4.2 Configuration¶
1.4.2.1 Créer un fichier systemd¶
Prerequisites
Activer systemd sur WSL : cf. § 2.4 Activation de systemd
Créer le fichier /etc/systemd/system/tomcat.service :
avec le contenu suivant :
[Unit]
Description=Tomcat 9.0 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
EnvironmentFile=/home/<utilisateur>/.config/tomcat/env
ExecStart=/opt/tomcat/latest/bin/catalina.sh $PARAM1 $PARAM2
ExecStop=/opt/tomcat/latest/bin/catalina.sh stop
[Install]
WantedBy=multi-user.target
Remark
Dans le fichier ci-dessus et dans les commandes qui suivent, veiller à remplacer <utilisateur> par le nom de l'utilisateur WSL qui a été créé lors de la création de la VM Ubuntu.
Créer le répertoire /home/<utilisateur>/.config/tomcat :
Puis créer et éditer le fichier /home/<utilisateur>/.config/tomcat/env :
Et y mettre le contenu suivant :
Remark
Le premier paramètre permet d'activer le mode debug de Tomcat. C'est à dire que lors du démarrage du service, Tomcat lancera un thread supplémentaire qui écoutera sur le port 8000 (par défaut) afin de permettre le débogage d'une application web, comme Aero-Webb, à partir d'un EDI, comme Eclipse ou IntelliJ par exemple.
Pour désactiver le mode debug de Tomcat, il suffit de commenter la ligne en ajoutant le caractère "#" en tout début, puis redémarrer le service Tomcat.
Donner les permissions correctes au fichier du service :
Informer systemd qu'un nouveau service existe :
Démarrer Tomcat et vérifier qu'il est bien lancé :
Si Tomcat est bien démarré, activer le démarrage automatique du service :
En cas de besoin, il est possible d'utiliser sudo systemctl start|stop|restart tomcat pour démarrer, arrêter ou relancer Tomcat manuellement, sans avoir à désactiver le démarrage automatique.
1.4.2.2 Configurer l'interface Web de Tomcat¶
Éditer le fichier /opt/tomcat/latest/conf/tomcat-users.xml comme suit :
<tomcat-users>
<!--
Comments
-->
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>
Avec cette configuration, les identifiants d'accès à l'interface Web de Tomcat sont :
| Donnée | Valeur |
|---|---|
| username | admin |
| password | admin_password |
1.4.2.3 Tester l'installation¶
Redémarrer Tomcat :
Ouvrez votre navigateur à l'adresse : localhost:8080
Si tout est bon l'interface de Tomcat doit apparaitre :

1.5 Apache Maven 3.5¶
Cette section décrit l'installation d'Apache Maven 3.5 dans un environnement Ubuntu.
1.5.1 Installation¶
Télécharger l'archive de Maven dans le dossier /tmp :
cd /tmp
wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
Unable to establish SSLConnection
Add --no-check-certificate to your wget
Le lien de téléchargement des versions de Maven peut s'obtenir à partir de cette page.
Info
Si possible télécharger bien la version 3.5.4 même si d'autres plus récentes sont disponible
Décompresser le contenu de l'archive dans le dossier /opt :
Créer un lien symbolique vers Maven :
Ce lien symbolique permet d'avoir plusieurs installations de Maven ; il est particulièrement pratique en cas de mise à jour, il suffira alors de décompresser la version plus récente et de modifier le lien symbolique pour qu'il pointe vers cette version.
Créer le fichier /etc/profile.d/maven.sh comme suit ; ce fichier contient les variables d'environnement de Maven :
export JAVA_HOME=/usr/lib/jvm/default-java
export M2_HOME=/opt/maven
export MAVEN_HOME=/opt/maven
export PATH=${M2_HOME}/bin:${PATH}
Rendre le fichier de variables d'environnement Maven exécutable :
Exécuter le fichier afin de charger les variables d'environnement de Maven :
Vérifier que l'installation est correcte en exécutant la commande suivante :
Tip
Si après cette commande il vous est indiqué qui maven n'est pas installé éteignez la machine Ubuntu et rallumez la
Puis verifiez à nouveau la version de maven1.5.2 Configuration¶
L'installation de Maven ne nécessite pas de configuration particulière.
1.6 PostgreSQL 12¶
Cette section décrit l'installation de PostgreSQL 12 dans un environnement Ubuntu.
1.6.1 Installation¶
Importer la clé GPG utilisée pour signer les packages PostgreSQL :
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
Après avoir importé la clé GPG, ajouter le référentiel PostgreSQL :
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list
Installer PostgreSQL sur le système :
Démarrer PostgreSQL et vérifier qu'il est bien lancé :
Utiliser sudo systemctl start|stop|restart|status postgresql pour démarrer, arreter ou relancer PostgreSQL.
1.6.2 Configuration¶
Définir le mot de passe de l'utilisateur PostgreSQL créé par défaut lors de l'installation :
Configurer la directive listen_addresses du fichier /etc/postgresql/12/main/postgresql.conf afin d'autoriser les connexions à travers le réseau :
Modifier le type d'authentification pour l'utilisateur postgres en éditant le fichier /etc/postgresql/12/main/pg_hba.conf et en remplaçant la méthode peer par la méthode md5 :
Redémarrer le service :
Configurer l'encodage par défaut des bases de données :
psql -U postgres -c "UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';"
psql -U postgres -c "DROP DATABASE template1;"
psql -U postgres -c "CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';"
psql -U postgres -c "UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';"
psql -U postgres -d template1 -c "VACUUM FREEZE;"
Mes commandes psql ne passent pas
our vos commandes psql je vous conseille de basculer direct sur le user postgres dans votre terminal, cela vous évitera d'avoir à taper votre mdp postgres à chaque commande (sudo su, su -l postgres).
1.6.2.1 Paramètres de connexion à la base de données¶
| Donnée | Valeur |
|---|---|
| Hôte | localhost |
| Port | 5432 |
| Utilisateur | postgres |
| Mot de passe | postgres |
1.7 NPM (Node Package Manager)¶
Cette section décrit l'installation de NPM et de Node.js dans un environnement Ubuntu, en utilisant NVM (Node Version Manager).
1.7.1 Installation de Node Version Manager¶
Note
Dans les exemples qui suivent, choisir une version des outils compatible avec la version d'Aero-Webb utilisée (cf. la matrice de compatibilité).
Installer Node Version Manager (nvm) :
Note
De préférence, installer la version la plus récente de l'outil nvm (cf. releases).
Lister les versions de Node.js disponibles à l'installation (la liste est conséquente) :
list-remote → N/A
Pour nvm dans WSL, ajoutez un fichier .curlrc dans votre répertoire /home/
Ou
Connecter votre ordinateur sur un autre wifi (ex : Partage de connection avec votre téléphone)
Installer une version de Node.js spécifique :
Vérifier que Node.js et NPM fonctionnent :
Lister les versions de Node.js installées via nvm
Il est possible de lister les versions de Node.js déjà installées sur le système à l'aide de la commande suivante :
La première ligne retournée par cette commande correspond à la version actuellement active de Node.js.
1.7.2 Configuration¶
1.7.2.1 Node.js¶
L'installation de Node.js ne nécessite aucune configuration particulière.
1.7.2.2 NPM¶
Éditez ou créez le fichier de configuration /home/<utilisateur>/.npmrc, afin que son contenu soit le suivant :
Created: 2024-01-30