5.2. Configurando o servidor
Existem diversas formas de configurar o servidor. Embora seja interessante ou até mesmo necessário que saibamos todas as opções de configuração, não é o objetivo deste documento apresentar todas as opções, mas sim uma configuração básica essencial para o funcionamento.
O arquivo de configuração do servidor encontra-se no mesmo diretório da configuração do usuário. O arquivo referente à configuração do servidor chama-se server.xml; nele pode-se configurar quais portas serão utilizadas para a conexão, o protocolo e o redirecionamento de portas, dentre outros. Essas opções, por padrão, já vêm configuradas.
Quando usamos uma aplicação compactada, ou seja, em arquivo.war, é necessário fazer a configuração da tag <host> para que ela não 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 não será descompactada. O item 1 do exemplo 3 exibe a configuração desta tag. A utilização da extensão do arquivo war não é uma convenção - você poderá utilizá-la em modo descompactado, porém pode estar exposto a alguns erros. Caso escolha utilizá-la como subdiretório, poderá copiar o diretório da aplicação (contexto) para o diretório /opt/tomcat6/webapps.
Na tag <connector> podemos configurar a porta de conexão, que por padrão é a porta 8080, juntamente com o protocolo, tempo de conexão com servidor e redirecionamento de portas, dentre outras opções. Existem basicamente três tipos de conectores: o HTTP, que responde a requisições na porta 8080, o AJP, que abre conexão com o apache web server na porta 8009 e o HTTPS, que se refere à conexão segura utilizando certificado digital.
Pode-se configurar o servidor para fazer autenticação em um servidor LDAP, bastando, para isto, configurar o server.xml. Dentro da tag <Engine> pode-se configurar a tag <Realm>, sendo necessário acrescentar atributos relacionados com a url de conexão do servidor e informações de usuários, bem como usuário, papel do usuário, dentre outros.
Caso haja necessidade de configuração para autenticação com LDAP, o trecho 3 do exemplo 3 pode ser usado.
Exemplo 3:
Trechos de configuração 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. Autenticação 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 aplicação desenvolvida a ser instalada no Tomcat necessita de uma configuração em um arquivo web.xml, que se encontra dentro do subdiretório /WEB-INF da aplicação. Podemos configurar dentro desse arquivo as descrições dos aplicativos e sua exibição, bem como o path, Display Name, sessões, dentre outras configurações.
A configuração deste arquivo pode ser feita manualmente ou automaticamente, se usada a aplicação manager web do Tomcat (http://localhost:8080/manager/html). Geralmente, a instalação automática, por padrão, poderá fazer algum tipo de configuração; mesmo tendo isso a favor, pode-se configurá-lo conforme as indicações. Ao desenvolver a aplicação, é necessário criar um arquivo web.xml dentro do subdiretório /WEB-INF da aplicação. Ele poderá possuir o mínimo de configuração, contendo somente o tipo de charset, podendo ser UTF-8, que é padrão do sistema operacional
Linux.
Para melhorar a configuração da aplicação, deve-se abrir uma tag <web-app> para colocar os atributos que poderão configurá-la, pois, por padrão, ao colocar uma aplicação no diretório /opt/tomcat6/webapps, o Tomcat define o path, sendo preciso somente configurar a exibição do nome da aplicação que, para isso, configura o atributo <display-name> apontando o nome e uma descrição da aplicação com o atributo <description>. Veja no exemplo 4 um modelo de configuração deste arquivo e na figura abaixo o resultado da configuração.
Exemplo 4:
Configuração 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. Configurações fundamentais
Outra configuração importante é a configuração do uso de memoria RAM da máquina virtual no Tomcat (que como sabemos, é inteiramente desenvolvido em Java) sua interpretação se dá por meio da máquina virtual Java, que, por sua vez, fará o uso da memória exigindo um valor mínimo de 64MB por padrão - mas caso essa aplicação realize um número elevado de acessos a um banco de dados, poderá comprometer o serviço fazendo com que o processamento do servidor atinja o máximo do seu uso. Quando esse fato chega a acontecer, geralmente ocorrem erros de interpretação da maquina virtual java e perda do PATH, ocorrendo erros de interpretação do $JAVA_HOME - Variável de ambiente -. Para isso, precisamos configurar a JVM (Maquina Virtual).
Essa configuração deve ser feita no arquivo catalina.sh, que se encontra no diretório /opt/tomCat6/bin. A sintaxe dos comandos a serem acrescentados neste arquivo estão mencionados no exemplo 5 item 1. O parâmetro -Xmx768M indica a quantidade de memória que a JVM (Máquina Virtual Java) irá usar. O parâmetro -XX:MaxPermSize=256M indicará ao Tomcat a quantidade de memória RAM disponível a ele e os outros são para configuração de hora, linguagem e referência de fuso-horário. É importante lembrar que essa sintaxe deve ser adicionada após os comentários iniciais do arquivo, antecedendo os primeiros comandos do script.
Essa configuração 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 orientação: usar 3/4 da capacidade da memória RAM para o parâmetro -Xmx768M e 1/4 para -XX:MaxPermSize=256M.
Outra observação importante que precisa ser colocada é a ausência do driver JDBC dentro da pasta lib do Tomcat. Caso deixe de colocar o driver nesta pasta, sua aplicação não conseguirá fazer uma consulta ou rotina na base de dados. O driver JDBC é responsável por todas as rotinas de interação 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 próprio site do SGBD que está usando.
Os arquivos de configuração que ajudaram na elaboração deste documento estão disponíveis no site
www.vivaolinux.com, na sessão conf. Para melhor acompanhamento na elaboração ou no teste de configuração os arquivos podem ser consultados ou baixados no seguinte link:
Caso tenha necessidade de uma aplicação JSP para testar os procedimentos descritos neste documento, também está disponível no site
www.vivaolinux.com.br, uma aplicação simples desenvolvida por Hermes Júnior - hnpjunior - para teste deste documento. O download pode ser feito no link abaixo.
Ao fazer o download do arquivo sistemaExibeJSTL.tar.gz, deverá copiá-lo para o diretório /opt/tomcat6/webapps e descompactá-lo, usando o comando:
# tar -xvzf sistemaExibeJSTL.tar.gz
Para acessar a aplicação, direcione o navegador para a seguinte url:
http://localhost:8080/sistemaExibeJSTL/paginas
Exemplo 5:
Configurações gerais:
1. Configuração de memória da Máquina Virtual Java:
CATALINA_OPTS="-Xmx768M -XX:MaxPermSize=256M -Duser.timezone=America/Sao_Paulo -Duser.language=pt -Duser.country=BR"
Considerações finais
Sobre o autor:
José Cleydson Ferreira da Silva, graduando em Sistemas de Informação - Faculdade de Viçosa-MG. Usuário do Linux por filosofia, acredita que o Software Livre e de Código Aberto podem mudar a forma e o modelo de mercado atual.
Referência bibliográfica