Installez Apache Tomcat 10 sur Ubuntu 22.04 avec Nginx. Apache Tomcat est un serveur Web open source et un conteneur de servlets principalement utilisé pour le serveur d'applications basées sur Java.
Dans ce guide, vous allez apprendre à installer Apache Tomcat 10 sur Ubuntu 22.04 et à sécuriser la configuration avec Nginx et Let's Encrypt SSL.
Prérequis
- Un serveur avec le système d'exploitation Ubuntu 22.04
- Un utilisateur avec des privilèges sudo.
Configuration initiale
Commencez par mettre à jour les packages du serveur vers la dernière version disponible.
sudo apt update sudo apt dist-upgrade -y
Créer un nouvel utilisateur pour Tomcat
Il serait préférable que Tomcat s'exécute en tant qu'utilisateur non privilégié. Exécutez la commande suivante pour créer un nouvel utilisateur avec les privilèges requis pour Tomcat. Cet utilisateur ne sera pas autorisé à se connecter à SSH.
sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat
Installer Java
Installez le JDK par défaut à l'aide de la commande ci-dessous. Vérifiez ici pour un guide plus détaillé pour installer Java.
sudo apt install default-jdk
Une fois l'installation terminée, vérifiez la version à l'aide de la commande suivante.
java -version
Votre sortie devrait ressembler à celle ci-dessous.
openjdk version "11.0.15" 2022-04-19 OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1) OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)
Installer Apache Tomcat
Téléchargez la dernière version de Tomcat à partir de leur page de téléchargement officielle. Choisissez le tar.gz
sous la section principale.
Téléchargez l'archive à l'aide de wget.
cd ~/ wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.21/bin/apache-tomcat-10.0.21.tar.gz
Extraire le contenu vers /opt/tomcat
répertoire.
sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1
Configurez les autorisations correctes pour les fichiers Tomcat.
sudo chown -R tomcat:tomcat /opt/tomcat/ sudo chmod -R u+x /opt/tomcat/bin
Configurer les utilisateurs administrateurs
Nous devons maintenant configurer les utilisateurs qui peuvent accéder au gestionnaire d'hôte et le gestionnaire pages dans Tomcat.
Ajouter les utilisateurs avec des mots de passe en /opt/tomcat/conf/tomcat-users.xml
sudo nano /opt/tomcat/conf/tomcat-users.xml
Ajoutez les lignes suivantes avant la balise de fin.
<role rolename="manager-gui" /> <user username="manager" password="secure_password" roles="manager-gui" /> <role rolename="admin-gui" /> <user username="admin" password="secure_password" roles="manager-gui,admin-gui" />
Nous avons maintenant 2 utilisateurs qui peuvent accéder aux pages Manager et Host manager.
Configurer Tomcat en tant que service
Ici, nous allons configurer un service systemd pour gérer Tomcat afin qu'il démarre, s'arrête et redémarre automatiquement.
Notez l'emplacement de Java.
sudo update-java-alternatives -l
Output java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Créez un fichier systemd.
sudo nano /etc/systemd/system/tomcat.service
Ajoutez le contenu suivant au fichier.
[Unit] Description=Tomcat After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
Remplacez JAVA_HOME variable avec celle que vous avez notée précédemment.
Rechargez le démon systemd pour que les modifications prennent effet.
sudo systemctl daemon-reload
Démarrez Tomcat.
sudo systemctl start tomcat
Activez Tomcat pour qu'il démarre au démarrage du système.
sudo systemctl enable tomcat
Vérifiez l'état de Tomcat.
sudo systemctl status tomcat
Output ● tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2022-05-25 06:41:36 UTC; 6s ago Process: 5155 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 5302 (java) Tasks: 29 (limit: 1151) Memory: 132.7M CGroup: /system.slice/tomcat.service
Installer Nginx
Installez Nginx à l'aide de la commande suivante.
sudo apt install nginx
Supprimer les configurations par défaut
sudo rm /etc/nginx/sites-available/default sudo rm /etc/nginx/sites-enabled/default
Configurer le proxy Nginx pour Tomcat
Créer une nouvelle configuration Nginx
sudo nano /etc/nginx/sites-available/yourdomainname.conf
Collez ce qui suit
server { listen [::]:80; listen 80; server_name yourdomainname.com www.yourdomainname.com; location / { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
Enregistrez et quittez le fichier.
Activez votre configuration en créant un lien symbolique.
sudo ln -s /etc/nginx/sites-available/yourdomainname.conf /etc/nginx/sites-enabled/yourdomainname.conf
Installer Let's Encrypt SSL avec Certbot
Installez le package Certbot.
sudo apt install python3-certbot-nginx
Installez le certificat SSL à l'aide de la commande ci-dessous.
sudo certbot --nginx --redirect --no-eff-email --agree-tos -m [email protected] -d yourdomainname.com -d www.yourdomainname.com
Si votre domaine pointe vers le serveur, le certificat SSL gratuit sera installé et la redirection HTTP vers HTTPS sera configurée automatiquement et Nginx sera redémarré de lui-même pour que les modifications prennent effet.
Si vous souhaitez redémarrer, vous pouvez vérifier votre configuration Nginx et la redémarrer.
sudo nginx -t sudo service nginx restart
Préparez-vous à un poste de professionnel des technologies de l'information avec le système d'exploitation Linux
Vérifier l'installation de Tomcat
Vérifiez maintenant votre domaine dans votre navigateur.
Cliquez sur Application Manager , vous serez invité à saisir un nom d'utilisateur et un mot de passe. Utilisez celui que nous avons configuré dans la section des utilisateurs de Tomcat.
Vous pouvez également consulter le gestionnaire d'hôte page.
Vous pouvez également afficher l'état du serveur.
Conclusion
Vous savez maintenant comment installer Apache Tomcat sur Ubuntu 22.04 et sécuriser avec Nginx et Let's Encrypt SSL..
Merci pour votre temps. Si vous rencontrez un problème ou des commentaires, veuillez laisser un commentaire ci-dessous.