Mio Mi Blog

un blog de un ubuntero… para ubunteros =)

Apache2.0.55+JBOSS+mod_jk en ubuntu

Publicado por velorek en Noviembre 4, 2007

mmmmmh!! estuve pensando mucho rato sobre si escribir este post o no, ya que me costo mucho poder configurar solo esta burrá y pensaba kedarme ese conocimiento y no compartirlo, pero despues pense mejor y me acorde ke igual lei por ahy cosas en foros y weas ke otros aportaron asi ke bueno aca decidi compartirlo no mas…

Bueno, para las personas que trabajan con JBOSS o con Apache como servidor web, les va a servir, ya que podemos tener ambos corriendo y solo entramos a ellos por diferentes puertos,…… (voy a almorzar)…

La configuración de los puertos en el router no la detallare porke pienso que es mas facil de hacer.

Revisión rapida de lo que debemos hacer:

  1. Descargar Apache2 (http://httpd.apache.org/download.cgi)
  2. Descargar modjk 1.2.x (http://tomcat.apache.org/download-connectors.cgi)
  3. Cambiar la configuración del Apache para incluir la configuración del mod_jk.
  4. Crear la configuración del mod_jk
  5. Configurar los workers del mod_jk (los que indicaran los nodos que usa el apache)
  6. Configurar las ULIs del Apache por medio del mod_jk
  7. Reiniciar el Apache
  8. Configurar Tomcat
  9. Reiniciar JBoss
  10. Probar.

PASO #1: Descargar el Apache

Una vez descargado e instalado el apache, no se necesita ninguna configuracion especial. Llamaremos APACHE_HOME a la carpeta o directorio donde se encuentra instalado (siendo esta la ruta completa, en mi caso /home/xito/apache2).

PASO #2: Descargar mod_jk 1.2.x (mod_jk-1.2.25-httpd-2.2.4.so) o de la pagina http://apache.freeby.pctools.cl/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.25/i386/

Una vez descargado el archivo mod_jk debemos renombrarlo por mod_jk.so y colocarlo en la carpeta APACHE_HOME/modules.
NOTE: No uses una version menor a 1.2.15 porke tienen problemas.

PASO #3: Configurar Apache para que use modjk
al final del archivo APACHE_HOME/conf/httpd.conf agregar las siguientes lineas:

	# Include mod_jk configuration file
	Include conf/mod-jk.conf

Step #4: Creamos el archivo modjk con la configuración.

Para esto en la carpeta APACHE_HOME/conf, creamos el archivo mod-jk.conf y colocamos lo siguiente:

	# Load mod_jk module
	# Specify the filename of the mod_jk lib
	LoadModule jk_module modules/mod_jk.so

	# Where to find workers.properties
	JkWorkersFile conf/workers.properties

	# Where to put jk logs
	JkLogFile logs/mod_jk.log

	# Set the jk log level [debug/error/info]
	JkLogLevel info

	# Select the log format
	JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

	# JkOptions indicates to send SSK KEY SIZE
	# Note: Changed from +ForwardURICompat.
	# See http://tomcat.apache.org/security-jk.html
	JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories

	# JkRequestLogFormat
	JkRequestLogFormat "%w %V %T"

	# Mount your applications
	JkMount /__application__/* loadbalancer

	# You can use external file for mount points.
	# It will be checked for updates each 60 seconds.
	# The format of the file is: /url=worker
	# /examples/*=loadbalancer
	JkMountFile conf/uriworkermap.properties

	# Add shared memory.
	# This directive is present with 1.2.10 and
	# later versions of mod_jk, and is needed for
	# for load balancing to work properly
	# Note: Replaced JkShmFile logs/jk.shm due to SELinux issues. Refer to
	# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=225452
	JkShmFile run/jk.shm

	# Add jkstatus for managing runtime data
	<Location /jkstatus/>
	JkMount status
	Order deny,allow
	Deny from all
	Allow from 127.0.0.1
	</Location>

Ahora el mod_jk esta listo para aceptar peticiones del JBOSS, ahora necesitamos configurar los workers.

PASO #5: Configurar workers
En la carpeta APACHE_HOME/conf, crear el archivo workers.properties y escribir lo siguiente:

	# Define list of workers that will be used
	# for mapping requests
	# The configuration directives are valid
	# for the mod_jk version 1.2.18 and later
	#
	worker.list=loadbalancer,status

	# Define Node1
	# modify the host as your host IP or DNS name.
	worker.node1.port=8009
	worker.node1.host=localhost
	worker.node1.type=ajp13
	worker.node1.lbfactor=1
	# worker.node1.connection_pool_size=10 (1)

	# Define Node2
	# modify the host as your host IP or DNS name.
	worker.node2.port=8009
	worker.node2.host= localhost
	worker.node2.type=ajp13
	worker.node2.lbfactor=1
	# worker.node1.connection_pool_size=10 (1)

	# Load-balancing behaviour
	worker.loadbalancer.type=lb
	worker.loadbalancer.balance_workers=node1,node2

	# Status worker for managing load balancer
	worker.status.type=status

Deben modificar localhost por si IP o DNS eso depende de su configuracion del servidor, pero si el servidor esta en su mismo ekipo dejenlo asi mismo.

PASO #6: Crear los URI

crear un archivo que se llame uriworkermap.properties en la carpeta APACHE_HOME/conf

	# Simple worker configuration file
	#

	# Mount the Servlet context to the ajp13 worker
	/jmx-console=loadbalancer
	/jmx-console/*=loadbalancer
	/web-console=loadbalancer
	/web-console/*=loadbalancer

Esto configurara el mod_jk para responder peticiones para /jmx-console y /web-console a tomcat.

PASO #7: Reiniciar el Apache. Si es ke ya tenemos el servicio corriendo debemos detenerlo de la siguiente forma $ sudo APACHE_HOME/bin/apachectl stop de lo contrario lo hacemos correr

$ sudo APACHE/bin/apachectl start;

Step #8: Configure Tomcat en JBOSS
Para completar la configuracion, necesitamos nombrar cada nodo de acuerdo a la configuracion especificada en los workers. Para esto editamos el archivo JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/server.xml (reemplazar /all de acuerdo a la configuracion que estamos ocupando)

Buscar la etiqueta <Engine….> y agregar el atributo jvmRoute:

<Engine name=”jboss.web” defaultHost=”localhost” jvmRoute=”node1″> . </Engine>

este nombre debe coincidir con el declarado en el worker que creamos.

Ademas asegurarse ke el esta lindea este sin comentario:

<!– A AJP 1.3 Connector on port 8009 –>
<Connector port=”8009″ address=”${jboss.bind.address}” emptySessionPath=”true” enableLookups=”false” redirectPort=”8443″ protocol=”AJP/1.3″/>

PASO #10: Activate the UseJK en el JBoss

Para esto editamos el archivo JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/META-INF/jboss-service.xml

(reemplazar /all de acuerdo a la configuracion que estamos ocupando)

Encontrar la etiqueta <attribute> con el nombre UseJK, y modificamos su valor a “true”:

<attribute name="UseJK">true</attribute>

La version del Tomcar puede ser 50 o 55 depende de la version del JBOSS ke estemos ocupando.

PASO #11: Reiniciamos JBoss AS

o lo hacemos correr de la siguiente forma

$ cd $JBOSS_HOME/bin

$ sh ./run.sh

Si todo quedo bien configurado deberiamos poder entrar por aca http://localhost/web-console o http://localhost:8080/web-console/

JBOSS corriendo con apache

Ojala sirva este pekeño aporte

eso chauuu

4 comentarios para “Apache2.0.55+JBOSS+mod_jk en ubuntu”

  1. darkwizard2008 escribió

    buta kmo es eso de configurar los puertos del router :S:S

    ¬¬ teni ke explicar todo pos !!!! no podi poner un manual a medias xD

    ma encima tuve ke hacerme una cuenta pa poder comentar ¬¬

    ia lee esto rapido y explica xD

    aa y kmo echas a correr el jboss en window :S:S

  2. darkwizard2008 escribió

    emm ya conecte eche a correr el jboss =D

    me falta lo de la cuenta dns :S

    me cree una pero no c ke mas hacer para ke se conecte cn el localhost

    jelmiiii!!!!

  3. darkwizard2008 escribió

    ¬¬

  4. [...] Ahora se debe instalar el famoso JBOSS para eso debes ir al titulo ke tengo aca en el blog de APACHE+mod_jk+JBOSS en este link… PINCHA ACAAAA… [...]

Escribe un comentario

Debes ser Sesión como para publicar un comentario.