15/11/2010

Como instalar e configurar Apache-Tomcat 6 no Debian Lenny com o Apache2

Bom pessoal como primeiro post no meu blog venho mostrar a vocês um pequeno how to de como instalar o Tomcat 6 e trabalhando em conjunto com o Apache2.

Recentemente a empresa na qual eu trabalho precisou urgente que eu fizesse um servidor Tomcat em Linux, nunca fiz isso em minha vida, pesquisei em vários locais e muitos falavam de usar o iptables para redirecionar a porta que o Tomcat utiliza, no caso a 8080 para a porta padrão web que é a 80. Graças a um amigo argentino o José Scheone (@joseschenone) consegui ter uma luz no fim do túnel, então vamos lá.

O ambiente utilizado foi um Debian Lenny, após ser instalado o SO e estar devidamente atualizado, iremos instalar o Java, para isso iremos editar o arquivo sources.lists;

     $vim /etc/apt/source.lists

Eu uso essas sources:

  deb http://debian.pop-sc.rnp.br/debian/ lenny main
  deb-src http://debian.pop-sc.rnp.br/debian/ lenny main

  deb http://security.debian.org/ lenny/updates main
  deb-src http://security.debian.org/ lenny/updates main

  deb http://volatile.debian.org/debian-volatile lenny/volatile main
  deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

No final de cada endereço iremos colocar a palavra "non-free";

  deb http://debian.pop-sc.rnp.br/debian/ lenny main non-free
  deb-src http://debian.pop-sc.rnp.br/debian/ lenny main non-free


  deb http://security.debian.org/ lenny/updates main non-free
  deb-src http://security.debian.org/ lenny/updates main non-free


  deb http://volatile.debian.org/debian-volatile lenny/volatile main non-free
  deb-src http://volatile.debian.org/debian-volatile lenny/volatile main non-free

Atualizamos novamente o cache e instalamos o Java mais recente;

     $aptitude update && aptitude install sun-java6-jdk

Após a instalação do Java, iremos editar o arquivo /etc/profile e incluir o caminho do Java para poder ser conhecido pelo ambiente adiconando os seguintes parâmetros;

     export PATH

       JAVA_HOME="/usr/lib/jvm/java-6-sun/"

     export JAVA_HOME

Faça o download do Tomcat no site do apache fundation, estou utilizando a versão 6.0.29;

     $wget -c http://ftp.unicamp.br/pub/apache//tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.tar.gz

Instalando o Tomcat

     $tar -zxvf apache-tomcat-6.0.29.tar.gz && mv apache-tomcat-6.0.29 /opt/tomcat

Criando o scrip init do Tomcat;

     $vim /etc/init.d/tomcat

#!/bin/sh
# Tomcat Init-Script

case $1 in

start)

sh /opt/tomcat/bin/startup.sh

;;

stop)

sh /opt/tomcat/bin/shutdown.sh

;;

restart)

sh /opt/tomcat/bin/shutdown.sh

sh /opt/tomcat/bin/startup.sh

;;

esac

exit 0


Dê permissão 755 ao arquivo e colocaremos ele para executar na inicialização do SO;

     $update-rc.d tomcat defaults

Temos que adicionar um usuário para podermos usar o Manager do Tomcat, editaremos o arquivo tomcat-users.xml;

     $vim /opt/tomcat/conf/tomcat-users.xml

Antes da chave </tomcat-users>, iremos informar o usuário e senha de acesso;

     <tomcat-users>

       <role rolename=”manager”/>
       <role rolename=”admin”/>
       <user username=”USERNAME” password=”PASSWORD” roles=”admin,manager”/>

     </tomcat-users>

Iniciando o Tomcat;

    $/etc/init.d/tomcat start

Acesse o tomcat no seu browser e será solicitado o login e senha, informe os mesmo que foi editado no arquivo tomcat-users.xml;

    http://SERVERNAME:8080/manager/html

Instalando o Apache2 e os conectores

O Tomcat pode ser usado como um Web Server, mas o Apache é muito mais podereso utilizando os seu módulos. Iremos instalar o apache2 e o módulo que irá realizar a conexão dele com o Tomcat.

$ aptitude install apache2  libapache2-mod-jk

Crie e edite o arquivo  workers.properties conforme abaixo:

$ vim /etc/apache2/workers.properties
workers.tomcat_home=/opt/tomcat
workers.java_home=/usr/lib/jvm/java-6-sun
ps=/
worker.list=default
worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1
Configurando o arquivo JK

Crie e edite o arquivo jk.conf conforme abaixo:

$ vim /etc/apache2/conf.d/jk.conf
<ifmodule mod_jk.c>
JkWorkersFile /etc/apache2/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel error
</ifmodule>
/etc/init.d/apache2 stop
/etc/init.d/tomcat restart
/etc/init.d/apache2 start
Criando um novo Virtual Host
Feito as configurações no Apache, podemos então já realizar o deploy da aplicação Java no Tomcat. Vamos tomar como exemplo uma aplicação de nome "exemplo" onde terá o endereço de virtual host do tipo "exemplo.com.br", ao realizar o deploy através da interface web do Tomcat, ela ficará no diretório /opt/tomcat/webapps, podemos então no diretório do Apache e criar o nosso virtual host.
$ vim /etc/apache2/sites-avaliable/exemplo
<virtualhost *:80>
      JkMount /*.jsp default
      ServerName http://www.exemplo.com.br/
      ServerAdmin servermaster@exemplo.com.br
      DocumentRoot /opt/tomcat/webapps/exemplo
      ErrorLog /var//logs/apache2/error.log
      CustomLog /var/logs/apache2/access.log common
           <directory /opt/tomcat/webapps/exemplo>
                 Options -Indexes
           </directory>
</virtualhost>
Criando o vhost exemplo:
$a2ensite <enter>
$ /etc/init.d/apache2 restart
Configurando o vhost no Tomcat
$ vim /opt/tomcat/conf/server.xml
<!– http://www.exemplo.com.br/ –>
   <host name=”www.exemplo.com.br” appBase=”/opt/tomcat/webapps″
             unpackWARs=”true” autoDeploy=”true”>
   <context path=”" docBase=”exemplo” debug=”0″ reloadable=”true”/>
   <valve className=”org.apache.catalina.valves.AccessLogValve”
             directory=”/var/logs/apache2”  prefix=”tomcat_access_” suffix=”.log”
             pattern=”common” resolveHosts=”false”/>
</host>
Feito isso reinicie o Tomcat com o comando /etc/init.d/tomcat restart e pode testar sua aplicação Java através do browser.

Um comentário:

  1. Eu havia feito isso uma vez, mas tem bem tempo: http://paodiqueijo.leleobhz.org/index.php/2009/03/30/tomcat6-no-debian-lenny-no-deployed/

    Tive que fazer umas adaptações pequenas também em função do LMS que estava usando, entao deixo o link também caso seja interessante: http://paodiqueijo.leleobhz.org/index.php/2009/04/06/amadeus-tomcat6-debian-lenny/

    E bem que gostaria de um post desses na época que passei apertado :P E parabéns pela iniciativa do blog!

    ResponderExcluir