Servidor de aplicações java tomcat integrado com o apache 2
Olá pessoal,
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
# 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
# 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
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