Integrando Apache 2 com Tomcat 5

Nesse artigo vamos demonstrar a integração do servidor web Apache com o servidor JSP Tomcat. Demonstrarei como instalar, configurar e integrar as switches. Esse artigo foi baseado na distro Debian, Apache2 e Tomcat5.

[ Hits: 72.382 ]

Por: Leandro Moreira em 20/09/2006


Instalação



Antes de começarmos a instalação, devemos adicionar ao nosso sources.list os seguintes repositórios:

### Tomcat5 ####
deb http://www.gallet.info.free.fr/debian/ sarge contrib main non-free

### JDK ###
deb http://www.linex.org/sources/linex/debian sarge linex

### PHP5 ###
deb http://people.debian.org/~dexter all sarge

Instalando os pacotes:

Apache:

# aptitude install apache2

Tomcat:

# aptitude install tomcat5 tomcat5-examples tomcat5-admin

Mod_JK2:

# aptitude install libapache2-mod-jk2

JDK:

# aptitude install j2sdk1.4

J2SE:

# aptitude install j2se-common

PHP5:

# aptitude install php5

    Próxima página

Páginas do artigo
   1. Instalação
   2. Configuração do JDK
   3. Configuração do Tomcat
   4. Fazendo Apache e Tomcat responderem na mesma porta
Outros artigos deste autor

Instalação e configuração do Squid com TProxy no Debian

Integrando autenticação do Squid ao Active Directory

Recuperando RouterOS na RouterBOARD 450

Compilando kernel com suporte a POM (path-omatic) e Layer7 no Debian e Slackware

Instalando e configurando o Nagios com e sem MySQL

Leitura recomendada

OpenGoo - Seu escritório nas nuvens Online-Ontime-Fulltime

Ubuntu Server 12.04 LTS - Como Servidor Gateway e DHCP

Instalação do Apache, MySQL e PHP

30 de Dezembro de 2015 - O dia que o Debian chorou

Canal IRC #vivaolinux na rede irc.freenode.net

  
Comentários
[1] Comentário enviado por tatototino em 20/09/2006 - 11:01h

Isso que você não é integração do Apache com Tomcat e sim um proxy reverso para o Sertvidor Tomcat com o módulo "mod_proxy" do Apache.

Para a integração do Apache com o Tomcat você poderia usar o módulo do Apache, o "mod_jk", também não entendi por que você habilitou o mod_rewrite.

[2] Comentário enviado por mslinux em 20/09/2006 - 13:45h

Acho que a questão da integração foi confudida.
Melhor, fazer as devidas correções.
Sinceramente

[3] Comentário enviado por tatototino em 20/09/2006 - 14:30h

Por exemplo, acho que o servidor web que hospeda esse site tem mod_jk versão 1.2.14.
Lembrado que eu só acho! =P


[4] Comentário enviado por leandromoreirati em 20/09/2006 - 23:12h

Quando disse Integrando Apache e o TOMCAT quiz dizer como abordado no ultimo tópico, fazer âmbos os serviços responderem na mesma porta. Como relação ao mod_jk se você observou o artigo corretamente deve ter vizualizado o comando:

#aptitude install libapache2-mod-jk2

Que serve para instalar o mod_jk como usei o apache2 no artigo usei o libapache2-mod-jk2 para a configuração.
Já o mdódulo rewrite, tive vários problemas com o proxy reverso ao nao ativa-lo. Após ativa-lo, meu porxy reverso funcionou sem problemas.

[5] Comentário enviado por tatototino em 21/09/2006 - 06:47h

Entendo, mas você nem mesmo configurou o mod_jk, você só o instalou, nem carregar o módulo você carregou, talvez tenha carregado na instalação(alguns módulos adiciona a linha no "httpd.conf" automaticamente para carregar o módulo), mas mesmo assim você não o configurou!

[6] Comentário enviado por y2h4ck em 21/09/2006 - 18:59h

Parabéns pelo artigo.

Abraços.

[7] Comentário enviado por fsc7 em 22/09/2006 - 18:41h

Concordo com o tatototino, você não configurou o mod_jk. Isso não é integração de apache e tomcat na minha opinião, uma fonte melhor seria isso aqui:

http://www.linuxquestions.org/questions/showthread.php?t=429037

De qualquer forma o seu artigo é bom. Só tme que mudar o título.

[8] Comentário enviado por melphos em 23/09/2006 - 12:43h

Para integrar o apache com o tomcat na mesma porta, só faltou você setar o work.properties e configurar as opções do módulo jk em seu httpd.conf.

Um pequeno exemplo, /etc/apache2/conf.d/jk2.conf, coloque:
JkSet config.file /etc/apache2/workers2.properties

no arquivo, /etc/apache2/workers2.properties, adicone:
[shm]
file=/var/log/apache2/mod_jk.log
size=1048576

# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1

# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

# Uri mapping
[uri:/*]
worker=ajp13:localhost:8009

Pronto, apenas verifique as opções se o tomcat está na mesma máquina e escutando nas portas 8009, se caso não for, mude para a porta desejada, se caso não for o IP local, mude para o do servidor tomcat.

De resto o seu artigo está muito bom, meus parabéns. O que os colegas falaram e eu concordo é que não houve uma integração efetiva com as "ferramentas" apropriadas e sim uma "gambe", com o iptables e mod_proxy e mod_rewrite.

Abraços,
Ivan

[9] Comentário enviado por leandromoreirati em 24/09/2006 - 15:08h

Caros,
Muito obrigado pelas dicas, relamente cometi 2 pecados capitais nesse artigo o primeiro e que eu realmete não configirei o jdk nos mods do apache e o segundo, eu nao criei um link do workers2.properties que se encontra na pasta /etc/tomcat5 o arquivo esta configurado conforme o melphos demonstrou com muita propriedade. Gostaria imensamente de pedir desculpas a comunidade por tal descuido no artigo. E mais uma vez gostair de agradecer a todos pelas dicas. Eu so nao respondi antes pois o bicho ta pegando pro meu lado e si hoje pude analizar com mais calma o que estava sendo postado.

Att.

Leandro

[10] Comentário enviado por datalann em 02/10/2008 - 08:48h

E aí Galera, blza?
Eu fiz todo o redirecionamento e funcionou no ponto de vista de que está redirecionando, porém a página está em jsf com componentes richfaces e JSF Facelet e quando eu passo a usar o redirecionamento, eu tenho um problema que esses componentes não estão carregando. A página aparece toda desestrutura e as janelas e contornos que existe na página, desaparecem deixando os campos de preenchimento e outros fora do lugar. Lembrando que eu apenas configuro o servidor e que o programador é uma outra pessoa que trabalha aqui comigo. Alguém saberia como resolver isso?

Att.
Álann Dias


Contribuir com comentário