Apache et Tomcat
Introduction
Apache est un serveur Web : il reçoit des requêtes HTTP émises depuis un navigateur, les analyse et envoie des pages Web en réponse au navigateur.
Lorsque les requêtes HTTP concernent des pages JSP (Java Server Pages), du code Java doit être exécuté pour construire les pages Web qu'Apache doit renvoyer au navigateur. Pour cela, Apache s'appuie sur un moteur de servlets qui prend en charge cette partie du traitement. Tomcat est l'un des moteurs de servlets les plus utilisés.
Pour communiquer entre eux, Apache et Tomcat utilisent un module intermédiaire, tel que mod_jk.
L'objet de cette fiche est de présenter les différentes étapes de l'installation de base d'Apache, Tomcat et mod_jk.
Installation d'Apache
Installation des paquets
Il faut commencer par installer le paquet apache2, ainsi que d'autres paquets apache et php qui peuvent s'avérer utiles.
Par exemple, avec Debian :
$ aptitude install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-jk libapache2-mod-perl2 libapache2-mod-php5 libapache2-reload-perl php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-imap php5-ldap php5-mcrypt php5-mhash php5-mysql php5-odbc
Fichiers de configuration d'Apache
Apache2 est en général installé dans /etc/apache2. Ce répertoire contient apache2.conf, le fichier de configuration principal d'Apache.
Remarque : apache2.conf peut faire appel à d'autres fichiers de configuration, via la directive "Include". Ainsi, lorsqu'on décrit des modifications à apporter à apache2.conf, il se peut selon les configurations que ces modifications soient à apporter dans d'autres fichiers inclus par apache2.conf.
Test de l'installation d'Apache
- Pour lancer le serveur Apache :
$ /etc/init.d/apache2 start
- Pour tester Apache :
Depuis un navigateur, aller à l'adresse http://localhost/. Une page vide doit s'afficher.
- Si cela ne fonctionne pas:
- Vérifier si le port par défaut est bien le port 80 : le fichier /etc/apache2/ports.conf doit contenir :
Listen 80
- Regarder les fichiers de log dans /var/log/apache2.
- après modification, relancer Apache :
$ /etc/init.d/apache2 restart
- Pour arrêter Apache :
$ /etc/init.d/apache2 stop
Personnalisations d'Apache
Il faut ensuite activer les modules ssl, rewrite, suexec et include d'Apache : il s'agit de créer depuis le répertoire /etc/apache2/mods-enabled des liens symboliques vers les modules du répertoire /etc/apache2/mods-available dont on a besoin :
$ a2enmod ssl
$ a2enmod rewrite
$ a2enmod suexec
$ a2enmod include
Ensuite, il faut relancer Apache :
$ /etc/init.d/apache2 restart
Installation de JDK
Tomcat a besoin des bibliothèques Java disponibles dans le paquet contenant le JDK (Java Development Kit).
Pour l'installer (par exemple depuis Debian)
$ aptitude install sun-java6-jdk
Pour ne pas avoir besoin de modifier tous les fichiers de configuration lorsque vous changerez de version de JDK, on va utiliser un lien symbolique /usr/lib/jdk qui pointera sur la version de JDK de votre choix :
$ ln -s /usr/lib/jvm/java-6-sun-1.6.0.06/ /usr/lib/jdk
Installation de Tomcat
Installation des paquets
Il faut commencer par installer les paquets tomcat qui nous seront utiles.
Par exemple, avec Debian :
$ aptitude install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps libtomcat5.5-java
Lien symbolique qui pointe vers la bonne version de Tomcat
Pour ne pas avoir besoin de modifier tous les fichiers de configuration lorsque vous changerez de version de Tomcat, on va utiliser un lien symbolique /usr/lib/apache-tomcat qui pointera sur la version de Tomcat de votre choix :
$ ln -s /usr/share/tomcat5.5/ /usr/lib/apache-tomcat
Fichiers de configuration de Tomcat
Tomcat est en général installé dans /etc/tomcatxxx. Ce répertoire contient entre autres les fichiers de configuration suivants :
- server.xml : permet de configurer les ports à utiliser. En général, le port HTTP est le port 8080 (ou 8180), et la communication avec le serveur Apache via mod_jk se fait sur le port 8009.
- web.xml : permet de définir la configuration des servlets de vos applications Java.
- tomcat-users.xml : permet de définir les utiliseurs et leurs droits.
Test de l'installation de Tomcat
- Pour lancer le serveur Tomcat :
$ /usr/lib/apache-tomcat/bin/startup.sh
- Pour tester Tomcat :
- Regarder dans le fichier de configuration /etc/tomcatxxx/server.xml le numéro de port HTTP utilisé (en général, 8080 ou 8180).
- Depuis un navigateur, aller à l'adresse http://localhost:8080 (ou http://localhost:8180 selon votre configuration). La page d'accueil de Tomcat, contenant une présentation de Tomcat, doit s'afficher.
- Si cela ne fonctionne pas, regarder les fichiers de log dans /var/log/tomcatxxx.
- après modification, relancer tomcat :
$ /usr/lib/apache-tomcat/bin/shutdown.sh
$ /usr/lib/apache-tomcat/bin/startup.sh
- Pour arrêter Tomcat :
$ /usr/lib/apache-tomcat/bin/shutdown.sh