Apache Tomcat · 9 min read · Oct 23, 2025

Integração simples do Apache 2 com Tomcat 5 mod_jk

Integração simples do Apache 2 com Tomcat 5 mod_jk

Todo o tutorial é baseado em muitos tutoriais, mas fiz um muito simples, sem hosts virtuais. ISTO SÓ FOI TESTADO NO DEBIAN 3.1!!!! Pode não funcionar em outras distribuições…

A principal fonte de informações pode ser encontrada aqui:

https://www.howtoforge.com/apache2_tomcat5_mod_jk

Instalando o Apache2

Eu segui este link: https://www.howtoforge.com/perfect_setup_debian_sarge_p5

Execute

apt-get install apache2 apache2-doc   
apt-get install libapache2-mod-php4 libapache2-mod-perl2 php4 php4-cli php4-common php4-curl php4-dev php4-domxml php4-gd php4-imap php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt curl libwww-perl imagemagick

Edite /etc/apache2/apache2.conf. Mude

| DirectoryIndex index.html index.cgi index.pl index.php index.xhtml |

para

| DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml |

Edite /etc/mime.types e comente as seguintes linhas:

| #application/x-httpd-php phtml pht php #application/x-httpd-php-source phps #application/x-httpd-php3 php3 #application/x-httpd-php3-preprocessed php3p #application/x-httpd-php4 php4 |

Edite /etc/apache2/mods-enabled/php4.conf e comente as seguintes linhas:

| # AddType application/x-httpd-php .php .phtml .php3 # AddType application/x-httpd-php-source .phps |

Edite /etc/apache2/ports.conf e adicione Listen 443:

| Listen 80 Listen 443 |

Agora precisamos habilitar alguns módulos do Apache (SSL, rewrite e suexec):

a2enmod ssl   
a2enmod rewrite   
a2enmod suexec   
a2enmod include

Reinicie o Apache:

/etc/init.d/apache2 restart

Um novo usuário www-data será criado automaticamente no sistema.

Instalando o JDK (Java Development Kit)

Para executar o Tomcat, você precisará instalar o JDK e definir a variável de ambiente JAVA_HOME para identificar a localização do ambiente JDK em seu sistema. Eu escolhi usar o JDK 5.0.

  1. Você pode baixar o JDK 5.0 em http://java.sun.com/j2se/1.5.0/download.jsp.
  2. Clique em Download JDK 5.0 Update 6 para ir para a página de download.
  3. Clique em Aceitar para aceitar o contrato de licença.
  4. Em seguida, escolha o arquivo auto-extraível para Linux. Este é o download para o arquivo binário auto-extraível em vez do rpm.
  5. Baixe para seu diretório de download preferido. Mude para esse diretório e torne-o executável executando o seguinte comando:
chmod +x jdk-1_5_0_06-linux-i586.bin

Agora execute o arquivo:

./jdk-1_5_0_06-linux-i586.bin

Agora você deve ter um novo diretório chamado jdk1.5.0_06. Agora mova este diretório para o local onde deve ser executado. Eu escolhi /usr/lib/.

mv jdk1.5.0_06 /usr/lib

Agora crie um link simbólico chamado jdk para JAVA_HOME pelo seguinte comando. Isso permite que você alterne facilmente entre diferentes jvms, caso precise.

cd /usr/lib   
ln -s jdk1.5.0_06 jdk

Agora precisamos definir a variável de ambiente JAVA_HOME. Adicione o seguinte ao final de /etc/profile logo após export PATH.

| JAVA_HOME="/usr/lib/jdk" export JAVA_HOME |

/etc/profile é executado na inicialização e quando um usuário faz login no sistema. Para atualizar o ambiente, você precisará sair e entrar novamente no sistema.

Verifique se o JAVA_HOME está definido corretamente executando o comando abaixo. Isso deve relatar a localização do Java SDK, que deve ser /usr/lib/jdk.

echo $JAVA_HOME

Instalando o Tomcat

Nesta seção, você fará o download e instalará o Apache Tomcat 5.5.16. Para esta configuração específica, não há necessidade de compilar o pacote a partir do código-fonte, nós baixaremos a versão binária.

  1. Baixe a versão binária para seu diretório de download preferido a partir daqui: http://tomcat.apache.org/download-55.cgi. Escolha o tar.gz da seção core para 5.5.16.

  2. Agora mude para esse diretório e extraia os arquivos usando o seguinte comando:

cd /mydownloads #(certifique-se de mudar para seu diretório de download)   
tar xvzf apache-tomcat-5.5.16.tar.gz

Agora você deve ter um novo diretório chamado apache-tomcat-5.5.16. Agora mova este diretório para o local onde deve ser instalado. Novamente, eu escolhi /usr/lib/. Note que este local será referido como CATALINA_HOME na documentação do Tomcat.

