Sie sind auf Seite 1von 8

SUMARIO 1. 2. 3. 4. 5.

Introduo Configurando ambiente Java no Sistema Operacional Linux Procedimentos para a instalao do Tomcat Diretrio e subdiretrios do Tomcat Procedimentos de configurao do Tomcat 5.1 Configurando usurios 5.2 Configurando o servidor 5.3 Configurando o contexto 5.4 Configuraes fundamentais

1. Introduo
A tecnologia JavaTM h algum tempo tem sido a principal escolha do mercado de TI para o desenvolvimento de sistemas distribudos. Segundo a empresa TIOBE Software, em sua pesquisa para acompanhar as linguagens de programao no mercado, designando o ndice TIOBE (pesquisa), de Novembro de 2009, o Java ainda a linguagem mais popular para o desenvolvimento de sistemas. Java uma plataforma rica, que permite o desenvolvimento de aplicaes para dispositivos mveis, bem como, celulares e PDAs, at aplicaes corporativas complexas, baseadas em web services, passando ainda por aplicaes desktop e discos Blueray.

Imagem customizada por Beatriz Ansani A tecnologia JavaTM dividida em seguimentos: JSE (Java Standard Edition), que uma verso padro do Java utilizado na programao de aplicaes para desktop, JEE (Java Enterprise Edition), fortemente voltada para aplicaes web e aplicaes distribudas e JME (Java Micro Editon) para computadores com pouco recurso computacional, geralmente utilizada em dispositivos mveis. O JEE possui, para o desenvolvimento de sistemas corporativos, APIs (Interface de Programao de Aplicativos), que possibilitam seu uso por meio da web. Considerando esse contexto, necessrio um software que permita que a aplicao web seja executada. Um dos softwares mais usados para esse fim o Apache Tomcat. Seu desenvolvimento est sob a responsabilidade da Apache Software Foundation, que o disponibiliza como Software Livre e de Cdigo Aberto.

Configurando Java e procedimentos para a instalao do Tomcat

2. Configurando ambiente Java no Sistema Operacional Linux


Para que os programas javac (responsvel por compilar a aplicao) e java (responsvel por executar a aplicao) sejam reconhecidos pelo shell, necessrio que a varivel de ambiente $PATH seja modificada. Alm disso, tambm deve ser definida a varivel de ambiente $JAVA_HOME, que deve apontar para o diretrio onde o JDK foi instalado. Para isso devem ser adicionadas as seguintes linhas ao arquivo bash.bashrc (lembrando que o local de instalao do JDK pode variar, como no exemplo abaixo): Exemplo 1: export JAVA_HOME=/opt/java export PATH=/opt/java/bin:$PATH O pacote de instalao da Mquina Virtual Java est disponvel no sitehttp://java.sun.com/javase/downloads/index.jsp. H dois tipos de arquivos binrios, um com extenso rpm.bin para distribuies Linux derivadas do Red Hat, outro com extenso .bin para as demais distribuies. Aps fazer o download faremos o processo de instalao do pacote. Para padronizar o processo de instalao usaremos o diretrio /opt. Usaremos esse diretrio com o intuito de centralizar somente um diretrio para o java no sistema, uma vez que ao instal-lo poderamos adicion-lo ao diretrio /usr/bin - mas caso haja necessidade de atualizao de verso, acrescentar novas bibliotecas ou fazer backup, o diretrio /opt se tornar mais acessvel. Para iniciar o processo de instalao, copie o arquivo jdk-6u13-linux-i586.bin para o diretrio /opt, a execuo do mesmo se dar pelo comando sh seguido do nome do arquivo. Aps a compilao, um subdiretrio ser gerado no diretrio corrente com o mesmo nome do arquivo binrio, portanto, renomeie a pasta para o nome "java" e, em seguida, defina no PATH o diretrio no qual a pasta renomeada "java" est; esse processo no uma conveno, somente uma forma de padronizao de instalao. No quadro 1 temos o passo-a-passo para a instalao. Quadro 1: Comandos executados no terminal: Copiar para diretrio /opt: # cp jdk-6u13-linux-i586.bin /opt/ Executar o arquivo: # sh jdk-6u13-linux-i586.bin Renomear diretrio: # mv jdk1.6.0_13 java As duas linhas abaixo devem ser acrescentadas ao arquivo bash.bashrc: # vim /etc/bash.bashrc export JAVA_HOME=/opt/java export PATH=/opt/java/bin:$PATH Testando variveis de ambiente: # echo $JAVA_HOME # echo $PATH importante testar a varivel de ambiente aps defin-la, pois ela s reconhecida aps sair da sesso atual. Em seguida, ao abrir uma nova sesso, podemos usar o comando echo nas variveis de ambiente. Desta maneira padronizada, seu ambiente Java est pronto para ser usado.

