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 imagemagickEdite /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:
| |
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 includeReinicie o Apache:
/etc/init.d/apache2 restartUm 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.
- Você pode baixar o JDK 5.0 em http://java.sun.com/j2se/1.5.0/download.jsp.
- Clique em Download JDK 5.0 Update 6 para ir para a página de download.
- Clique em Aceitar para aceitar o contrato de licença.
- 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.
- 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.binAgora execute o arquivo:
./jdk-1_5_0_06-linux-i586.binAgora 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/libAgora 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 jdkAgora 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_HOMEInstalando 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.
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.
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.gzAgora 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- Em seguida, mude para o diretório /usr/lib/.
cd /usr/lib- Agora crie um link simbólico chamado apache-tomcat para o CATALINA_HOME pelo seguinte comando.
ln -s apache-tomcat-5.5.16 apache-tomcatIsso 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.shPara desligar o servidor, você precisará executar o seguinte comando. Sinta-se à vontade para tentar, mas por enquanto deixaremos o Tomcat em execução.
./shutdown.shInstalando 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.
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/.
Mude para o diretório /usr/src.
cd /usr/src- 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- 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- Agora você está pronto para criar o arquivo de configuração personalizado para seu sistema. Execute o seguinte:
./buildconf.shIsso criará um arquivo de configuração no diretório /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native.
- 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- Agora construa o mod_jk com o seguinte:
make- 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/modulesAgora 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.
- Primeiro crie o arquivo workers.properties em seu diretório raiz do Apache2.
touch /etc/apache2/workers.properties- 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 |
Salve e feche o arquivo.
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 tomcatEm seguida, mude o usuário e grupo do caminho do Tomcat:
chown -R tomcat:tomcat /usr/lib/apache-tomcat-5.5.16Para mudar a senha do usuário tomcat, como root digite:
passwd tomcate siga as instruções.
Então, para iniciar e parar o servidor Tomcat, você deve usar o usuário tomcat.
su - tomcatAgora pare e inicie o Tomcat:
cd /usr/lib/apache-tomcat/bin
./shutdown.sh
./startup.shE reinicie o Apache:
/etc/init.d/apache2 restartVocê 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.xmlParar e iniciar o Tomcat:
cd /usr/lib/apache-tomcat/bin
./shutdown.sh
./startup.shMódulos do Apache:
/usr/lib/apache2/modulesConf do Apache:
/etc/apache2/workers.properties
/etc/apache2/apache2.conf
/etc/apache2/httpd.confApache2:
/etc/init.d/apache2 restart
/etc/init.d/apache2 stop
/etc/init.d/apache2 startPara 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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.