O Tomcat é um servidor web Java, mais especificamente, um container de servlets. As especificações do Java Servlet e o JavaServer Pages são desenvolvidas através de um processo comunitário. Desenvolvido pela Apache Software Foundation, é distribuído como software livre dentro do conceituado projeto Apache Jakarta, sendo oficialmente endossado pela Sun como a implementação de referência para as tecnologias Java Servlet e JavaServer Pages (JSP). Ele cobre parte da especificação J2EE com tecnologias como servlet e JSP.
Ele tem a capacidade de atuar também como servidor web, ou pode funcionar integrado a um servidor web dedicado como o Apache. Como servidor web, ele provê um servidor web HTTP puramente em Java.
1) Pré requisito: Java instalado
Instalar o OpenJDK ou o Sun-Java, conforme descrito no post Instalar Java no Linux Debian.
Obs: é recomendável deixar a variável JAVA_HOME definida. Caso esta não seja definida, o Tomcat procura o java em alguns diretórios que são comuns para o OpenJDK, o sun-java, e para várias versões do J2SE.
Para o caso do OpenJDK, fazer:
# JAVA_HOME='/usr/lib/jvm/java-6-openjdk/'
# export JAVA_HOME
No entanto, esta definição não será vista no contexto dos usuários, bem como será perdida quando de nova iniciação da máquina. Para fazer com que esta definição seja permanente e visível por todos os usuários, disponibilize esta definição através do arquivo /etc/environment o qual é executado imediatamente após o boot da máquina. Acrescente ao final deste arquivo a seguinte linha:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/
2) Instalar o Apache Tomcat
2.1) Certificar-se que não existe o Tomcat instalado
$ apt-cache policy tomcat?
libtomcat6-java:
Instalado: (nenhum)
Candidato: 6.0.35-1+squeeze2
tomcat6:
Instalado: (nenhum)
Candidato: 6.0.35-1+squeeze2
Pela resposta do sistema, vê-se que não existe Tomcat instalado. E a versão 6 do Tomcat é a disponível no repositório Debian, candidata à instalação.
2.2) Instalar o Tomcat como um servidor, para todo sistema
# apt-get install tomcat6 tomcat6-admin tomcat6-docs
A instalação do servidor Tomcat realizada deixa-o como um webapp ROOT padrão, o qual mostra uma página mínima. O funcionamento do servidor Tomcat pode ser visto com o navegador em http://IP-servidor:8080/
, onde se obterá a seguinte tela:
O java estará ativo, conforme pode ser visto pelo comando:
$ ps -A | grep java
10996 ? 00:00:03 java
Ainda sobre os pacotes instalados:
- tomcat6-docs : contém a documentação do Tomcat 6.0, empacotado como um webapp que pode ser acessado por padrão em
http://IP-Servidor:8080/docs
. - tomcat6-admin : a administração do servidor Tomcat é realizada através deste pacote, o qual contém duas aplicações webs. Uma vez instalada, pode-se fazer acesso as aplicações “manager webapp” (em http://IP-servidor:8080/manager/html) e “host-manager webapp” (em http://IP-servidor:8080/host-manager/html).
Após a instalação, a estrutura de diretórios do Tomcat é a seguinte:
/usr/ share/tomcat6/ ├── bin/ └── lib/ share/tomcat6-admin/ ├── host-manager/ └── manager/ share/tomcat6-docs/ └── docs/ share/tomcat6-examples/ └── examples/ share/tomcat6-root/ └── default_root/
2.3) Configurar o servidor Tomcat
Uma vez que o Tomcat esteja executando no servidor, o próximo passo é fazer sua configuração básica. Existem dois processos de configuração básicos: através dos arquivos de configuração XML e através da defição das variáveis de ambiente apropriadas. Os dois mais importantes arquivos de configuração do Tomcat são “server.xml” e “web.xml”. Por padrão, estes arquivos são /etc/tomcat6/server.xml
e /etc/tomcat6/web.xml
.
Os arquivos/pastas a serem observados inicialmente são:
– arquivo /etc/default/tomcat6
;
– pasta /etc/tomcat6/
.
a) Configurar a porta do servidor Tomcat
Por padrão o Tomcat 6.0 é executado sob um conector HTTP na porta 8080 e sob um conector AJP na porta 8009. Para mudar estes valores padrões, no intuito de evitar conflitos com outros servidores no sistema, deve-se alterar as seguintes linhas em /etc/tomcat6/server.xml
, conforme exemplo para porta 8085:
<
Connector port="8085" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
b) Configurar as facilidades de administração do Tomcat
O pacote tomcat6-admin contém duas webapps com finalidades de administração:
- webapp “host-manager”, a qual pode ser acessada por padrão em
http://IP-servidor:8080/host-manager/html
. Ela pode ser utilizada para criar hosts virtuais dinamicamente. O acesso à aplicação host-manager é protegida por senha: há necessidade de definir um usuário com o papel de “admin“; - webapp “manager”, a qual pode ser acessada por padrão em
http://IP-servidor:8080/manager/html
. Através deste é possível ter o status do servidor e reiniciar as webapps. O acesso à aplicação manager também é protegida por senha: há necessidade de definir um usuário com o papel de “manager“.
Estes usuários devem ser definidos em /etc/tomcat6/tomcat-users.xml
. Por padrão, após a instalação nenhum usuário está definido para acessar as aplicações web “/manager/html” e “/host-manager/html”.
Veja um exemplo:
<tomcat-users> <user username="admin1" password="admin1" roles="admin" fullName="Tomcat Administrator-1" /> <user username="admin2" password="admin2" roles="manager" fullName="Tomcat Administrator-2" /> <user username="jose" password="jose" roles="admin,manager" /> <user username="maria" password="maria" roles="contadora" /> </tomcat-users>
Não esquecer de iniciar o servidor tomcat:
/etc/init.d/tomcat6 restart
Neste exemplo acima, tem-se:
– os usuários admin1 e jose com direito de acesso à aplicação “/host-manager/html”;
– os usuários admin2 e jose com direito de acesso à aplicação “/manager/html”.
3) Logs do Tomcat
O log do Tomcat está disponibilizado na pasta /var/log/tomcat6/
.
4) Exemplos de Tomcat webapps
O pacote tomcat6-exemplos contém uma coleção de exemplos de aplicações web que podem ser usados para testar ou demonstrar as características de Servlets API e JSP, que podem ser acessados através da URL http://IP-servidor:8080/examples. Para instalar, basta inserir o seguinte comando no terminal:
# apt-get install tomcat6-examples
Referências:
1- Apache Tomcat6 Documentation
2- Instalar Java no Linux Debian
3- Apache Tomcat
4- Tomcat Configuration
5- Installing Tomcat 6 on Debian Squeeze
6- Como instalar e configurar Apache-Tomcat 6 no Debian com o Apache2
Muito bom!! parabens!
Bom dia,
Gostaria de saber se é possível o TomCat trabalhar com portas diferentes para acesso ao serviço http tipo 8080 e a administração tipo 8081, gostaria de diferenciar as portas para estes serviços por questão de segurança. Caso positivo, qual o arquivo que devo alterar.
Desde já agradeço,
Rodrigo Porto