3. Procedimentos para a instalao do Tomcat

O Tomcat um servidor web Java, capaz de processar aplicaes java servelets, que so responsveis por gerenciar dinamicamente requisies de pedido e resposta, que, em muitos casos, so consideradas extenses para Servidores Web Java. O Tomcat possui suas caractersticas prprias de servidores de aplicaes, porm no d suporte EJB - Enterprise JavaBeans - para aplicaes distribudas. Sua verso atual a 6.0.20, lanada em 30 de Junho de 2008, pela Apache Software Foundation, que atualmente mantm o projeto. Pode-se fazer o download do Apache Tomcat no site www.tomcat.apache.org, no menu download ou utilizar o comando wget como mostrado no quadro 2, que detalha todo o processo de instalao. Aps ter feito o download, necessrio descompactar o arquivo no diretrio em que se ir trabalhar, ou seja, um diretrio padro que neste caso ser o /opt, como fizemos na instalao do java. Aps descompact-lo, para padronizar a instalao, renomeie o diretrio que foi criado para o nome tomcat6. O diretrio /opt/tomcat6 consiste em diversos subdiretrios, que contm arquivos binrios, bibliotecas, logs, subdiretrios das aplicaes e arquivos de configuraes. Por padro o daemon de inicializao est no diretrio /bin com o nome catalina.sh. Como estamos padronizando a instalao, teremos que criar um script para que, ao inicializar o sistema operacional, o servio HTTP na porta 8080 seja inicializado. O quadro 2 mostra a forma de instalao do Tomcat. Quadro 2: Comandos para a instalao do Tomcat: Entrar no diretrio /opt: # cd /opt Fazer o download dentro: # wget http://linorg.usp.br/apache/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz Descompactar arquivo: # tar -xvzfj apache-tomcat-6.0.20.tar.gz Renomear a pasta de apache-tomcat-6.0.20 para tomcat6 ou tomcat: # mv apache-tomcat-6.0.20 tomcat6 Iniciar o tomcat /opt/tomcat/bin/catalina.sh: # sh /opt/tomcat6/bin/catalina.sh start Testar Tomcat (teste de funcionamento), acessando via browser: http://localhost:8080/ necessrio a criao de um script para a inicializao do programa quando o sistema operacional for inicializado. Este script dever permanecer dentro do diretrio /etc/init.d, onde ser criado um link nativo para todos os diretrios da runlevel de inicializao. Tambm poder ser colocado na inicializao padro. Para saber a runlevel padro que o sistema est utilizando, basta executar o comando runlevel no terminal, ou caso queira adicion-lo em todos os diretrios de inicializao, usa-se o comando update-rc.d. Para que no seja necessrio iniciar o tomcat todas as vezes que desligar ou reiniciar o computador, foi elaborado o seguinte script para inici-lo todas as vezes que esse fato ocorrer: Quadro 3: Comando para script de inicializao do Tomcat. Criar um arquivo no /etc/init.d/: # touch tomcat

Adicionar o texto abaixo: #!/bin/sh echo Inicializa tomcat export JAVA_HOME=/opt/java /opt/tomcat6/bin/catalina.sh start Mudar a permisso de execuo: # chmod +x tomcat Adicionar o script na runlevel do sistema: # update-rc.d tomcat defaults 99 Adicionar o script na runlevel padro (no Debian, Ubuntu): # ln -n tomcat /etc/rc2.d/S99tomcat

4. Diretrio e subdiretrios do Tomcat


