Configuration TOMCAT 4.1 - Site par défaut

Bergkamp007 Messages postés 6 Statut Membre -  
 jdo -
Bonjour,

Une instance Apache Tomcat 4.1 est installée sur l'un de nos serveurs et j'aimerai faire en sorte que l'application web se trouvant dans le dossier \webapps\visualtime soit prise en compte comme site web par défaut (et non pas ROOT) lorsque quelqu'un saisit http:\\localhost.ch dans le browser Internet (sur le serveur lui-même).

D'après les divers documents que j'ai lu, il semblerait qu'il suffit de définir un nouvea contexte avec le paramètre "path" vide pour que celui-ci soit pris comme contexte par défaut... Mon fichier server.xml ressemble à ceci:

[code=xml]<?xml version='1.0' encoding='utf-8'?>
<Server className="org.apache.catalina.core.StandardServer" debug="0" port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" debug="0" jsr77Names="false"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" debug="0"/>
<GlobalNamingResources>
<Environment name="simpleValue" override="true" type="java.lang.Integer" value="30"/>
<Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" scope="Shareable" type="org.apache.catalina.UserDatabase"/>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<Service className="org.apache.catalina.core.StandardService" debug="0" name="Tomcat-Standalone">
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" acceptCount="100" bufferSize="2048" compression="off" connectionLinger="-1" connectionTimeout="20000" debug="0" disableUploadTimeout="true" enableLookups="true" maxKeepAliveRequests="100" maxProcessors="75" minProcessors="5" port="80" protocolHandlerClassName="org.apache.coyote.http11.Http11Protocol" proxyPort="0" redirectPort="443" scheme="http" secure="false" tcpNoDelay="true" useURIValidationHack="false">
<Factory className="org.apache.catalina.net.DefaultServerSocketFactory"/>
</Connector>
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" acceptCount="10" bufferSize="2048" compression="off" connectionLinger="-1" connectionTimeout="20000" debug="0" disableUploadTimeout="false" enableLookups="true" maxKeepAliveRequests="100" maxProcessors="75" minProcessors="5" port="8009" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" proxyPort="0" redirectPort="8443" scheme="http" secure="false" tcpNoDelay="true" useURIValidationHack="false">
<Factory className="org.apache.catalina.net.DefaultServerSocketFactory"/>
</Connector>
<Engine className="org.apache.catalina.core.StandardEngine" debug="0" defaultHost="localhost" mapperClass="org.apache.catalina.core.StandardEngineMapper" name="Standalone">
<Host className="org.apache.catalina.core.StandardHost" appBase="webapps" autoDeploy="true" configClass="org.apache.catalina.startup.ContextConfig" contextClass="org.apache.catalina.core.StandardContext" debug="0" deployXML="true" errorReportValveClass="org.apache.catalina.valves.ErrorReportValve" liveDeploy="true" mapperClass="org.apache.catalina.core.StandardHostMapper" name="localhost" unpackWARs="true">
<Context path="" docBase="/visualtime" debug="0" reloadable="true" ></Context>
</Host>
<Logger className="org.apache.catalina.logger.FileLogger" debug="0" directory="logs" prefix="catalina_log." suffix=".txt" timestamp="true" verbosity="1"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" debug="0" resourceName="UserDatabase" validate="true"/>
</Engine>
</Service>
</Server>[/code]


