Foros del Web » Programación para mayores de 30 ;) » Java »

Configuracion de dominio para Tomcat

Estas en el tema de Configuracion de dominio para Tomcat en el foro de Java en Foros del Web. Hola buenas. Tengo que configurar un servidor para que pueda atender peticiones mediante un domino (configurar un host en tomcat). He seguido ejemplos como los ...
  #1 (permalink)  
Antiguo 28/12/2011, 09:47
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 7 meses
Puntos: 3
Configuracion de dominio para Tomcat

Hola buenas.

Tengo que configurar un servidor para que pueda atender peticiones mediante un domino (configurar un host en tomcat).

He seguido ejemplos como los que aparecen en:

http://www.forosdelweb.com/f45/confi...tomcat-400391/

http://www.adictosaltrabajo.com/tuto...plesHostTomcat

Ambos son prácticamente idénticos.

Su finalidad a parte de poder servir mas de una aplicación es poder acceder a ellas mediante un dominio www.dominioejemplo.com en la barra de dirección del navegador, que es lo que necesito.

Este es el contenido de mi server.xml

Código:
<?xml version='1.0' encoding='utf-8'?>

<!--

  Licensed to the Apache Software Foundation (ASF) under one or more

  contributor license agreements.  See the NOTICE file distributed with

  this work for additional information regarding copyright ownership.

  The ASF licenses this file to You under the Apache License, Version 2.0

  (the "License"); you may not use this file except in compliance with

  the License.  You may obtain a copy of the License at



      http://www.apache.org/licenses/LICENSE-2.0



  Unless required by applicable law or agreed to in writing, software

  distributed under the License is distributed on an "AS IS" BASIS,

  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  See the License for the specific language governing permissions and

  limitations under the License.

-->

<!-- Note:  A "Server" is not itself a "Container", so you may not

     define subcomponents such as "Valves" at this level.

     Documentation at /docs/config/server.html

 -->

<Server port="8005" shutdown="SHUTDOWN">

  <!-- Security listener. Documentation at /docs/config/listeners.html

  <Listener className="org.apache.catalina.security.SecurityListener" />

  -->

  <!--APR library loader. Documentation at /docs/apr.html -->

  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->

  <Listener className="org.apache.catalina.core.JasperListener" />

  <!-- Prevent memory leaks due to use of particular java/javax APIs-->

  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />

  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />



  <!-- Global JNDI resources

       Documentation at /docs/jndi-resources-howto.html

  -->

  <GlobalNamingResources>

    <!-- Editable user database that can also be used by

         UserDatabaseRealm to authenticate users

    -->

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



  <!-- A "Service" is a collection of one or more "Connectors" that share

       a single "Container" Note:  A "Service" is not itself a "Container",

       so you may not define subcomponents such as "Valves" at this level.

       Documentation at /docs/config/service.html

   -->

  <Service name="Catalina">



    <!--The connectors can use a shared executor, you can define one or more named thread pools-->

    <!--

    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"

        maxThreads="150" minSpareThreads="4"/>

    -->





    <!-- A "Connector" represents an endpoint by which requests are received

         and responses are returned. Documentation at :

         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)

         Java AJP  Connector: /docs/config/ajp.html

         APR (HTTP/AJP) Connector: /docs/apr.html

         Define a non-SSL HTTP/1.1 Connector on port 8080

    -->

    <Connector port="80" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

    <!-- A "Connector" using the shared thread pool-->

    <!--

    <Connector executor="tomcatThreadPool"

               port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

    -->

    <!-- Define a SSL HTTP/1.1 Connector on port 8443

         This connector uses the JSSE configuration, when using APR, the

         connector should be using the OpenSSL style configuration

         described in the APR documentation -->

    <!--

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" />

    -->



    <!-- Define an AJP 1.3 Connector on port 8009 -->

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />





    <!-- An Engine represents the entry point (within Catalina) that processes

         every request.  The Engine implementation for Tomcat stand alone

         analyzes the HTTP headers included with the request, and passes them

         on to the appropriate Host (virtual host).

         Documentation at /docs/config/engine.html -->



    <!-- You should set jvmRoute to support load-balancing via AJP ie :

    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">

    -->

    <Engine name="Catalina" defaultHost="www.dominioejemplo.com">



      <!--For clustering, please take a look at documentation at:

          /docs/cluster-howto.html  (simple how to)

          /docs/config/cluster.html (reference documentation) -->

      <!--

      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

      -->



      <!-- Use the LockOutRealm to prevent attempts to guess user passwords

           via a brute-force attack -->

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <!-- This Realm uses the UserDatabase configured in the global JNDI

             resources under the key "UserDatabase".  Any edits

             that are performed against this UserDatabase are immediately

             available for use by the Realm.  -->

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

               resourceName="UserDatabase"/>

      </Realm>



      <Host name="www.dominioejemplo.com"  appBase="webapps/aplicacionUno"

            unpackWARs="true" autoDeploy="true">



        <!-- SingleSignOn valve, share authentication between web applications

             Documentation at: /docs/config/valve.html -->

        <!--

        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />

        -->



        <!-- Access log processes all example.

             Documentation at: /docs/config/valve.html

             Note: The pattern used is equivalent to using pattern="common" -->

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="dominioejemplo_access_log." suffix=".txt"

               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host> 

    </Engine>

  </Service>