Assim como os diversos softwares que possuem um arquivo de configurao, no h diferena com o Tomcat. Por padro, os arquivos de configurao do sistema operacional Linux esto alocados em um nico diretrio que contm subdiretrios de cada programa, que de fato o /etc. Um exemplo de subdiretrio clssico e conhecido em distribuies derivadas do Debian o /etc/apache2/, diferente das distribuies derivadas do Red Hat que se encontram em /etc/httpd.conf. Conforme o padro de instalao que usamos, o diretrio /opt/tomcat tornou-se um local onde concentram-se todos os seus subdiretrios e arquivos, podendo assim proporcionar ao administrador do sistema uma melhor manipulao do mesmo em relao ao software que usa diversos subdiretrios do sistema. As vantagens desse sistema podem consistir em no somente facilitar para o usurio mas em outras rotinas dirias, como backup e centralizao dos arquivos e diretrios que por sua vez poderiam estar em uma partio separada. No diretrio /opt/tomcat/ esto todos os subdiretrios necessrios para os seu funcionamento; abaixo h uma breve explicao: /bin Neste local encontram-se os arquivos binrios do sistema, bem como o arquivo que permite parar e inicializar o sistema, chamado catalina.sh. Para execut-lo basta adicionar 2 parmetros, um antes do nome do arquivo e outro indicando qual a ao a ser realizada, se pra o servio ou o inicia-o, conforme o comando: sh catalina.sh start /lib Todas as bibliotecas esto armazenadas neste local, podendo ser as bibliotecas das aplicaes que so desenvolvidas ou bibliotecas do Tomcat, incluindo driver JDBC para conexo com banco de dados. /logs O Apache Tomcat registra todas as aes e execues das aplicaes. Neste diretrio esto armazenados informaes de logs, bem como, execuo das aplicaes, instalao, erros de acesso, requisio de conexo e entre outros. /temp

Consiste em um subdiretrio para alocar uso de arquivos temporrios das aplicaes. /webapps Considerando o clssico /var/www que o apache utiliza, o subdiretrio /webapps possui o mesmo fundamento: Armazenar as aplicaes que sero executadas pelo Tomcat. Por padro, dentro do mesmo, h arquivos do prprio programa e alguns exemplos de jsp e servelets. Caso queira testlos, acesse http://localhost:8080. /conf Esse diretrio, em especial, o mais usado, pois nele se encontram os arquivos de configurao, bem como configurao de usurio, do servidor e do componentes que sero executados. Cada aplicao ter um arquivo de configurao que por sua vez determinar a politica de execuo.

5.1. Configurando usurios


Um dos primeiros procedimentos a serem tomados na configurao do programa a definio de usurios, pois a administrao do sistema ou programa depender desse ajuste para instalar qualquer sistema ou programa que ser executado pelo Tomcat. Embora ao testar o seu funcionamento e perceber que o Tomcat est funcionando, como mostra a ltima linha do quadro 2 (www.localhost:8080), de extrema importncia a definio da funo de cada usurio. Basicamente os usurios podem desempenhar diferentes papis, como administrador do Tomcat, gerente e usurio comum, que sero usados pelas aplicaes Java. O arquivo de configurao encontra-se em /opt/tomcat/conf, conforme o padro de instalao deste documento; caso o tenha instalado pelo mirror padro de seus sistema operacional, podendo ser da linha Debian, o diretrio ser /etc/tomcat6. O arquivo est nomeado como tomcat-users.xml. Sua configurao consiste em definies de usurio, senha e qual papel ser atribudo para este usurio. Como j mencionado os papis, ou seja, a funo que cada um pode desenvolver, atribuda pelo parmetro rolename dentro da tag <role>, que, por sua vez, se encontra dentro da tag <tomcat-users>; por padro, aconselha-se definir primeiramente os papis e, em seguida, os usurios. A tag <user> define os usurios, senhas e funo, com os parmetros username e password, como visto no exemplo 2. Exemplo 2: Modelo de arquivo de configurao de usurio: <tomcat-users> <--! Comentrio so feitos assim --> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager"/> <role rolename="users"/> <role rolename="admin"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="tomdeployer" password="senha" roles="manager"/> <user username="cleysinhonv" password="senha" roles="users"/> <user username="cleydson" password="cleydson" roles="admin,manager"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> </tomcat-users> Os usurios que contm papel manager possuem privilgios para realizar aes juntamente com o Tomcat, como iniciar aplicaes e configuraes nos diversos arquivos de configurao e fazer a