ça ne fonctionne pas... quelqu'un peut m'aider? (la page par défaut de Tomcat s'ouvre à chaque fois -> Manager)

Merci beaucoup
A voir également:

3 réponses

kij_82 Messages postés 4260 Statut Contributeur 857
 
Dans ton server.xml pour tomcat, à cet endroit :
</Engine> 
     ICI
</Service>


Il faut que tu définisse un context pour ton application, afin qu'il puisse trouver l'appli en question et la faire tourner.

Un exemple de contexte :
<Context path="/MonProjetName" 
                  reloadable="false"
                  crossContext="true"
                  docBase="C:\Program Files\eclipse\workspace\MonProjet"
                  workDir="C:\Program Files\eclipse\workspace\MonProjet\work\org\apache\jsp">
                <Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>
</Context>	


Ou : MonProjetName = le nom du contexte que tu as défini dans éclipse ou WSAD (clique droit sur le projet--> preference-->Tomcat/nom du contexte)
MonProjet = nom du projet donné dans l'environnement de travail.
workDir doit pointer sur le répertoire ou tu as tes sources compilées (jsp conpilées donc)

Voilà, si tu as bien configuré ca devrait tourné, sinon tu aura un autre type d'erreur :)

Bon courage ^^
3
Bergkamp007 Messages postés 6 Statut Membre 3
 
Merci de cette réponse mais cela ne m'aide pas vraiment... Explication en "épurant" quelque peu mon fichier server.xml (c'est vrai que c'était pas facile à lire :)):

<?xml version='1.0' encoding='utf-8'?>
<Server className="org.apache.catalina.core.StandardServer" debug="0" port="8005" shutdown="SHUTDOWN">
...
<GlobalNamingResources>
...
</GlobalNamingResources>
<Service className="org.apache.catalina.core.StandardService" debug="0" name="Tomcat-Standalone">
<Connector>
...
</Connector>
<Connector>
..
</Connector>
<Engine className="org.apache.catalina.core.StandardEngine" debug="0" defaultHost="localhost" mapperClass="org.apache.catalina.core.StandardEngineMapper" name="Standalone">
<Host className="org.apache.catalina.core.StandardHost" appBase="webapps" autoDeploy="true" configClass="org.apache.catalina.startup.ContextConfig" contextClass="org.apache.catalina.core.StandardContext" debug="0" deployXML="true" errorReportValveClass="org.apache.catalina.valves.ErrorReportValve" liveDeploy="true" mapperClass="org.apache.catalina.core.StandardHostMapper" name="localhost" unpackWARs="true">
...
</Engine>
</Service>
<Context path="" docBase="/visualtime" debug="0" reloadable="true" ></Context>
</Server>

Mon appBase est définit à "webApps" qui correspond à l'endroit où sont stockés mes sites web. webApps suffit amplement vu qu'il se trouve dans le dossier Tomcat4.1. J'ai deux dossiers à l'intérieur ROOT et VisualTime. En définissant un context patth="" et un docBase="/visualtime" cela devrait fonctionner... selon ce qu'en dit l'équipe de Tomcat:

Cf. documentation
docBase
The Document Base (also known as the Context Root) directory for this web application, or the pathname to the web application archive file (if this web application is being executed directly from the WAR file). You may specify an absolute pathname for this directory or WAR file, or a pathname that is relative to the appBase directory of the owning Host.

path
The context path of this web application, which is matched against the beginning of each request URI to select the appropriate web application for processing. All of the context paths within a particular Host must be unique. If you specify a context path of an empty string (""), you are defining the default web application for this Host, which will process all requests not assigned to other Contexts.

C'est pour ça que je ne comprend pas pourquoi ça ne fonctionne pas...
0
kij_82 Messages postés 4260 Statut Contributeur 857
 
Oui mais ton application par défaut n'est pas définie il me semble.

Enfin toujours est-il que tu peux tenter de compléter la balise contexte pour pointer sur ton application :
<Context path="/webapp" docBase="TON CHEMIN D'ACCES AUX SOURCES DU PROJET" workDir="TON CHEMIN D'ACCES AUX JSP COMPILEE" debug="0" reloadable="true" ></Context>


Peut etre que ca fonctionnera tout aussi bien..
0
Bergkamp007 Messages postés 6 Statut Membre 3
 
Je crois que tu n'as pas bien saisi ce que je cherche à faire:

1) http://localhost -> page par défaut de TOMCAT4.1 (dossier ROOT -> dans le dossier WebApps)
2) http://localhost/visualtime -> page du site web dont il est question (ça fonctionne avec ou sans context prédéfini, il suffit de saisir le nom du dossier voulu dans WebApps)

Ce que je cherche à faire:
1) http://localhost -> page du site web dont il est question (visualtime dans WebApps) -> site web chargé par défaut par mon serveur TOMCAT4.1.

Pour se faire il semblerait que définir un <Context path="" docBase="/visualtime" /> devrait fonctionner -> résultat, c'est la page par défaut de TOMCAT qui s'ouvre. Je n'ai pas d'erreur de script, configuration ou autre. Je pense que le dossier ROOT est définit ailleurs par défaut...

IIS clic droit + site par défaut tu me manques :)
0
Dav
 
Hello,

ET bien pour moi, il m'a fallut placer le contexte comme sous-balise de Host:

<Host>
....
<!-- Debug context -->
<Context path="/divers" debug="true" reloadable="true"></Context>
</Host>

C'est d'ailleurs ce qui est recommander ici: http://tomcat.apache.org/tomcat-4.1-doc/config/context.html

En espérant que ça puisse servir...
0
jdo
 
Si l'on en croit ce howto :
https://cwiki.apache.org/confluence/display/tomcat/HowTo#How_do_I_make_my_web_application_be_the_Tomcat_default_application_.3F

il faut en fait tout simplement renommer le répertoire de ta webapp pour qu'elle soit accessible par le chemin tomcat/webapps/ROOT

ça semble un peu crade comme façon de faire mais il ne semble pas y en avoir d'autre, d'apres ce howto en tout cas... mais ça marche !
0
arth Messages postés 10414 Statut Contributeur 1 293
 
Ca pourrait bien :)
-2