mv apache-tomcat-5.5.16 /usr/lib
  1. Em seguida, mude para o diretório /usr/lib/.
cd /usr/lib
  1. Agora crie um link simbólico chamado apache-tomcat para o CATALINA_HOME pelo seguinte comando.
ln -s apache-tomcat-5.5.16 apache-tomcat

Isso evitará que você tenha que fazer alterações nos scripts de inicialização e desligamento toda vez que atualizar o Tomcat e, se desejar, também permite que você mantenha várias versões do Tomcat em seu sistema e alterne facilmente entre elas.

Agora você deve ser capaz de iniciar e parar o Tomcat a partir do diretório CATALINA_HOME/bin. Se você estiver usando outro shell que não seja o bash, precisará adicionar sh no início do comando. Agora você deve ser capaz de testar se o Tomcat está instalado iniciando-o e abrindo seu navegador e digitando http://localhost:8080 em seu navegador. A porta 8080 é a porta padrão para o Tomcat e pode ser facilmente alterada no arquivo /usr/lib/apache-tomcat/conf/server.xml. (Trabalharemos com este arquivo mais tarde.) Se você planeja acessar esta página remotamente, certifique-se de encaminhar a respectiva porta para o endereço IP do seu servidor dentro do seu roteador. Agora você deve ver a página de boas-vindas do Tomcat que contém links para a documentação do Tomcat, bem como scripts de exemplo JSP/Servlet. Verifique se o Tomcat está em execução executando alguns dos exemplos encontrados na página de boas-vindas.

cd /usr/lib/apache-tomcat/bin   
./startup.sh

Para desligar o servidor, você precisará executar o seguinte comando. Sinta-se à vontade para tentar, mas por enquanto deixaremos o Tomcat em execução.

./shutdown.sh

Instalando e configurando o mod_jk

Para fazer a conexão entre o Tomcat e o Apache, precisaremos baixar e instalar o conector mod_jk. Você descobrirá que a documentação do Apache recomenda que você instale a versão empacotada do mod_jk se estiver disponível para sua distribuição Linux específica. Muitos recursos desatualizados recomendam a instalação do conector mod_jk2, mas descobri que ele foi descontinuado e, embora o mod_jk tenha sido desenvolvido antes do mod_jk2, ainda é totalmente suportado e é muito estável.

Mike Millson deu algumas boas razões para usar o mod_jk para conectar o Tomcat ao Apache para o Red Hat aqui: Integrando Tomcat e Apache no Red Hat Linux.

  1. Eu escolhi baixar a fonte atual dos arquivos do Apache: http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/source/jk-1.2.15/. Baixe o arquivo jakarta-tomcat-connectors-1.2.15-src.tar.gz para seu diretório /usr/src/.

  2. Mude para o diretório /usr/src.

cd /usr/src
  1. Em seguida, extraia o conteúdo para criar o diretório /usr/src/jakarta-tomcat-connectors-1.2.15-src.
tar xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz
  1. Mude para o diretório /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native.
cd jakarta-tomcat-connectors-1.2.15-src/jk/native
  1. Agora você está pronto para criar o arquivo de configuração personalizado para seu sistema. Execute o seguinte:
./buildconf.sh

Isso criará um arquivo de configuração no diretório /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native.

  1. Execute o seguinte comando para configurar o mod_jk para seu sistema.
    Nota importante: Você precisará ter o apxs2 (ferramenta de extensão do APache) instalado e configurado com o Apache. Se você não o tiver, como foi meu caso, pode baixar e instalar o pacote apache2-threaded-dev (que substituiu o antigo pacote apache-dev) de www.debian.org. No momento da redação deste texto, o arquivo de pacotes do Debian em www.debian.org estava fora do ar e eles me referiram ao seu site temporário até resolverem seus problemas em pdo.debian.net. Eu encontrei o pacote apache2-threaded-dev e consegui instalá-lo com sucesso.
    Certifique-se de incluir o local correto do apxs2 em seu sistema no caminho do comando.
./configure --with-apxs=/usr/bin/apxs2
  1. Agora construa o mod_jk com o seguinte:
make
  1. Finalmente, se você teve sucesso com os comandos anteriores, copie o novo mod_jk.so criado para o diretório de módulos do Apache2. Meus módulos estavam localizados em /usr/lib/apache2/modules.
cd apache-2.0   
cp /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native/apache-2.0/mod_jk.so /usr/lib/apache2/modules

Agora você está pronto para passar para a próxima etapa, que é começar a configurar o Apache e o Tomcat. Você pode encontrar mais informações sobre o conector mod_jk em http://tomcat.apache.org/connectors-doc/howto/apache.html.

Configurando Tomcat e Apache

