image1 image2 image3
Home Áreas Geral Servidores Servidor de aplicações java tomcat integrado com o apache 2
Servidor de aplicações java tomcat integrado com o apache 2
Escrito por Greyson   
Dom, 19 de Fevereiro de 2012 09:25

TomcatOlá pessoal,

Mais um tutorial ao velho estilo receita de bolo, passo-a-passo. Iremos ver como instalar o JAVA + TOMCAT trabalhando
de forma integrada com o APACHE em um servidor web. Acompanhem..

Obs: Este How-to é para distribuições debian-like.

1 - Instalando o java:

# apt-get update && apt-get install sun-java6-jdk
2 - Baixando o tomcat. Aqui estou usando a versão mais recente enquanto escrevo, a 7.0.25:
# cd /opt
(este é o diretório que estou utilizando, porém antes de alguém querer vir me dar aulas me relembrar sobre FHS,
você pode usar outro como /usr/local por exemplo)
# wget -c http://linorg.usp.br/apache/tomcat/tomcat-7/v7.0.25/bin/apache-tomcat-7.0.25.tar.gz
# tar -zxvf apache-tomcat-7.0.25.tar.gz
# ln -s /opt/apache-tomcat-7.0.25 tomcat 
3 - criando o nosso script de start/stop/restart para o tomcat, tornando-o executável e colocando na inicialização:
# nano /etc/init.d/tomcat
#!/bin/bash
#Tomcat auto-start
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-6-sun
case $1 in
start) sh /opt/tomcat/bin/startup.sh ;;
stop) sh /opt/tomcat/bin/bin/shutdown.sh ;;
restart) sh /opt/tomcat/bin/bin/shutdown.sh ;
sh /opt/tomcat/bin/bin/startup.sh ;;
esac
exit 0
# chmod +x /etc/init.d/tomcat
# update-rc.d tomcat defaults
# ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
# ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat
4 - Instalando o Apache:
# apt-get install apache2

5 - Vamos agora realizar a integração do apache com o tomcat usando o AJP Connector, conforme você pode conferir na documentação oficial que cito no final do post. Segundo a documentação constatei que o Conector AJP responde na porta 8009, então somente preciso direcioná-lo para a porta 80 (apache) e assim estará realizada a integração. Continuando:

5.1 - Suba o módulo proxy_ajp

# a2enmod proxy_ajp

Enabling module proxy_ajp.

Run '/etc/init.d/apache2 restart' to activate new configuration!

5.2 - Edite o httpd.conf conforme abaixo:

# nano /etc/apache2/httpd.conf
# Aplicacao 1
ProxyPass       /<java-app>           ajp://localhost:8009/<java-app>
# Aplicacao 2
ProxyPass       /<java-app>           ajp://localhost:8009/<java-app>

5.3 - Reiniciando o apache:

# /etc/init.d/apache2 restart

Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName ... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName.

5.4 - Realizando os testes:

Neste momento você pode bloquear no firewall a porta 8009 por critério de segurança, já que as requisições serão enviadas para a porta 80 (apache)

# iptables -A -p tcp --dport 8009 -j DROP

Abra o browser e acesse a sua aplicação http://ip-do-servidor/<java-app> Bem, é isso. Dúvidas, sugestões ou críticas construtivas são sempre bem-vindas.

Referências:

http://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html

http://tomcat.apache.org/download-70.cgi

http://tomcat.apache.org/tomcat-7.0-doc/proxy-howto.html#Apache_2.0_Proxy_Support

Última atualização em Sáb, 10 de Março de 2012 12:21