[Linux] Création d'un serveur Amazon Linux 2, partie 2 (installation de Tomcat)


Temps d'écriture : 2021-12-22 20:55:02

Création d'un serveur Amazon Linux 2, partie 2 (installation de Tomcat)

Installons NginX, Tomcat, Jenkins sur le serveur Amazon Linux 2
Dans cette partie, le JDK ouvert est installé, puis Tomcat est installé.

Installer Java

Vérifiez si Java est installé.

$ java  
-bash: java: command not found  


Si l'installation est requise, vérifiez la version Java installable.

yum list java*jdk-devel  
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd  
Available Packages  
java-1.7.0-openjdk-devel.x86_64                                                         1:1.7.0.261-2.6.22.2.amzn2.0.2                                                         amzn2-core  
java-1.8.0-openjdk-devel.x86_64                                                         1:1.8.0.312.b07-1.amzn2.0.2                                                            amzn2-core  


Installez le JDK.

sudo yum install -y java-1.8.0-openjdk-devel.x86_64  


Vérifiez la version Java installée.

$ java -version  
openjdk version "1.8.0_312"  
OpenJDK Runtime Environment (build 1.8.0_312-b07)  
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)  


Installer Tomcat

Si JDK est installé, procédez à l'installation de Tomcat.
Tout d'abord, ajoutez l'utilisateur tomcat.

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


Allez dans le dossier tmp et téléchargez le fichier tomcat.

$ cd /tmp  
$ wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz  


Décompressez et déplacez le fichier pour installer Tomcat.

$ tar -xf apache-tomcat-9.0.56.tar.gz  
$ sudo mv apache-tomcat-9.0.56 /opt/tomcat/  


Créez un lien symbolique et modifiez les paramètres du dossier Tomcat.

$ sudo ln -s /opt/tomcat/apache-tomcat-9.0.56 /opt/tomcat/latest  
$ sudo chown -R tomcat: /opt/tomcat  
$ sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'  


Créez le fichier tomcat.service.

$ sudo vi /etc/systemd/system/tomcat.service  


Ajoutez ce qui suit au fichier tomcat.service.

[Unit]  
Description=Tomcat 9 servlet container  
After=network.target  
  
[Service]  
Type=forking  
  
User=tomcat  
Group=tomcat  
  
Environment="JAVA_HOME=/usr/lib/jvm/jre"  
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"  
  
Environment="CATALINA_BASE=/opt/tomcat/latest"  
Environment="CATALINA_HOME=/opt/tomcat/latest"  
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"  
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"  
  
ExecStart=/opt/tomcat/latest/bin/startup.sh  
ExecStop=/opt/tomcat/latest/bin/shutdown.sh  
  
[Install]  
WantedBy=multi-user.target  


Enregistrez Tomcat pour démarrer lorsque le serveur est redémarré et démarrez Tomcat.

$ sudo systemctl daemon-reload  
$ sudo systemctl enable tomcat  
$ sudo systemctl start tomcat  


Vérifiez l'état de Tomcat démarré.

$ sudo systemctl status tomcat  
● tomcat.service - Tomcat 9 servlet container  
   Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)  
   Active: active (running) since 수 2021-12-22 00:47:47 UTC; 8s ago  
  Process: 15694 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)  
 Main PID: 15701 (java)  
   CGroup: /system.slice/tomcat.service  
           └─15701 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/latest/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogMana...  


Autorisez le pare-feu si nécessaire.
Dans AWS, il vous suffit d'ajouter le port à ouvrir dans la console.

$ sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp  
$ sudo firewall-cmd --reload  


Ajoutez l'utilisateur tomcat.
Faites une copie du fichier tomcat-users.xml et commencez à le modifier.

$ sudo cp /opt/tomcat/latest/conf/tomcat-users.xml /opt/tomcat/latest/conf/tomcat-users-20211222.xml  
$ sudo vi /opt/tomcat/latest/conf/tomcat-users.xml  


Ajoutez des éléments de rôle et d'utilisateur à la dernière partie du fichier tomcat-users.xml.
L'élément user spécifie le nom d'utilisateur et le mot de passe pour se connecter.

<tomcat-users>  
   ....  
   <role rolename="admin-gui"/>  
   <role rolename="manager-gui"/>  
   <user username="admin" password="your_password" roles="admin-gui,manager-gui"/>  
</tomcat-users>  


Pour autoriser l'accès externe, modifiez les deux fichiers suivants.

/opt/tomcat/latest/webapps/manager/META-INF/context.xml  
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml  


Tout d'abord, faites une copie du premier fichier et modifiez le fichier.

$ sudo cp /opt/tomcat/latest/webapps/manager/META-INF/context.xml /opt/tomcat/latest/webapps/manager/META-INF/context-20211222.xml  
$ sudo vi /opt/tomcat/latest/webapps/manager/META-INF/context.xml  


Commentez les éléments ci-dessous qui commencent par Value dans le fichier.

<!--  
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"  
         allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />  
-->  


Le reste des fichiers est également créé et modifié.

$ sudo cp /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml /opt/tomcat/latest/webapps/host-manager/META-INF/context-20211222.xml  
$ sudo vi /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml  


Commentez l'élément Valve.

<!--  
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"  
         allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />  
-->  


Redémarrez Tomcat.

$ sudo systemctl restart tomcat  


Si vous vous connectez à http://ip:8080 et cliquez sur le bouton Manager App, vous pouvez vous connecter avec le compte ajouté au fichier tomcat-users.xml.

Autres articles dans la catégorie