Sitedetout - Tutoriels informatiques

Comment installer Tomcat 9 sur Linux

A travers ce bref tutoriel, vous pourrez suivre les étapes précises de l’installation du serveur d’application Tomcat (version 7, 8 ou 9) sur une machine Linux (tomcat 9 sur une machine Centos dans notre cas).

A votre terminal !

On commencera par créer un utilisateur tomcat appartenant au groupe tomcat et ayant le répertoire /home/tomcat comme répertoire d’accueil et mettant son shell à la valeur  /bin/false pour prévenir une connection SSH avec ce compte :

[root@localhost ~]# groupadd tomcat
[root@localhost ~]# useradd -d /home/tomcat -g tomcat -s /bin/false tomcat

Nos utilisateur/groupe sont dorénavant prêts.

Téléchargement de Tomcat 9

En se connectant sur le site official de tomcat https://tomcat.apache.org/ , trouvez la version que vous souhaitez installer (version 9 dans notre cas)

tomcat 9

On va télécharger la version package sous le format “tar.gz”.

A l’aide de la commande wget, On va télécharger le package tomcat directement sur le repertoire /tmp

[root@localhost ~]# cd /tmp

[root@localhost tmp]# wget http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1.tar.gz

[root@localhost tmp]# wget http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1.tar.gz
--2017-10-17 21:00:23-- http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1.tar.gz
Résolution de www-us.apache.org (www-us.apache.org)... 140.211.11.105
Connexion vers www-us.apache.org (www-us.apache.org)|140.211.11.105|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 9397803 (9,0M) [application/x-gzip]
Sauvegarde en : «apache-tomcat-9.0.1.tar.gz»

100%[======================================>] 9 397 803 2,76MB/s ds 4,0s

2017-10-17 21:00:28 (2,27 MB/s) - «apache-tomcat-9.0.1.tar.gz» sauvegardé [9397803/9397803]

[root@localhost tmp]# ls |grep tomcat
apache-tomcat-9.0.1.tar.gz

Le package tomcat sera installé dans l’arborescence /produit/tomcat directory.

[root@localhost tmp]# mkdir -p /produits/tomcat

[root@localhost tmp]# tar xvf apache-tomcat-9.0.1.tar.gz -C /produits/tomcat --strip-components=1

apache-tomcat-9.0.1/conf/
apache-tomcat-9.0.1/conf/catalina.policy
apache-tomcat-9.0.1/conf/catalina.properties

...

apache-tomcat-9.0.1/bin/startup.sh
apache-tomcat-9.0.1/bin/tool-wrapper.sh
apache-tomcat-9.0.1/bin/version.sh
[root@localhost tmp]#

Gérer les droits d’accès

Une fois l’installation terminée, on va mettra à jour les droits d’accès du repertoire /produits/tomcat/ pour notre utilisateur tomcat

[root@localhost ~]# cd /produits/tomcat/
[root@localhost tomcat]# ll
total 92
drwxr-x---. 2 root root 4096 17 oct. 21:04 bin
drwx------. 2 root root 238 27 sept. 19:32 conf
drwxr-x---. 2 root root 4096 17 oct. 21:04 lib
-rw-r-----. 1 root root 57092 27 sept. 19:32 LICENSE
drwxr-x---. 2 root root 6 27 sept. 19:32 logs
-rw-r-----. 1 root root 1804 27 sept. 19:32 NOTICE
-rw-r-----. 1 root root 6705 27 sept. 19:32 RELEASE-NOTES
-rw-r-----. 1 root root 15946 27 sept. 19:32 RUNNING.txt
drwxr-x---. 2 root root 30 17 oct. 21:04 temp
drwxr-x---. 7 root root 81 27 sept. 19:32 webapps
drwxr-x---. 2 root root 6 27 sept. 19:32 work

L’utilisateur tomcat devera avoir les autorisations suivantes :

  • Accès en écriture des répertoires conf
  • Accès en lecture au contenu du répertoire conf
  • Propriétaire des répertoires work, temp et logs
