GNU/Linux >> Tutoriels Linux >  >> Linux

Apache avec Tomcat, un guide d'installation et de configuration étape par étape

Dans cet article, nous allons vous montrer comment installer et configurer Tomcat 10 sur Ubuntu et comment nous pouvons l'intégrer à Apache HTTP Server à l'aide du connecteur mod_jk.

Apache Tomcat est un serveur Web open source et un conteneur de servlets utilisés pour déployer et servir des applications Web Java. La plupart des frameworks Web Java modernes sont basés sur des servlets, par exemple, JavaServer Faces, Struts, Spring, etc.

Apache Tomcat fournit également par défaut un connecteur HTTP sur le port 8080, c'est-à-dire que Tomcat peut également être utilisé comme serveur HTTP. Mais les performances de Tomcat ne sont pas aussi bonnes que celles d'un serveur Web désigné, comme le serveur HTTP Apache.

Dans la plupart des productions, Tomcat est utilisé conjointement avec Apache HTTP Server. Le serveur HTTP Apache traite le contenu statique comme le code HTML, les images, etc., et transmet les demandes de contenu dynamique à Tomcat.

Ce guide d'installation et de configuration s'applique à Apache avec Tomcat 10 sur Ubuntu.

1. Installer Java

Tout d'abord, comme toujours, mettez à jour vos packages :

sudo apt update

Java doit être installé sur votre système pour exécuter le serveur Tomcat. Tomcat 10 nécessite Java SE 8 ou une version supérieure installée sur votre système. Exécutez la commande suivante et installez le package JDK OpenJDK 11 :

sudo apt install openjdk-11-jdk

Vérifiez la version Java active actuelle :

java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

2. Créer un utilisateur système Tomcat

Exécution d'un serveur Tomcat sous la racine l'utilisateur est un risque pour la sécurité. Par conséquent, nous vous recommandons de créer un compte utilisateur distinct pour exécuter le serveur Tomcat.

La commande suivante créera un utilisateur et un groupe avec le nom tomcat sur votre système :

sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat

3. Installer et configurer Apache Tomcat 10

Tomcat est un outil indépendant de la plate-forme et, tant que Java est installé, l'installation est un processus simple. Tout d'abord, vous devez télécharger la version souhaitée sur le site officiel, puis la décompresser sur votre système de fichiers.

Téléchargez maintenant la dernière version binaire de Tomcat à partir de la page officielle des téléchargements de Tomcat.

wget https://apache.mirrors.nublue.co.uk/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz

Une fois le téléchargement terminé, extrayez le fichier tar dans /opt/tomcat répertoire :

sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1

Ensuite, définissez les autorisations de fichier appropriées :

sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod -R u+x /opt/tomcat/bin

Vous devez créer un utilisateur pour le gestionnaire d'applications Web dans le serveur Tomcat. Un nouveau compte utilisateur doit être configuré pour utiliser le gestionnaire d'applications Web Apache Tomcat.

Pour ce faire, modifiez le tomcat-users.xml fichier dans votre éditeur :

sudo vim /opt/tomcat/conf/tomcat-users.xml

Collez le code suivant dans <tomcat-users> </tomcat-users> Mots clés. Assurez-vous de changer PASSWORD pour un accès administrateur et gestionnaire.

<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="PASSWORD" roles="manager-gui" />

<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="PASSWORD" roles="manager-gui,admin-gui" />

Tomcat fournit une console d'administration basée sur le Web. Le serveur Tomcat par défaut n'autorise pas l'accès à distance pour les applications Manager et Host Manager. Cependant, vous ne pouvez y accéder qu'à partir de localhost.

Pour activer les connexions à distance, suivez les instructions ci-dessous.

Créez un fichier conf/Catalina/localhost/manager.xml :

sudo vim /opt/tomcat/conf/Catalina/localhost/manager.xml

Ajoutez le contenu suivant :

<Context privileged="true" antiResourceLocking="false" docBase="{catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

Vous devez également créer un fichier xml pour l'application Web du gestionnaire d'hôte afin d'autoriser l'accès aux hôtes distants.

sudo vim /opt/tomcat/conf/Catalina/localhost/host-manager.xml

Ajoutez le contenu suivant :

<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/host-manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

4. Créer un service Tomcat Systemd

Nous devons créer un script de démarrage pour gérer Tomcat en tant que service systemd. Créons un tomcat.service fichier.

