Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:tomcat:tc03 [2021/11/07 07:17] adminelearning:workbooks:tomcat:tc03 [2023/12/05 09:11] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
 +
 +Version : **2023.01**.
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======SER303 - Configuration du serveur Tomcat 8======+======SER303 - Configuration du serveur Tomcat======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **SER303 - Configuration du serveur Tomcat 8**+  * **SER303 - Configuration du serveur Tomcat**
     * Contenu du Module     * Contenu du Module
     * Architecture du Serveur     * Architecture du Serveur
Ligne 773: Ligne 775:
 | resolveHosts | Transforme les adresse IP en nom d'hôte en utilisant un serveur DNS |  false  |  false  | | resolveHosts | Transforme les adresse IP en nom d'hôte en utilisant un serveur DNS |  false  |  false  |
 | fileDateFormat | Spécifie le format de date utilisé pour nommé le fichier |  -  |  yyyy_MM_dd  | | fileDateFormat | Spécifie le format de date utilisé pour nommé le fichier |  -  |  yyyy_MM_dd  |
 +
 +Voici le fichier **server.xml** au complet :
 +
 +<code>
 +<?xml version='1.0' encoding='utf-8'?>
 +<!--
 +  Licensed to the Apache Software Foundation (ASF) under one or more
 +  contributor license agreements.  See the NOTICE file distributed with
 +  this work for additional information regarding copyright ownership.
 +  The ASF licenses this file to You under the Apache License, Version 2.0
 +  (the "License"); you may not use this file except in compliance with
 +  the License.  You may obtain a copy of the License at
 +
 +      http://www.apache.org/licenses/LICENSE-2.0
 +
 +  Unless required by applicable law or agreed to in writing, software
 +  distributed under the License is distributed on an "AS IS" BASIS,
 +  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +  See the License for the specific language governing permissions and
 +  limitations under the License.
 +-->
 +<!-- Note:  A "Server" is not itself a "Container", so you may not
 +     define subcomponents such as "Valves" at this level.
 +     Documentation at /docs/config/server.html
 + -->
 +<Server port="8005" shutdown="SHUTDOWN">
 +  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
 +  <!-- Security listener. Documentation at /docs/config/listeners.html
 +  <Listener className="org.apache.catalina.security.SecurityListener" />
 +  -->
 +  <!--APR library loader. Documentation at /docs/apr.html -->
 +  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
 +  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
 +  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
 +  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
 +  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
 +
 +  <!-- Global JNDI resources
 +       Documentation at /docs/jndi-resources-howto.html
 +  -->
 +  <GlobalNamingResources>
 +    <!-- Editable user database that can also be used by
 +         UserDatabaseRealm to authenticate users
 +    -->
 +    <Resource name="UserDatabase" auth="Container"
 +              type="org.apache.catalina.UserDatabase"
 +              description="User database that can be updated and saved"
 +              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
 +              pathname="conf/tomcat-users.xml" />
 +  </GlobalNamingResources>
 +
 +  <!-- A "Service" is a collection of one or more "Connectors" that share
 +       a single "Container" Note:  A "Service" is not itself a "Container",
 +       so you may not define subcomponents such as "Valves" at this level.
 +       Documentation at /docs/config/service.html
 +   -->
 +  <Service name="Catalina">
 +
 +    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
 +    <!--
 +    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
 +        maxThreads="150" minSpareThreads="4"/>
 +    -->
 +
 +
 +    <!-- A "Connector" represents an endpoint by which requests are received
 +         and responses are returned. Documentation at :
 +         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
 +         Java AJP  Connector: /docs/config/ajp.html
 +         APR (HTTP/AJP) Connector: /docs/apr.html
 +         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
 +    -->
 +    <Connector port="8080" protocol="HTTP/1.1"
 +               connectionTimeout="20000"
 +               redirectPort="8443" />
 +    <!-- A "Connector" using the shared thread pool-->
 +    <!--
 +    <Connector executor="tomcatThreadPool"
 +               port="8080" protocol="HTTP/1.1"
 +               connectionTimeout="20000"
 +               redirectPort="8443" />
 +    -->
 +    <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443
 +         This connector uses the NIO implementation that requires the JSSE
 +         style configuration. When using the APR/native implementation, the
 +         OpenSSL style configuration is required as described in the APR/native
 +         documentation -->
 +    <!--
 +    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
 +               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
 +               clientAuth="false" sslProtocol="TLS" />
 +    -->
 +
 +    <!-- Define an AJP 1.3 Connector on port 8009 -->
 +    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
 +
 +
 +    <!-- An Engine represents the entry point (within Catalina) that processes
 +         every request.  The Engine implementation for Tomcat stand alone
 +         analyzes the HTTP headers included with the request, and passes them
 +         on to the appropriate Host (virtual host).
 +         Documentation at /docs/config/engine.html -->
 +
 +    <!-- You should set jvmRoute to support load-balancing via AJP ie :
 +    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
 +    -->
 +    <Engine name="Catalina" defaultHost="localhost">
 +
 +      <!--For clustering, please take a look at documentation at:
 +          /docs/cluster-howto.html  (simple how to)
 +          /docs/config/cluster.html (reference documentation) -->
 +      <!--
 +      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
 +      -->
 +
 +      <!-- Use the LockOutRealm to prevent attempts to guess user passwords
 +           via a brute-force attack -->
 +      <Realm className="org.apache.catalina.realm.LockOutRealm">
 +        <!-- This Realm uses the UserDatabase configured in the global JNDI
 +             resources under the key "UserDatabase" Any edits
 +             that are performed against this UserDatabase are immediately
 +             available for use by the Realm.  -->
 +        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
 +               resourceName="UserDatabase"/>
 +      </Realm>
 +
 +      <Host name="localhost"  appBase="webapps"
 +            unpackWARs="true" autoDeploy="true">
 +
 +        <!-- SingleSignOn valve, share authentication between web applications
 +             Documentation at: /docs/config/valve.html -->
 +        <!--
 +        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
 +        -->
 +        <Valve className="org.apache.catalina.valves.AccessLogValve"
 +        directory="logs" prefix="tomcat_access." suffix=".txt"
 +        resolveHosts="false" fileDateFormat="yyyy_MM_dd"
 +        pattern="%t - %a %H %s - %r"/>
 +        <!-- Access log processes all example
 +             Documentation at: /docs/config/valve.html
 +             Note: The pattern used is equivalent to using pattern="common" -->
 +
 +      </Host>
 +    </Engine>
 +  </Service>
 +</Server>
 +</code>
  
 Dans ce cas, le fichier généré sera nommé **tomcat_access.yyyy_MM_dd.txt**. Dans ce cas, le fichier généré sera nommé **tomcat_access.yyyy_MM_dd.txt**.
