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 🙂 ) :

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 :

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 :

groupadd tomcat
useradd -g tomcat tomcat

Affectation des droits :

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

Création d’un lanceur pour tomcat :

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 :

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) :

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 :

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

Sauvegarde du fichier de configuration original :

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 :

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 :

<!--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é) :

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)

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

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

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 :

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.