Apache2 + Tomcat + Java6 en Ubuntu con mod-jk
Otro gran meme y para mi una guía para mucha gente. Te puedes hacer un lío si no sabes los pasos a seguir porque haya cosas que no te funcionan correctamente.
Ciertamente puede que no te haga falta instalar apache para luego usar tomcat, pero tal vez lo requieras y no sepas volver atrás. Básicamente indicaré los comandos a realizar para las instalaciones y los archivos que hay que modificar para que todo resulte bien. La instalación es corta, no supone mucho tiempo, salvo por los tiempos de descarga si no tienes una buena línea pero no creo que sea un problema a día de hoy.
Sin mas dilaciones… empieza la guía.
- Instalar apache
sudo apt-get install apache2
- Instalar Java
sudo apt-get install sun-java6-bin sun-java6-jdk sun-java6-fonts
- Instalar Tomcat 5.5
sudo apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps
- Editar el fichero tomcat5.5 que se encuentra en /etc/default/
sudo nano /etc/default/tomcat5.5
Una vez ahí descomentar una línea que es aproximadamente como esta
JAVA_HOME="/usr/lib/jvm/java-6-sun"
Con esto la instalación básica ya estaría, ahora solo faltaría indicar a apache que se linke con tomcat, para eso esta el mod-jk de apache.
- Instalar libapache2-mod-jk
sudo apt-get install libapache2-mod-jk
Modificar el archivo /etc/libapache2-mod-jk/workers.properties y buscar las líneas que se parezcan a las siguientes y dejarlas como pongo a continuación
workers.tomcat_home=/usr/share/tomcat5.5 workers.java_home=/usr/lib/jvm/java-6-sun
Ahora a copiar el archivo de configuración predeterminado que viene con el mod-jk al apache para que lo linke definitivamente
sudo cp /usr/share/doc/libapache2-mod-jk/http_example_apache2.conf /etc/apache2/mods-available/jk.conf
y seguidamente habilitarlo en apache para que funcione
cd /etc/apache2/mods-enabled sudo ln -s ../mods-available/jk.conf
Un último paso para terminar la asociación apache-tomcat. Hay que editar el archivo que se acaba de linkar a mods-avaible y comentar todas las líneas JkMount dejando uno solo y de esta manera
JkMount /* ajp13_worker
Tras esto solo queda reiniciar apache y tomcat para comprobar que ya funciona
sudo /etc/init.d/tomcat5.5 restart sudo /etc/init.d/apache2 restart
Ahora mismo si entrases en http://localhost deberías de ver la pagina de inicio de tomcat, algo así como esto
Lo único que faltaría sería configurar los usuarios de tomcat para que puedas acceder al manager y al admin. Para eso tienes que modificar el archivo que seta en /var/lib/tomcat5.5/conf/tomcat-users.xml añadiendo una nueva línea de username, por ejemplo …
<user username="admin" password="asturking" roles="admin,manager" />
la opción username y password las puedes modificar a tu antojo pero los roles de admin y manager son los que determinan para que tienes permiso, si quieres puedes tener usuarios diferentes para entrar al manager y para entrar a la administración pero lo veo una tontería.
Espero que haya sido clara y sencilla, a mi la primera vez me costo sudor y lagrimas conseguirlo, pero una vez echo ya es siempre mecánico. Yo hice un par de cosillas mas por si acaso, pero con esto funciona correctamente.
Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.










gracias, aunque en local host me pone la frase it works!
es lo mismo?
Eso es que te funciona solo el Apache, comprueba que tienes instalado el mod_jk correctamente.
Si en donde puse ” JkMount /* ajp13_worker ” pones por ejemplo “JkMount /*.jsp ajp13_worker” solo te abrira las paginas .jsp con el tomcat, el resto con apache.
Lo mas comodo para eso es configurar directorios, algo asi como si fueran directorios virtuales. Los JkMount es para decir lo que funcionara con Tomcat y los JkUnmount para lo que funcinaría con apache. De tal forma que si quieres tener por ejemplo el phpmyadmin pero el resto con Tomcat … tendrias que poner la siguiente linea … JkUnmount /phpmyadmin/* ajp13_worker, teniendo en cuenta que lo tengas en el raíz de apache, por defecto /var/www
al hacer :
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/jk.conf
JkMount /* ajp13_worker
Sale lo siguiente:
bash: JkMount: orden no encontrada
y no puedo ver tomcat en localhost.¿COmo lo puedo arreglar?
el JkMount /* ajp13_worker es una linea de texto que hay dentro del archivo jk.conf, la tienes que editar en él
Demás está el decir que el post es excelente, estaba buscando información de como configurar el tomcat porque estoy realziando uas practicas en java con el Idea 8 y cuanquice configurar el entorno en la parte de configuración del tomcat no supe donde buscarlo pero esta guía me aclaro elapnorama pero quiero hacerte una pregunta ¿para que hacer que el loclahost muestre la información de tomcat, esto no trae complicaciones cuando ejecutemos nuestras aplicaciones web localamente?