I'm interested to hear other ideas, but I have used multiple <service>
entries to achieve this. In my case, each hostname has a dedicated IP
and a DNS entry.

Having multiple service entries allows you to have separation of almost
all the config elements, like ports, appbase, logging etc.

Cheers, Ben

On Wed, 2006-09-13 at 19:03 -0400, [EMAIL PROTECTED] wrote:
> I want to configure Tomcat so that I can have three hostnames live
> on the same physical machine, but each have their own separate areas.
> with one instance of Tomcat?
> 
> Users would hit URL's such as:
> 
> http://host1/
> http://host2/
> http://host3/
> 
> where each host should have its own webapps directory on the machine.
> For example,
> 
> host1 --> /tomcat5/access/WEB-INF
> host2 --> /tomcat5/ihl/WEB-INF
> host3 --> /tomcat5/ulc/WEB-INF
> 
> I've tried several things including the addition of a three <Host>
> directive underneath <Engine> but I can't seem to make it work. I
> would appreciate a tip or a sample configuration file.
> 
> I've searched the web a bit and there seem to be several references to
> having Apache (HTTP Server) in front of Tomcat. However, I don't
> need/want a separate HTTP Server for now.
> 
> my server.xml
> --------------------------------------------------
> <Server port="8005" shutdown="SHUTDOWN">
>   <Listener className="org.apache.catalina.core.AprLifecycleListener" />
>   <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
>   <Listener
> className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
>   <Listener
> className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
>   <GlobalNamingResources>
>     <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
>     <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" maxHttpHeaderSize="8192"
>                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
>                enableLookups="false" redirectPort="8443" acceptCount="100"
>                connectionTimeout="20000" disableUploadTimeout="true" />
>     <Connector port="8009" 
>                enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
>     <Engine name="Standalone" defaultHost="access1.resolution.com" debug="0"
> jvmRoute="jvm1">
>       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
>              resourceName="UserDatabase"/>
>       <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true"
> autoDeploy="true">
>                 <Context path="" docBase="ROOT" debug="0"/>
>       </Host>
> 
>       <Host name="access1.resolution.com" appBase="webapps"
>        unpackWARs="true" autoDeploy="true"
>        xmlValidation="false" xmlNamespaceAware="false">
> 
>       <Realm className="org.apache.catalina.realm.JDBCRealm" debug="0"
>                 driverName="com.edb.Driver"                 
>                 connectionURL="jdbc:edb://baba1:9999/development"
>               connectionName="test"
>               connectionPassword="test"
>                 userTable="dbuser"
>                 userNameCol="username"
>                 userCredCol="password"
>                 userRoleTable="user_classes"
>                 roleNameCol="classDescription" 
>         />
> 
>         <Logger className="org.apache.catalina.logger.FileLogger"
>                  directory="logs"  prefix="access1_log." suffix=".txt" 
> debug="99"
>                 timestamp="true"/>
> 
>         <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
>                  
> managerClassName="org.apache.catalina.cluster.session.DeltaManager"
>                  expireSessionsOnShutdown="false"
>                  useDirtyFlag="true"
>                  notifyListenersOnReplication="true">
> 
>             <Membership 
>                 className="org.apache.catalina.cluster.mcast.McastService"
>                 mcastAddr="228.0.0.4"
>                 mcastPort="45564"
>                 mcastFrequency="500"
>                 mcastDropTime="3000"/>
>             
>             <Receiver 
>                 
> className="org.apache.catalina.cluster.tcp.ReplicationListener"
>                 tcpListenAddress="access1"
>                 tcpListenPort="4001"
>                 tcpSelectorTimeout="100"
>                 tcpThreadCount="6"/>
> 
>             <Sender
>                 
> className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
>                 replicationMode="pooled"
>                 ackTimeout="15000"
>                 waitForAck="true"/>
> 
>             <Valve 
> className="org.apache.catalina.cluster.tcp.ReplicationValve"
>                   
> filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
>                    
>             <Deployer 
> className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
>                       tempDir="/tmp/war-temp/"
>                       deployDir="/tmp/war-deploy/"
>                       watchDir="/tmp/war-listen/"
>                       watchEnabled="false"/>
>                       
>             <ClusterListener
> className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
>         </Cluster>
>         
>         <Context    path="/access" 
>                     docBase="/web/sites/dbAccess" 
>                     debug="0" 
>                     reloadable="true">
>         
>         <Logger     className="org.apache.catalina.logger.FileLogger"
>                     prefix="access_log." suffix=".txt" debug="99"
>                     timestamp="true"/>
>                                   
>         <Resource   name="jdbc/ifx"
>                     auth="Container"
>                     type="javax.sql.DataSource"
>                     username="test"
>                     password="test"
>                     driverClassName="com.edb.Driver"
>                     url="jdbc:edb://baba1:9999/development"
>                     validationQuery="SELECT dbuser.id FROM dbuser WHERE id = 
> 1"
>                     maxActive="20"
>                     maxIdle="20"
>                     maxWait="10000"/>
>                
>         <Resource   name="jdbc/workflow"
>                     auth="Container"
>                     type="javax.sql.DataSource"
>                     username="test"
>                     password="test"
>                     driverClassName="com.edb.Driver"
>                     url="jdbc:edb://baba1:9999/workflowdb"
>                     maxActive="0"
>                     maxIdle="20"
>                     maxWait="10000"/>
> 
>         <Resource   name="jdbc/azure"
>                     auth="Container"
>                     type="javax.sql.DataSource"                    
>                     username="test"
>                     password="test"                    
>                     driverClassName="org.objectweb.cjdbc.driver.Driver"       
>  
>            
>                     url="jdbc:edb://baba1:9999/azure"
>                     maxActive="0"
>                     maxIdle="20"
>                     maxWait="10000"/>        
>         </Context>
>         
>       </Host>
>       
>       
>       <Host name="ihl1.resolution.com" appBase="webapps"
>        unpackWARs="true" autoDeploy="true"
>        xmlValidation="false" xmlNamespaceAware="false">
> 
>        
>       <Realm className="org.apache.catalina.realm.JDBCRealm" debug="0"
>                 driverName="com.edb.Driver"                 
>                 connectionURL="jdbc:edb://baba1:9999/development"
>               connectionName="test"
>               connectionPassword="test"
>                 userTable="dbuser"
>                 userNameCol="username"
>                 userCredCol="password"
>                 userRoleTable="user_classes"
>                 roleNameCol="classDescription" 
>         />
>         
> 
>         <Logger className="org.apache.catalina.logger.FileLogger"
>                  directory="logs"  prefix="ihl1_log." suffix=".txt" debug="99"
>                 timestamp="true"/>
>         
>         <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
>                  
> managerClassName="org.apache.catalina.cluster.session.DeltaManager"
>                  expireSessionsOnShutdown="false"
>                  useDirtyFlag="true"
>                  notifyListenersOnReplication="true">
> 
>             <Membership 
>                 className="org.apache.catalina.cluster.mcast.McastService"
>                 mcastAddr="228.0.0.4"
>                 mcastPort="45564"
>                 mcastFrequency="500"
>                 mcastDropTime="3000"/>
>             
>             <Receiver 
>                 
> className="org.apache.catalina.cluster.tcp.ReplicationListener"
>                 tcpListenAddress="ihl1"
>                 tcpListenPort="4001"
>                 tcpSelectorTimeout="100"
>                 tcpThreadCount="6"/>
> 
>             <Sender
>                 
> className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
>                 replicationMode="pooled"
>                 ackTimeout="15000"
>                 waitForAck="true"/>
> 
>             <Valve 
> className="org.apache.catalina.cluster.tcp.ReplicationValve"
>                   
> filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
>                    
>             <Deployer 
> className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
>                       tempDir="/tmp/war-temp/"
>                       deployDir="/tmp/war-deploy/"
>                       watchDir="/tmp/war-listen/"
>                       watchEnabled="false"/>
>                       
>             <ClusterListener
> className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
>         </Cluster>
>                 
>         
>         <Context    path="/ihl" 
>                     docBase="/web/sites/ihl" 
>                     debug="0" 
>                     reloadable="true">
>         
>         <Logger     className="org.apache.catalina.logger.FileLogger"
>                     prefix="ihl_log." suffix=".txt" debug="99"
>                     timestamp="true"/>
>                                   
>         <Resource   name="jdbc/ifx"
>                     auth="Container"
>                     type="javax.sql.DataSource"
>                     username="test"
>                     password="test"
>                     driverClassName="com.edb.Driver"
>                     url="jdbc:edb://baba1:9999/development"
>                     validationQuery="SELECT dbuser.id FROM dbuser WHERE id = 
> 1"
>                     maxActive="20"
>                     maxIdle="20"
>                     maxWait="10000"/>
>                
>         <Resource   name="jdbc/pgsql"
>                     auth="Container"
>                     type="javax.sql.DataSource"
>                     username="test"
>                     password="test"
>                     driverClassName="com.edb.Driver"
>                     url="jdbc:edb://baba1:9999/workflowdb"
>                     maxActive="2"
>                     maxIdle="2"
>                     maxWait="10000"/>        
>         </Context>
>       
>       </Host>
>       
>       
>       <Host name="ulc1.resolution.com" appBase="webapps"
>        unpackWARs="true" autoDeploy="true"
>        xmlValidation="false" xmlNamespaceAware="false">
> 
>       <Realm className="org.apache.catalina.realm.JDBCRealm" debug="0"
>                 driverName="com.edb.Driver"                 
>                 connectionURL="jdbc:edb://baba1:9999/development"
>               connectionName="test"
>               connectionPassword="test"
>                 userTable="dbuser"
>                 userNameCol="username"
>                 userCredCol="password"
>                 userRoleTable="user_classes"
>                 roleNameCol="classDescription" 
>         />
> 
>         <Logger className="org.apache.catalina.logger.FileLogger"
>                  directory="logs"  prefix="ulc1_log." suffix=".txt" debug="99"
>                 timestamp="true"/>
>         
>         <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
>                  
> managerClassName="org.apache.catalina.cluster.session.DeltaManager"
>                  expireSessionsOnShutdown="false"
>                  useDirtyFlag="true"
>                  notifyListenersOnReplication="true">
> 
>             <Membership 
>                 className="org.apache.catalina.cluster.mcast.McastService"
>                 mcastAddr="228.0.0.4"
>                 mcastPort="45564"
>                 mcastFrequency="500"
>                 mcastDropTime="3000"/>
>             
>             <Receiver 
>                 
> className="org.apache.catalina.cluster.tcp.ReplicationListener"
>                 tcpListenAddress="ulc1"
>                 tcpListenPort="4001"
>                 tcpSelectorTimeout="100"
>                 tcpThreadCount="6"/>
> 
>             <Sender
>                 
> className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
>                 replicationMode="pooled"
>                 ackTimeout="15000"
>                 waitForAck="true"/>
> 
>             <Valve 
> className="org.apache.catalina.cluster.tcp.ReplicationValve"
>                   
> filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
>                    
>             <Deployer 
> className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
>                       tempDir="/tmp/war-temp/"
>                       deployDir="/tmp/war-deploy/"
>                       watchDir="/tmp/war-listen/"
>                       watchEnabled="false"/>
>                       
>             <ClusterListener
> className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
>         </Cluster>
>         
>                 
>         <Context    path="/ulc" 
>                     docBase="/web/sites/ulc" 
>                     debug="0" 
>                     reloadable="true">
>         
>         <Logger     className="org.apache.catalina.logger.FileLogger"
>                     prefix="ulc_log." suffix=".txt" debug="99"
>                     timestamp="true"/>
>                                   
>         <Resource   name="jdbc/ifx"
>                     auth="Container"
>                     type="javax.sql.DataSource"
>                     username="test"
>                     password="test"
>                     driverClassName="com.edb.Driver"
>                     url="jdbc:edb://baba1:9999/development"
>                     validationQuery="SELECT dbuser.id FROM dbuser WHERE id = 
> 1"
>                     maxActive="20"
>                     maxIdle="20"
>                     maxWait="10000"/>
>                
>         <Resource   name="jdbc/pgsql"
>                     auth="Container"
>                     type="javax.sql.DataSource"
>                     username="test"
>                     password="test"
>                     driverClassName="com.edb.Driver"
>                     url="jdbc:edb://baba1:9999/workflowdb"
>                     maxActive="2"
>                     maxIdle="2"
>                     maxWait="10000"/>        
>         </Context>
> 
>       </Host>
> 
>     </Engine>
> 
>   </Service>
> 
> </Server>
> --------------------------------------------------
> 
> -------------------------------------------------
> This mail sent through IMP: www.resolution.com
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to