Crie o arquivo workers.properties.
Nota importante: Certifique-se de fazer uma cópia de backup de seus arquivos de configuração antes de modificar.
O arquivo workers.properties contém os detalhes sobre como cada processo está vinculado ao Tomcat, definindo trabalhadores que se comunicam através do protocolo ajpv13. Consulte o Workers HowTo para mais detalhes.

  1. Primeiro crie o arquivo workers.properties em seu diretório raiz do Apache2.
touch /etc/apache2/workers.properties
  1. Em seguida, abra o arquivo workers.properties e adicione o seguinte. Você pode encontrar muitos outros exemplos do arquivo workers.properties na internet, mas este é o que eu criei e parece funcionar bem com as outras partes que já foram configuradas neste tutorial.

| workers.tomcat_home=/usr/lib/apache-tomcat workers.java_home=/usr/lib/jdk ps=/ worker.list=worker1 worker.default.port=8009 worker.default.host=localhost worker.default.type=ajp13 worker.default.lbfactor=1 |

  1. Salve e feche o arquivo.

  2. Agora precisamos abrir o arquivo /etc/apache2/apache2.conf e adicionar as seguintes linhas no final. (httpd.conf é apenas para compatibilidade retroativa):

| LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so # Onde encontrar workers.properties JkWorkersFile /etc/apache2/workers.properties # Onde colocar logs do jk JkLogFile /var/log/apache2/mod_jk.log # Defina o nível de log do jk [debug/error/info] JkLogLevel info # Selecione o formato do log JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions indicam para enviar o TAMANHO DA CHAVE SSL, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat define o formato da solicitação JkRequestLogFormat "%w %V %T" # Envie servlet para o contexto / jsp-examples para o trabalhador chamado worker1 JkMount /jsp-examples worker1 # Envie JSPs para o contexto /jsp-examples/* para o trabalhador chamado worker1 JkMount /jsp-examples/* worker1 |

Salve e feche o arquivo.

Agora um ponto final de segurança.

Vamos criar um grupo e usuário tomcat tomcat assim:

groupadd tomcat   
useradd -g tomcat tomcat

Em seguida, mude o usuário e grupo do caminho do Tomcat:

chown -R tomcat:tomcat /usr/lib/apache-tomcat-5.5.16

Para mudar a senha do usuário tomcat, como root digite:

passwd tomcat

e siga as instruções.

Então, para iniciar e parar o servidor Tomcat, você deve usar o usuário tomcat.

su - tomcat

Agora pare e inicie o Tomcat:

cd /usr/lib/apache-tomcat/bin  
./shutdown.sh  
./startup.sh

E reinicie o Apache:

/etc/init.d/apache2 restart

Você terminou.

Testando:

Neste teste, estamos direcionando todas as URLs que começam com “/jsp-examples” para o Tomcat.
Em uma situação do mundo real, poderíamos apenas direcionar JSPs ou servlets para o trabalhador JK.

Certifique-se de que nenhum outro servidor esteja em execução nas portas padrão do Tomcat de 8005, 8009 e 8080.
Certifique-se de que nenhum outro servidor esteja em execução na porta do Apache, que normalmente é 8080 ou 80.

Inicie o Tomcat primeiro: Sempre inicie o Tomcat primeiro e depois inicie o Apache.
Se você precisar reiniciar o Tomcat, lembre-se de parar o Apache primeiro e reiniciá-lo após o Tomcat reiniciar.
Inicie o Apache: Aponte seu navegador para http://localhost e verifique se você obtém a página padrão do Apache. Substitua “localhost” pelo nome real da máquina/IP, se necessário.

Aponte seu navegador para http://localhost:8080 e verifique se você obtém a página padrão do Tomcat.

Aponte seu navegador para http://localhost/jsp-examples/ e verifique se você obtém a página de índice para os exemplos do Tomcat.

Isso será servido pelo Apache e indicará que você completou sua integração do Apache e Tomcat com sucesso.

Referências e caminhos:

Conf do Tomcat:

/usr/lib/apache-tomcat/conf/server.xml

Parar e iniciar o Tomcat:

cd /usr/lib/apache-tomcat/bin  
./shutdown.sh  
./startup.sh

Módulos do Apache:

/usr/lib/apache2/modules

Conf do Apache:

/etc/apache2/workers.properties   
/etc/apache2/apache2.conf   
/etc/apache2/httpd.conf

Apache2:

/etc/init.d/apache2 restart   
/etc/init.d/apache2 stop   
/etc/init.d/apache2 start

Para aqueles que precisam de ajuda com este tutorial, por favor, poste suas perguntas aqui:

https://www.howtoforge.com/forums/showthread.php?t=3595

Ou mesmo se você encontrar algum erro no tutorial, por favor, me avise sobre eles no fórum.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.