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.