Apache Tomcat est souvent utilisé comme serveur d'applications pour les applications strictement basées sur le Web. Il exécute essentiellement des servlets Java et affiche des pages Web qui incluent le codage JSP.
L'installation manuelle sur Tomcat prend du temps. En utilisant Ansible, nous pouvons facilement automatiser le processus d'installation.
Dans ce tutoriel, nous apprenons à installer Tomcat sur Ubuntu 20.04 avec Ansible .
Prérequis :
Ici, nous allons utiliser :
- Un nœud de contrôle - où nous allons installer et configurer le fichier ansible. Depuis le nœud de contrôle, nous allons démarrer le playbook Ansible pour installer Tomcat 9.
 - Vous devez disposer d'une connexion SSH ouverte à l'hôte distant.
 - Un nœud hôte - où ansible installera et démarrera Tomcat 9.
 - Le nœud de contrôle et l'hôte ont tous deux des adresses IP privées et les deux machines sont sous Ubuntu 20.04
 
Installer Ansible sur le nœud de contrôle sur Ubuntu 20.04
Tout d'abord, mettez à jour votre système avec la commande standard :
$ sudo apt update
Après la mise à jour, installez ansible en exécutant la commande suivante :
$ sudo apt install ansible -y Pour vérifier où l'ansible est installé et situé, exécutez la commande :
$ which ansible Vous devriez voir quelque chose comme ceci :
 Si vous listez un répertoire dans /usr/bin
$ ls /usr/bin Vous trouverez les packages installés Ansible :
 Pour vérifier la version d'Ansible installée, exécutez la commande :
$ ansible --version Vous obtiendrez quelque chose comme ceci :
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0] Comme vous pouvez le voir, en plus de la version ansible, vous obtiendrez également :
- Où est placé le fichier de configuration ansible
 - Où est placé le chemin de recherche et les modules configurés
 - Où est l'emplacement du module ansible python
 - Emplacement de l'exécutable et version Python
 
Le fichier de configuration principal est stocké dans /etc/ansible/hosts fichier.
 Vous devez ajouter votre adresse IP locale ou de serveur au fichier, ou si vous avez une adresse IP privée, vous devez l'ajouter. 
 
 Ouvrez le fichier hosts avec votre éditeur préféré :
$ sudo nano /etc/anisble/hosts Vous verrez le fichier de configuration des hôtes, quelque chose comme ceci :
 
 Comme vous pouvez le voir, il y a une section qui appartient au  #Ex 1 section, ajoutez-y l'adresse IP de votre hôte distant sans  #  expression. 
 
 Ensuite, pour vérifier que vous avez un hôte avec cette adresse IP, exécutez la commande suivante :
$ sudo  ansible all -i hosts --list-hosts Vous obtiendrez la liste des hôtes, quelque chose comme cette sortie dans l'image :
 
 L'étape suivante consiste à ajouter la clé SSH publique du nœud de contrôle Ansible à la machine hôte distante. 
 Cette étape est essentielle pour permettre à Ansible d'installer Tomcat sur un serveur distant.
Générez vos clés ssh par la commande suivante :
$ sudo ssh-keygen Après avoir généré les clés, vous verrez où sont stockées les clés. Pour nous, seule la clé publique est importante.
 Nous devons maintenant copier la clé publique sur un serveur. N'oubliez pas que nous faisons cela car nous devons autoriser Ansible à installer Tomcat sur le serveur distant à partir du nœud de contrôle.
REMARQUE : Seule la clé publique est copiée sur le serveur. La clé privée ne doit jamais être copiée sur une autre machine.
Utilisez une commande comme celle-ci pour copier la clé SSH :
$ sudo ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] Où sont les adresses user=linoxide et host=IP pour la connexion à distance SSH.
Après avoir copié la clé sur la machine distante, vous devrez entrer votre mot de passe pour la connexion ssh à distance.
Maintenant, tout est configuré et prêt à exécuter ansible-playbook.
Installez Tomcat 9 sur un nœud hôte distant à l'aide d'Ansible
Allez maintenant dans /etc/ansible et créez-y un fichier appelé tomcat-setup.yaml . Vous pouvez voir et copier le fichier depuis le dépôt Github :
---
- name: install tomcat server
  hosts: all
  become: true
  tasks:
  - name: Install OpenJDK
    apt:
      name: openjdk-11-jre-headless
  - name: download tomcat server packages
    get_url:
      url: http://mirrors.estointernet.in/apache/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz
      dest: /usr/local
  - name: extract tomcat packages
    unarchive:
      src: /usr/local/apache-tomcat-9.0.44.tar.gz
      dest: /usr/local
      remote_src: yes
  - name: start tomcat services
    shell: nohup /usr/local/apache-tomcat-9.0.44/bin/startup.sh 
 
 Comme vous pouvez le voir dans le fichier tomcat-setup.yaml, il y a quatre tâches :
 1)  Installer OpenJDK 
 2)  Téléchargez les packages Tomcat Server et placez-les à l'emplacement de destination. 
 3) Extrayez les packages Tomcat, de la source à la destination. 
 4) Démarrer le service Tomcat à l'aide du script startup.sh 
 
 Démarrez le playbook ansible avec la commande :
$ sudo ansible-playbook -i hosts tomcat-setup.yaml Vous verrez quelque chose comme cette sortie :
 Après vérification que tout va bien. Allez sur votre machine hôte distante et vérifiez que JAVA est installé et vérifiez si le service Tomcat est en cours d'exécution avec ces commandes :
$ sudo java -version Sortie :
 
 
 Et vérifiez si Tomcat 9 est correctement téléchargé et démarré avec la commande :
$ ps -ef | grep tomcat Sortie :
 Accédez à l'URL du serveur sur le port 8080 pour tester l'installation et la configuration de Tomcat 9.
Serveur Web Tomcat :
http://<domain_or_IP_address>:8080 Tableau de bord du gestionnaire d'applications Web Tomcat :
http://<domain_or_IP_address>:8080/manager/html Tableau de bord du gestionnaire d'hôte virtuel Tomcat :
http://<domain_or_IP_address>:8080/host-manager/html Vous devriez maintenant pouvoir déployer votre application sur le serveur Tomcat 9 exécuté sur une machine Linux Ubuntu 20.04.
Conclusion
Dans ce didacticiel, nous avons appris à installer Tomcat 9 à l'aide d'Ansible sur le nœud distant. Il s'agissait d'un exemple d'installation d'un serveur Tomcat sur un seul nœud hôte à partir du nœud de contrôle. Avec Ansible, vous pouvez installer autant de serveurs Tomcat que vous le souhaitez sur autant de nœuds hôtes que vous le souhaitez.