</Server>
Luego en el fichero hosts le he añadido la linea:

3X.1XX.XX1.XX www.dominioejemplo.com

siendo la ip del servidor y el dominio que se ha contratado.

-------------------------

El archivo aplicacionUno.war lo dejo en la carpeta webapps de la raíz de tomcat y este es desplegado creando el direcctorio aplicacionUno, por eso especifico en el server.xml lo siguiente.

<Host name="www.dominioejemplo.com" appBase="webapps/aplicacionUno"

unpackWARs="true" autoDeploy="true">

!Lo he probado solo con appBase="webapps" y nada¡

En server.xml en la parte de Connector port="80" He probado poniendo lo que especifica en los enlaces de mas arriba:

<Connector port="80" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />

¡Y nada!

En otros ejemplos hablan de cname pero estos son negativos para el posicionamiento y además nuestro proveedor no nos da ese servicio.

Perdonar por esta pregunta, pero apache no es necesario para lo que pretendemos hacer verdad? Solo queremos tener una aplicación y poder acceder a ella mediante el dominio.
Apache orientado a servidor web, imágenes documentos y balanceador de para aplicaciones entre otras cosa. Lo siento pero es que no se que mas hacerle para que enlace con la aplicación mediante el dominio.

Se que hay mucho en internet al respecto, lo he visto, pero es que casi todos los post son idénticos o copiados del mismo.

Sin mas y sinceramente espero vuestra ayuda.

Gracias y un saludo.
  #2 (permalink)  
Antiguo 28/12/2011, 13:55
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Configuracion de dominio para Tomcat

Hola,

Cita:
Iniciado por smark182 Ver Mensaje
... Perdonar por esta pregunta, pero apache no es necesario para lo que pretendemos hacer verdad? Solo queremos tener una aplicación y poder acceder a ella mediante el dominio.

Apache orientado a servidor web, imágenes documentos y balanceador de para aplicaciones entre otras cosa. Lo siento pero es que no se que mas hacerle para que enlace con la aplicación mediante el dominio. ...
En forma resumida es lo siguiente, tu servidor debe tener una IP pública, en algún otro lugar existe un servidor DNS, el servidor DNS es el encargado de resolver el dominio .com a la IP y en tu servidor solamente debes configurar tu aplicación.

Dos problemas, el primero ... ¿quien tiene el DNS?, y el segundo ¿vas a manejar varios dominios en el mismo servidor?

Saludos,

ps:
El archivo 'hosts' solamente sirve para tu PC, no para el internet.
  #3 (permalink)  
Antiguo 28/12/2011, 14:51
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Configuracion de dominio para Tomcat

Hola gracias por contestar.

No se a que te refieres con quien tiene la DNS, por supuesto la DNS esta contratada por nosotros y si apunta a nuestro servidor, concretamente a la raíz del servidor.

De momento el servidor solo va a alojar una única aplicación ya que es para un cliente concreto y es el que lo paga, si en el futuro al jefe se le cruza un cable y decide meter otra, no lo se.

Te agradecería tu ayuda la verdad que no se que mas hacerle, ves algo en el server.xml que este mal, falta algo por hacer?

Un saludo y gracias.
  #4 (permalink)  
Antiguo 28/12/2011, 16:30
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Configuracion de dominio para Tomcat

Hola,

Cita:
Iniciado por smark182 Ver Mensaje
... No se a que te refieres con quien tiene la DNS, por supuesto la DNS esta contratada por nosotros y si apunta a nuestro servidor, concretamente a la raíz del servidor. ...
Básicamente eso era lo que había que tomar en cuenta, es decir, sabes que el DNS está configurado por la entidad que te da el servicio y resuelve la dirección correctamente.

Cita:
Iniciado por smark182 Ver Mensaje
... ves algo en el server.xml que este mal, falta algo por hacer? ...
Pues yo no vi ningún problema con el archivo que mostraste.

Un par de observaciones nada más, el defaultHost en el Engine es simplemente un identificador, por lo cual podrías dejarlo simplemente como 'localhost', y lógicamente modificarlo en el elemento Host, aunque técnicamente no debería ser un problema, pero como lo estás configurando es un 'Virtual Host' (que vendría siendo 'www', puesto que ese es el nombre del servidor, el otro es la URL del dominio).

En otras palabras no es necesario haber cambiado eso para que funcionara inclusive a través del Internet. Otra observación es el hecho que appBase debe apuntar a webapps puesto que allí está el ROOT.

¿Te funciona Tomcat correctamente como http://localhost/? Si funciona Tomcat en localhost debería funcionar en Internet sin cambiar nada en el server.xml, y el problema es de la red, DNS u otros.

Saludos,

Última edición por HackmanC; 28/12/2011 a las 16:40 Razón: www
  #5 (permalink)  
Antiguo 18/01/2012, 16:00
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Configuracion de dominio para Tomcat

He vuelto a retomar el tema y no doy con la puta solución.
  #6 (permalink)  
Antiguo 18/01/2012, 16:42
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Configuracion de dominio para Tomcat

Hola,

Comencemos desde el principio, regresa la configuración a la configuración normal (por defecto, con localhost) y prueba a ver si funciona Tomcat desde un navegador desde la misma PC donde está instalado Tomcat.

Después intenta entrar a http://localhost/ y mira si funciona o no y cuenta que sucedió.

Saludos,

Etiquetas: dominio, tomcat, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:25.