Por unos temas de un proyectillo tenía la necesidad de instalar tomcat en mi server de desarrollo, como no me apetecía tenerlo en un puerto aparte (siendo un poco purista es la manera cutre de meterlo si ya tienes un Apache) decí meterlo como un VirtualHost con los otros de Rails que tengo.

Al principio andaba un poco perdido de como configurar/tratar el tema por que no sabía muy bien que derroteros tomaría cada llamada, de echo en la primera prueba, todas las llamadas al Tomcat se las comía la aplicación que tengo de default en Rails, pero ahora ya esta todo ok :)

Voy a centrarme en la preparación de los ficheros de configuración, ya que la instalación tanto de Passenger como del ModJK se hace a golpe de apt-get y gemas.

Fichero httpd.conf

NameVirtualHost *

# Passenger mod rails module
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.2
PassengerRuby /usr/bin/ruby1.8

Fichero /etc/libapache2-mod-jk/workers.properties

#Directorio del tomcat
workers.tomcat_home=/usr/share/tomcat5

#Directorio de la SDK de Java
workers.java_home=/usr/lib/jdk
ps=/

#Worker List
worker.list=worker1

#DEfinicion de WORKER1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13

worker.worker1.lbfactor=50

# Specify the size of the open connection cache.
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.recycle_timeout=300

#—— DEFAULT LOAD BALANCER WORKER DEFINITION ———————-
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=worker1

Y ahora solo nos queda configurar los VHost, una aplicación en rails y otra que tire de tomcat, que en este caso montare el directorio Webapps como ejemplo.

Fichero app.rails

1
2
3
4
<VirtualHost *>
	ServerName apprails.pabloformoso.com
	DocumentRoot /var/www/app_rails/public
</VirtualHost>

Facil no… on the Rails Way jejejej. Vamos Ahora con el de Tomcat

Fichero app.tomcat

1
2
3
4
5
6
7
8
<VirtualHost *>
	ServerName tomcatapp.pabloformoso.com
 
	<IfModule mod_jk.c>
		Alias / /usr/share/tomcat5.5/webapps/
		JkMount /* worker1
	</IfModule>
</VirtualHost>

Y todo listo… si alguien tiene dudas sobre la instalación o configuración que lo apunte en comentarios y haré un post para complementar este :)

Saludos!!!

, , ,