Messages
du sujet
mod_jk |
Pierre
Ville : LE PECQ
Membre depuis : 31 janv. 2010
Messages : 5
|
31 janv. 2010 à 10:35
Bonjour,
Je viens d'installer Apache, JRE, Tomcat, MySQL, PHP et phpMyAdmin sur un serveur dédié mais je n'arrive pas à faire fonctionner le mod_jk qui permet de coupler Apache et Tomcat sur le même port 80. J'ai pourtant vérifié plusieurs fois mon workers.properties et mon httpd.conf et tout semble OK... Le module est bien loadé, pas de message d'erreur. C'est la première fois que je fais cette installe sur Linux (tout via SSH) et je commence à être sérieusement bloqué ! Merci d'avance pour votre aide. --- Ashley
|
Manu
Ville : Paris / France
Membre depuis : 29 avr. 2003
Messages : 394
|
31 janv. 2010 à 15:46
Je me souviens avoir eu un peu de mal aussi pour installer ce mod_jk.
Je m'étais aidé des docs suivantes :
- http://apacheguide.org/jsp.php - http://tomcat.apache.org/tomcat-5.5-doc/setup.html - http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
Quelques trucs à vérifier :
- Est-ce que votre installation de Tomcat par défaut sur le port 8080 fonctionnait bien pour une au moins une page JSP de test de votre site ?
- Avez-vous redémarrer le serveur Apache et Tomcat ?
- Est-ce que votre fichier server.xml ressemble à quelque chose comme cela :
--------------------------
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3"
emptySessionPath="true" />
<Engine name="Catalina" defaultHost="localhost">
<Listener className="org.apache.jk.config.ApacheConfig"
modJk="/path/to/apache/modules/mod_jk.so" />
<!-- Configuration de Tomcat pour xxxxxx.com
dont les fichiers HTML et JSP sont dans /home/xxxxxx/www -->
<Host name="xxxxxx.com" appBase="/home"
unpackWARs="false" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="xxxxxx/www" />
</Host>
</Engine>
</Service>
</Server>
--------------------------
- Est-ce que dans votre fichier httpd.conf, vous avez bien :
--------------------------
<IfModule !mod_jk.c>
LoadModule jk_module "/path/to/apache/modules/mod_jk.so"
</IfModule>
--------------------------
et aussi une section VirtualHost qui ressemble à ça :
--------------------------
<VirtualHost ipAddress:80>
ServerAdmin webmaster@xxxxxx.com
DocumentRoot /home/xxxxxx/www
SuexecUserGroup xxxxxx users
ServerName www.xxxxxx.com
ServerAlias xxxxxx.com
DirectoryIndex index.html index.jsp
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
</VirtualHost>
--------------------------
- Avez-vous bien ajouté un fichier workers2.properties dans le sous-dossier conf d'apache qui ressemble à ça :
--------------------------
[logger]
level=INFO
file=/path/to/apache/logs/jk2.log
[config]
file=/path/to/apache/conf/workers.properties
debug=0
debugEnv=0
[shm]
file=/path/to/apache/logs/jk2.shm
size=1048576
# socket channel
[channel.socket:xxxxxxhost:8009]
port=8009
host=xxxxxxhost
# worker for the connector
[ajp13:xxxxxxhost:8009]
channel=channel.socket:xxxxxxhost:8009
[status:status]
[uri:/status/*]
worker=status:status
# Requests for JSP files
[uri:/*.jsp]
worker=ajp13:xxxxxxhost:8009
# Requests for servlets
[uri:/*/servlet/*]
worker=ajp13:xxxxxxhost:8009
--------------------------
Bonne chance... --- Manu (moderator/modérateur)
|
Pierre
Ville : LE PECQ
Membre depuis : 31 janv. 2010
Messages : 5
|
31 janv. 2010 à 18:33
Bonsoir Manu,
Merci beaucoup pour votre réponse.
J'avais oublié la partie VirtualHost. Cela fonctionne maintenant.
Si je veux gérer un autre site avec un autre nom de domaine, je dois rajouter un VirtualHost + déclarer un nouveau worker? Mon VirtualHost est défini dans un fichier nommé 000-default dans /etc/apache2/sites-enabled/, je peux ajouter le nouveau VirtualHost dans le même fichier ou faut-il en créer un nouveau?
Merci --- Ashley
|
Manu
Ville : Paris / France
Membre depuis : 29 avr. 2003
Messages : 394
|
31 janv. 2010 à 19:14
Vous avez de la chance, comme j'ai les deux domaines eteks.com et sweethome3d.eu hébergés sur la même machine je peux vous répondre facilement ;-)
Pour un second domaine yyyyyy.com dont les fichiers HTML et JSP sont dans /home/yyyyyy/www, il faut ajouter dans le fichier server.xml un élément Host juste après le premier :
--------------------------
<Host name="yyyyyy.com" appBase="/home"
unpackWARs="false" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="yyyyyy/www" />
</Host>
--------------------------
et dans le fichier httpd.conf une autre section VirtualHost :
--------------------------
<VirtualHost ipAddress:80>
ServerAdmin webmaster@yyyyyy.com
DocumentRoot /home/yyyyyy/www
SuexecUserGroup yyyyyy users
ServerName www.yyyyyy.com
ServerAlias yyyyyy.com
DirectoryIndex index.html index.jsp
JkMount /*.jsp ajp13
</VirtualHost>
--------------------------
Je vous conseille aussi d'ajouter dans httpd.conf une section qui interdise l'accès au dossier WEB-INF comme le fait Tomcat :
--------------------------
<Location "/WEB-INF">
Deny from all
</Location>
--------------------------
Je ne sais s'il faut faire autre chose à part associer le domaine yyyyyy.com à votre machine (OVH fournit des outils qui aident à créer un nouveau utilisateur/serveur virtuel, mais il est bien possible que cela suffise). --- Manu (moderator/modérateur)
|
Manu
Ville : Paris / France
Membre depuis : 29 avr. 2003
Messages : 394
|
31 janv. 2010 à 19:17
Au passage, si vous voulez utiliser phpMyAdmin sur votre serveur, il faut ajouter aussi la ligne
AddHandler x-httpd-php5 .php
dans la section VirtualHost. --- Manu (moderator/modérateur)
|
Pierre
Ville : LE PECQ
Membre depuis : 31 janv. 2010
Messages : 5
|
31 janv. 2010 à 20:13
Super, je garde ça sous le coude pour mon autre domaine.
Pas évident ce mod_jk, pourtant il y a plein de tutoriaux sur le sujet. Je n'ai toujours pas compris cette histoire de workers2.properties. Pourquoi est-ce que je ne peux pas le nommer travailleur.properties puisqu'il faut l'indiquer explicitement dans le JkWorkersFile dans httpd.conf ? Je n'ai pas encore tout lu mais d'après ce doc http://tomcat.apache.org/connectors-doc-archive/jk2/jk2/confighowto.html il y a un JK2 qui fonctionne un peu comme le mod_jk mais dont la config est différente et nécessite un workers2.properties et un autre fichier jk2.properties.
En tout cas merci beaucoup pour votre aide.
Salutations, --- Ashley
|
Pierre
Ville : LE PECQ
Membre depuis : 31 janv. 2010
Messages : 5
|
7 févr. 2010 à 19:37
Bonsoir Manu,
J'ai encore quelques soucis avec mes JkMounts.
Pour tester le bon fonctionnement, j'ai copié les Tomcat Examples dans mon site. Les JSP fonctionnent mais pas les Servlets. Je reçois le messge suivant : The requested resource (/examples/servlets/servlet/HelloWorldExample) is not available. Est-ce qu'il y a quelque chose en particulier à faire pour les servlets?
Merci d'avance
Ashley --- Ashley
|
Manu
Ville : Paris / France
Membre depuis : 29 avr. 2003
Messages : 394
|
12 avr. 2010 à 13:59
Les servlets doivent être décrites dans le fichier WEB-INF/web.xml --- Manu (moderator/modérateur)
|