implantao das aplicaes no servidor. As funes (papis) dos usurios Tomcat e role1 so padres do sistema, - se por ventura no as encontrar ao abrir o arquivo, adicione-as. Para se orientar, use o exemplo 2.

5.2. Configurando o servidor


Existem diversas formas de configurar o servidor. Embora seja interessante ou at mesmo necessrio que saibamos todas as opes de configurao, no o objetivo deste documento apresentar todas as opes, mas sim uma configurao bsica essencial para o funcionamento. O arquivo de configurao do servidor encontra-se no mesmo diretrio da configurao do usurio. O arquivo referente configurao do servidor chama-se server.xml; nele pode-se configurar quais portas sero utilizadas para a conexo, o protocolo e o redirecionamento de portas, dentre outros. Essas opes, por padro, j vm configuradas. Quando usamos uma aplicao compactada, ou seja, em arquivo.war, necessrio fazer a configurao da tag <host> para que ela no seja descompactada ao ser instalada. Com isso preciso configurar o atributo unpackWARs para receber o valor false; assim, ao ser reconhecida pelo programa (Tomcat) ela no ser descompactada. O item 1 do exemplo 3 exibe a configurao desta tag. A utilizao da extenso do arquivo war no uma conveno - voc poder utiliz-la em modo descompactado, porm pode estar exposto a alguns erros. Caso escolha utiliz-la como subdiretrio, poder copiar o diretrio da aplicao (contexto) para o diretrio /opt/tomcat6/webapps. Na tag <connector> podemos configurar a porta de conexo, que por padro a porta 8080, juntamente com o protocolo, tempo de conexo com servidor e redirecionamento de portas, dentre outras opes. Existem basicamente trs tipos de conectores: o HTTP, que responde a requisies na porta 8080, o AJP, que abre conexo com o apache web server na porta 8009 e o HTTPS, que se refere conexo segura utilizando certificado digital. Pode-se configurar o servidor para fazer autenticao em um servidor LDAP, bastando, para isto, configurar o server.xml. Dentro da tag <Engine> pode-se configurar a tag <Realm>, sendo necessrio acrescentar atributos relacionados com a url de conexo do servidor e informaes de usurios, bem como usurio, papel do usurio, dentre outros. Caso haja necessidade de configurao para autenticao com LDAP, o trecho 3 do exemplo 3 pode ser usado. Exemplo 3: Trechos de configurao do arquivo server.xml: 1. Tag <host>: <Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> 2. Tag Connector: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 3. Autenticao com LDAP: <Realm className="org.apache.catalina.realm.JNDIRealm" connectionURL="ldap://[LDAP-HOST]:389" userBase="dc=uf??,dc=br" userRoleName="ObjectClass" userSearch="uid={0}" userSubtree="true" roleName="objectClass"/>

5.3. Configurando o contexto