Ligne 854: Ligne 1003:
  
 <file> <file>
-CREATE DATABASE `tomcat`; 
 USE `tomcat`; USE `tomcat`;
 CREATE TABLE `tomcat`.`AccessLog` ( CREATE TABLE `tomcat`.`AccessLog` (
Ligne 877: Ligne 1025:
 [root@centos7 bin]# vi tomcat.sql [root@centos7 bin]# vi tomcat.sql
 [root@centos7 bin]# cat tomcat.sql [root@centos7 bin]# cat tomcat.sql
-CREATE DATABASE `tomcat`; 
 USE `tomcat`; USE `tomcat`;
 CREATE TABLE `tomcat`.`AccessLog` ( CREATE TABLE `tomcat`.`AccessLog` (
Ligne 895: Ligne 1042:
 </code> </code>
  
-Ce fichier contient les commandes SQL nécessaires pour créer la base de données MariaDB qui recevra les traces. Injectez donc les commandes SQL dans MariaDB :+Ce fichier contient les commandes SQL nécessaires pour créer la table **AccessLog** qui recevra les traces.  
 + 
 +Créez donc la base de données **tomcat** : 
 + 
 +<code> 
 +[root@centos7 bin]# mysql -u root -p 
 +Enter password:fenestros 
 +Welcome to the MariaDB monitor.  Commands end with ; or \g. 
 +Your MariaDB connection id is 6 
 +Server version: 5.5.64-MariaDB MariaDB Server 
 + 
 +Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. 
 + 
 +Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
 + 
 +MariaDB [(none)]> CREATE DATABASE tomcat; 
 +... 
 +MariaDB [(none)]> exit 
 +</code> 
 + 
 +Injectez donc les commandes SQL dans MariaDB :
  
 <code> <code>
Ligne 1056: Ligne 1223:
 Bye Bye
 </code> </code>
 +
  
 ===L'élément <Listener>=== ===L'élément <Listener>===
Ligne 1613: Ligne 1781:
  
 ----- -----
-<html> +Copyright © 2023 Hugh Norris.
-<div align="center"> +
-Copyright © 2021 Hugh Norris. +
-</div> +
-</html>+
Menu