sudo vim /etc/systemd/system/tomcat.service

Collez ce qui suit dans le fichier :

[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-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

[Install]
WantedBy=multi-user.target

Rechargez le démon systemd pour appliquer les modifications :

sudo systemctl daemon-reload

Configurez Tomcat pour qu'il démarre automatiquement au démarrage :

sudo systemctl enable tomcat

5. Installer le serveur HTTP Apache

Apache est disponible dans les référentiels de logiciels par défaut d'Ubuntu. Pour l'installer, tapez la commande suivante :

sudo apt install apache2

6. Configurer Tomcat pour qu'il fonctionne avec Apache

Pour intégrer les processus du serveur Apache Tomcat au serveur HTTP Apache, nous avons besoin du module mod_jk , qui implémente l'interface entre Tomcat et Apache, combinée à quelques petites étapes pour configurer Apache et Tomcat selon nos besoins.

6.1 Installer le module mod_jk

Installation et configuration de mod_jk est la clé pour que le serveur Web et le serveur d'application fonctionnent ensemble. Alors, installons-le :

sudo apt install libapache2-mod-jk

6.2 Configuration de mod_jk avec Apache et Tomcat.

Vous devrez activer le connecteur AJP dans Tomcat pour que le serveur Apache puisse rediriger les requêtes vers Tomcat. Vous l'avez fait en modifiant le server.xml de Tomcat fichier.

sudo vim /opt/tomcat/conf/server.xml

Assurez-vous que le connecteur AJP ci-dessous est actif et non commenté.

<Connector protocol="AJP/1.3" port="8009" secretRequired="false" redirectPort="8443" />

Nous devons configurer le serveur HTTP Apache pour charger et initialiser le module JK.

Nous devons créer le /etc/apache2/workers.properties dossier. Ce fichier définit une liste de "travailleurs" Tomcat auxquels Apache peut transmettre des requêtes.

sudo vim /etc/apache2/workers.properties

et collez ce qui suit dans le fichier :

# Define 1 real worker using ajp13
worker.list=worker1

# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

Ensuite, référencez ce fichier dans le fichier de configuration principal d'Apache apache2.conf :

sudo vim /etc/apache2/apache2.conf

Nous ajoutons ces lignes à la fin :

JkWorkersFile /etc/apache2/workers.properties

# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm

# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the timestamp log format
JkLogStampFormat "[ %a %b %d %H:%M:%S %Y ] "

6.3 Configurer les URL à gérer avec Apache

À ce stade, vous devrez configurer Apache pour lui indiquer les URL à traiter et à transmettre à Tomcat et les URL que vous souhaitez qu'Apache traite lui-même.

sudo vim /etc/apache2/sites-enabled/000-default.conf

Ajoutez la ligne suivante sous DocumentRoot entrée. Cela permet de demander JRS via le serveur Web Apache.

JkMount /examples worker1
JkMount /examples/* worker1

7. Comment vérifier que cela fonctionne

Redémarrez les services Apache et Tomcat :

sudo systemctl restart apache2
sudo systemctl restart tomcat

Une fois que vous avez démarré le serveur, ouvrez votre navigateur Internet et accédez à l'URL http://server_ip_address:8080 . Tomcat a été installé correctement si vous voyez une page similaire à celle de l'image ci-dessous.

Un moyen simple de vérifier que l'intégration entre Apache HTTP Server et Tomcat fonctionne consiste à demander l'un des fichiers d'exemple que Tomcat doit fournir.

Faites pointer votre navigateur vers http://server_ip_address/examples/ et exécutez quelques exemples d'applications.

Toutes nos félicitations! Vous avez intégré avec succès Tomcat à Apache HTTP Server.


Linux
  1. Comment configurer un serveur Web Apache

  2. Installation de WordPress sur Ubuntu Linux avec Apache et MySQL

  3. Kali Linux sur VirtualBox :un guide d'installation étape par étape

  4. Guide d'installation étape par étape de VMware ESXi avec captures d'écran

  5. Guide du débutant pour Samba (installation et configuration)

Installation et configuration du serveur d'entreprise Univention

Apache Cassandra :fonctionnalités et installation

Comment installer et configurer ModEvasive avec Apache sur Ubuntu 18.04

Installation et premiers pas avec Git

Configuration et guide du chargeur de démarrage LILO Linux

Guide du débutant pour Apache HTTP Server - Installation et configuration