[root@localhost tomcat]# chgrp -R tomcat conf
[root@localhost tomcat]# sudo chmod g+rwx conf
[root@localhost tomcat]# sudo chmod g+r conf/*
[root@localhost tomcat]# sudo chown -R tomcat work/ temp/ logs/
[root@localhost tomcat]# ll
total 92
drwxr-x---. 2 root root 4096 17 oct. 21:04 bin
drwxrwx---. 2 root tomcat 238 27 sept. 19:32 conf
drwxr-x---. 2 root root 4096 17 oct. 21:04 lib
-rw-r-----. 1 root root 57092 27 sept. 19:32 LICENSE
drwxr-x---. 2 tomcat root 6 27 sept. 19:32 logs
-rw-r-----. 1 root root 1804 27 sept. 19:32 NOTICE
-rw-r-----. 1 root root 6705 27 sept. 19:32 RELEASE-NOTES
-rw-r-----. 1 root root 15946 27 sept. 19:32 RUNNING.txt
drwxr-x---. 2 tomcat root 30 17 oct. 21:04 temp
drwxr-x---. 7 root root 81 27 sept. 19:32 webapps
drwxr-x---. 2 tomcat root 6 27 sept. 19:32 work
[root@localhost tomcat]#

Il ne reste plus que démarrer notre serveur tomcat. 

Préparation du script de démarrage

Tout d’abord il faudra vérifier l’emplacement de java installé sur la machine en utilisant la commande update-alternatives –config java comme suit :

[root@localhost opt]# /usr/sbin/alternatives --config java

Il existe 2 programmes qui fournissent « java ».

Sélection Commande
-----------------------------------------------
* 1 java-1.7.0-openjdk.x86_64 (/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.151-2.6.11.1.el7_4.x86_64/jre/bin/java)
+ 2 /usr/jdk1.8.0_131/bin/java

Entrez pour garder la sélection courante [+] ou saisissez le numéro de type de sélection :^C
[root@localhost opt]#

On voit bien que la version par défaut est : /usr/jdk1.8.0_131/bin/java.

Pour créer un lanceur automatique pour tomcat, il faudra éditer le fichier suivant :

[root@localhost ~]# vi /etc/init.d/tomcat.conf

#!/bin/bash
TOMCAT_HOME="/produits/tomcat"
SHUTDOWN_WAIT=45

export JAVA_HOME=/usr/jdk1.8.0_131/
export CATALINA_HOME=$TOMCAT_HOME
export JAVA_OPTS="-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
export CATALINA_OPTS="-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

setuid tomcat
setgid tomcat

tomcat_pid() {
    echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'`
}

 

start() {
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
    echo "Tomcat est déjà démarré en utilisant le pid (pid: $pid)"
else
    # Start tomcat
    echo "Démarrage de tomcat du HOME $TOMCAT_HOME"
    exec $TOMCAT_HOME/bin/startup.sh
fi
return 0
}

stop() {
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Arrêt de Tomcat"
exec $TOMCAT_HOME/bin/shutdown.sh

let kwait=$SHUTDOWN_WAIT
count=0
count_by=5
until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
do
    echo "Arrêt du processus."
    sleep $count_by
    let count=$count+$count_by;
done

if [ $count -gt $kwait ]; then
    echo "Arrêt forcé du processus"
    kill -9 $pid
fi
else
    echo "Tomcat n est pas démarré"
fi

return 0
}

case $1 in
start)
    start
;;
stop)
    stop
;;
restart)
    stop
    start
;;
status)
    pid=$(tomcat_pid)
    if [ -n "$pid" ]
    then
        echo "Tomcat a été démarré avec le pid: $pid"
    else
        echo "Tomcat n est pas démarré"
    fi
    ;;
esac
exit 0

On va modifié les droits de ce script à 755 et pointer un lien dans /etc/rec1 et /etc/rc2 pour que le service soit démarré avec le système.

[root@localhost ~]# chmod 755 /etc/init.d/tomcat
[root@localhost ~]# sudo ln -s /etc/init.d/tomcat /etc/rc1.d/tomcat
[root@localhost ~]# sudo ln -s /etc/init.d/tomcat /etc/rc2.d/tomcat

Par défaut Tomcat utilise le port 8080 et ainsi vous pouvez utiliser l’url suivante pour accéder à son interface d’administration :

http://server_IP_address:8080
tomcat_start_page

Configuration de l’utilisateur admin

Pour pouvoir accéder à l’interface d’administration tomcat Il est obligatoire d’ajouter un compte admin en éditant le fichier tomcat-users.xml

<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
<user username="role1" password="<must-be-changed>" roles="role1"/>
-->

Par

<role rolename="manager-gui"/>
<user username="admin" password="password" roles="manager-gui"/>

Il ne reste plus qu’enregistrer le fichier et redémarrer le serveur tomcat.

service tomcat restart


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Menu Title
Chargement...

Powered by sitedetout.com