CentOS 5.5 – Install Tomcat 7

FrançaisLinuxTutorials

Paramètres de configuration
Manager : admin / adminPassword
Admin : manager / managerPassword

Pré-requis

CentOS 5.5 – Install Java 6

Installation Tomcat 7
Allons dans le répertoire de téléchargement et récupérons tomcat (si ce miroir ne répond pas trouvez-en un autre 🙂 ) :

1
2
cd ~
wget -c  http://mirror.ovh.net/ftp.apache.org/dist/tomcat/tomcat-7/v7.0.12/bin/apache-tomcat-7.0.12.tar.gz

Décompression de tomcat dans /usr/local/ et création des liens symbolique pour simplifier les changements de versions plus tard :

1
2
3
4
cd /usr/local/
tar zxvf ~/apache-tomcat-7.0.12.tar.gz
mv apache-tomcat-7.0.12 tomcat-7.0.12
ln -s tomcat-7.0.12/ tomcat

Création de l’utilisateur qui contrôlera le processus :

1
2
groupadd tomcat
useradd -g tomcat tomcat

Affectation des droits :

1
2
chown tomcat:tomcat /usr/local/tomcat
chown -R tomcat:tomcat /usr/local/tomcat-7.0.12

Création d’un lanceur pour tomcat :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
cat > /etc/init.d/tomcat << "EOF"
#!/bin/bash
# chkconfig: 3 21 91
#
# Tomcat
#
# description: Start up the Tomcat servlet engine.
 
# Source function library.
. /etc/init.d/functions
 
 
RETVAL=$?
TOMCATHOME="/usr/local/tomcat"
 
case "$1" in
  start)
    if &#91; -f $TOMCATHOME/bin/startup.sh &#93;;
      then
      echo $"Starting Tomcat"
      /bin/su - tomcat -c $TOMCATHOME/bin/startup.sh
    fi
  ;;
 
  stop)
    if &#91; -f $TOMCATHOME/bin/shutdown.sh &#93;;
      then
      TOMCAT_PID=<code>ps -ef | grep java | grep tomcat | awk '{print $2}'</code>
      echo $"Stopping Tomcat with PID=$TOMCAT_PID"
      /bin/su - tomcat -c $TOMCATHOME/bin/shutdown.sh
      sleep 15s
      kill $TOMCAT_PID
    fi
  ;;
 
  *)
    echo $"Usage: $0 {start|stop}"
    exit 1
  ;;
esac
 
exit $RETVAL
EOF

On rend ce fichier exécutable :

1
chmod a+x /etc/init.d/tomcat

On met à jour le fichier des user de tomcat (le fichier par défaut n’est pas top) :

1
2
3
4
5
6
7
8
9
cat > /usr/local/tomcat/conf/tomcat-users.xml << "EOF"
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="admin" password="adminPassword" roles="admin,manager"/>
  <user username="manager" password="managerPassword" roles="manager"/>
</tomcat-users>
EOF

Affectation des répertoires à l’utilisateur tomcat :

1
2
chown tomcat:tomcat /usr/local/tomcat
chown -R tomcat:tomcat /usr/local/tomcat-7.0.12</pre>

Sauvegarde du fichier de configuration original :

1
mv /usr/local/tomcat/conf/server.xml /usr/local/tomcat/conf/server.xml.ORIG

Création d’un fichier de configuration qui est prêt à fonctionné en mode connecteur avec Apache :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
cat > /usr/local/tomcat/conf/server.xml << "EOF"
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
 
  <GlobalNamingResources>
    <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>
 
  <Service name="Catalina">
 
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
 
    <Engine name="Catalina" defaultHost="localhost">
 
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
 
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
 
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" resolveHosts="false"/>
 
      </Host>
    </Engine>
  </Service>
</Server>
EOF

Pour faire fonctionner Tomcat en standelone il suffit de décommenter la ligne suivante :

1
2
3
<!--Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" /-->

On arrête tomcat (au cas ou il à été démarré) :

1
2
chmod 700 /etc/init.d/tomcat
/etc/init.d/tomcat stop

On permet à Tomcat de se lancer au démarrage du serveur (et de se couper à l’arrêt du serveur)

1
2
/sbin/chkconfig --level 3 tomcat on
/sbin/chkconfig --level 06 tomcat off

Ajoutons à la fin de /etc/profile des choses (CATALINA_HOME) :

1
2
3
4
5
6
7
8
9
10
11
12
13
cat >> /etc/profile << "EOF"
 
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
 
&#91;/shell&#93;
On lance tomcat :
&#91;shell&#93;
/etc/init.d/tomcat start
&#91;/shell&#93;
On regarde si <strong>Server started</strong> s'affiche à la fin du fichier de log :
[shell]
tail -f /usr/local/tomcat/logs/catalina.out

Ctrl + c pour sortir du tail.

Le firewall
N’oublions pas de régler le firewall histoire qu’il autorise les connexions sur notre serveur tomcat :

1
2
3
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 8009 -j ACCEPT
/sbin/service iptables save

Pour aller plus loin

CentOS 5.5 – Install Apache 2
CentOS 5.5 – Install JK connector – Apache 2 / Tomcat 6

@musez-vous bien !

Previous
Debian 6 beta2 – Serveurs : Apache, Tomcat & Postgres
Next
CentOS 5.5 – Install MySQL 7

Leave a comment

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.