Toda aplicao desenvolvida a ser instalada no Tomcat necessita de uma configurao em um arquivo web.xml, que se encontra dentro do subdiretrio /WEB-INF da aplicao. Podemos configurar dentro desse arquivo as descries dos aplicativos e sua exibio, bem como o path, Display Name, sesses, dentre outras configuraes. A configurao deste arquivo pode ser feita manualmente ou automaticamente, se usada a aplicao manager web do Tomcat (http://localhost:8080/manager/html). Geralmente, a instalao automtica, por padro, poder fazer algum tipo de configurao; mesmo tendo isso a favor, pode-se configur-lo conforme as indicaes. Ao desenvolver a aplicao, necessrio criar um arquivo web.xml dentro do subdiretrio /WEB-INF da aplicao. Ele poder possuir o mnimo de configurao, contendo somente o tipo de charset, podendo ser UTF-8, que padro do sistema operacional Linux. Para melhorar a configurao da aplicao, deve-se abrir uma tag <web-app> para colocar os atributos que podero configur-la, pois, por padro, ao colocar uma aplicao no diretrio /opt/tomcat6/webapps, o Tomcat define o path, sendo preciso somente configurar a exibio do nome da aplicao que, para isso, configura o atributo <display-name> apontando o nome e uma descrio da aplicao com o atributo <description>. Veja no exemplo 4 um modelo de configurao deste arquivo e na figura abaixo o resultado da configurao. Exemplo 4: Configurao do web.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Aplication 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name> Sistema de Teste (Artigo) </display-name> <description> Exemplo de Arquivo web.xml. </description> </web-app>

5.4. Configuraes fundamentais


Outra configurao importante a configurao do uso de memoria RAM da mquina virtual no Tomcat (que como sabemos, inteiramente desenvolvido em Java) sua interpretao se d por meio da mquina virtual Java, que, por sua vez, far o uso da memria exigindo um valor mnimo de 64MB por padro - mas caso essa aplicao realize um nmero elevado de acessos a um banco de dados, poder comprometer o servio fazendo com que o processamento do servidor atinja o mximo do seu uso. Quando esse fato chega a acontecer, geralmente ocorrem erros de interpretao da maquina virtual java e perda do PATH, ocorrendo erros de interpretao do $JAVA_HOME - Varivel de ambiente -. Para isso, precisamos configurar a JVM (Maquina Virtual). Essa configurao deve ser feita no arquivo catalina.sh, que se encontra no diretrio /opt/tomCat6/bin. A sintaxe dos comandos a serem acrescentados neste arquivo esto mencionados no exemplo 5 item 1. O parmetro -Xmx768M indica a quantidade de memria que a JVM (Mquina Virtual Java) ir usar. O parmetro -XX:MaxPermSize=256M indicar ao Tomcat a quantidade de memria RAM disponvel a ele e os outros so para configurao de hora, linguagem e referncia de fuso-horrio. importante lembrar que essa sintaxe deve ser adicionada aps os comentrios iniciais do arquivo, antecedendo os primeiros comandos do script. Essa configurao refere-se a uma quantidade de 1GB no total, que um computador esteja porventura usando; caso tenha mais que essa quantidade ou menos, siga a seguinte orientao: usar 3/4 da capacidade da memria RAM para o parmetro -Xmx768M e 1/4 para XX:MaxPermSize=256M. Outra observao importante que precisa ser colocada a ausncia do driver JDBC dentro da pasta lib do Tomcat. Caso deixe de colocar o driver nesta pasta, sua aplicao no conseguir

fazer uma consulta ou rotina na base de dados. O driver JDBC responsvel por todas as rotinas de interao com bases de dados relacionais. Cada Sistema de Gerenciamento de Bando de Dados - SGBD - possui um driver JDBC que pode ser encontrado no site oficial da Sun (http://devapp.sun.com/product/jdbc/drivers) ou no prprio site do SGBD que est usando. Os arquivos de configurao que ajudaram na elaborao deste documento esto disponveis no sitewww.vivaolinux.com, na sesso conf. Para melhor acompanhamento na elaborao ou no teste de configurao os arquivos podem ser consultados ou baixados no seguinte link:

http://www.vivaolinux.com.br/conf/userview.php?login=cleysinhonv

Caso tenha necessidade de uma aplicao JSP para testar os procedimentos descritos neste documento, tambm est disponvel no site www.vivaolinux.com.br, uma aplicao simples desenvolvida por Hermes Jnior - hnpjunior - para teste deste documento. O download pode ser feito no link abaixo.

http://www.vivaolinux.com.br/script/Aplicacao-simples-JSTL

Ao fazer o download do arquivo sistemaExibeJSTL.tar.gz, dever copi-lo para o diretrio /opt/tomcat6/webapps e descompact-lo, usando o comando: # tar -xvzf sistemaExibeJSTL.tar.gz Para acessar a aplicao, direcione o navegador para a seguinte url: http://localhost:8080/sistemaExibeJSTL/paginas

http://www.vivaolinux.com.br/screenshot/Gnome-tomCat-manager-web/

Exemplo 5: Configuraes gerais: 1. Configurao de memria da Mquina Virtual Java: CATALINA_OPTS="-Xmx768M -XX:MaxPermSize=256M -Duser.timezone=America/Sao_Paulo Duser.language=pt -Duser.country=BR"

Consideraes finais
Sobre o autor: Jos Cleydson Ferreira da Silva, graduando em Sistemas de Informao - Faculdade de ViosaMG. Usurio do Linux por filosofia, acredita que o Software Livre e de Cdigo Aberto podem mudar a forma e o modelo de mercado atual.

Das könnte Ihnen auch gefallen