Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instalacao_e_configuracao_do_tomcat_debian_squeeze_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Instalação do Apache Tomcat + Debian Squeeze ======
  
 +
 +E ai galera aqui vou abordar a instalação e configuração do Tomcat no Debian Squeeze ;)
 +
 +Prepare o seu sistema com o seguinte script http://​wiki.douglasqsantos.com.br/​doku.php/​confinicialsqueeze_en para que não falte nenhum pacote ou configuração.
 +
 +Vamos atualizar os repositórios e fazer um upgrade do sistema ​
 +<sxh bash>
 +
 +aptitude update && aptitude dist-upgrade -y
 +</​sxh>​
 +
 +Agora vamos instalar o Java 
 +<sxh bash>
 +
 +apt-get install sun-java6-jdk openjdk-6-jdk -y
 +</​sxh>​
 +
 +Temos que alterar qual java que vai ser usado 
 +<sxh bash>
 +
 +update-alternatives --config java
 +#agora temos que selecionar /​usr/​lib/​jvm/​java-6-sun/​jre/​bin/​java
 +</​sxh>​
 +
 +Agora vamos obter o tomcat e vamos instalar ele 
 +<sxh bash>
 +
 +cd /opt
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​apache/​apache-tomcat-6.0.35.tar.gz
 +tar -xzvf apache-tomcat-6.0.35.tar.gz
 +mv apache-tomcat-6.0.35 tomcat
 +rm -rf apache-tomcat-6.0.35.tar.gz ​
 +</​sxh>​
 +
 +Vamos criar o script de incialização do tomcat ​
 +<sxh bash>
 +
 +vim /​etc/​init.d/​tomcat
 +#!/bin/bash
 +### BEGIN INIT INFO
 +# Provides: ​            ​tomcat
 +# Required-Start: ​      ​$remote_fs $syslog
 +# Required-Stop: ​       $remote_fs $syslog
 +# Default-Start: ​       2 3 4 5
 +# Default-Stop: ​        0 1 6
 +# Short-Description: ​   Apache Tomcat
 +### END INIT INFO
 +
 +GREY="​\033[01;​30m"​ RED="​\033[01;​31m"​ GREEN="​\033[01;​32m"​ YELLOW="​\033[01;​33m"​
 +BLUE="​\033[01;​34m"​ PURPLE="​\033[01;​35m"​ CYAN="​\033[01;​36m"​ WHITE="​\033[01;​37m"​
 +CLOSE="​\033[m"​
 +
 +start(){
 +echo -e "​${GREEN}INICIANDO TOMCAT${CLOSE}"​
 +/bin/sh /​opt/​tomcat/​bin/​startup.sh
 +echo -e "​${GREEN}TOMCAT INICIADO${CLOSE}"​
 +}
 +
 +stop (){
 +echo -e "​${RED}PARANDO TOMCAT${CLOSE}"​
 +/bin/sh /​opt/​tomcat/​bin/​shutdown.sh
 +echo -e "​${RED}TOMCAT PARADO${CLOSE}"​
 +}
 +
 +case "​$1"​ in
 +start)
 +start;;
 +
 +stop)
 +stop;;
 +
 +restart)
 +stop
 +start
 +;;
 +
 +*)
 +echo -e "​${RED}COMANDO INVALIDO${CLOSE}"​
 +;;
 +esac
 +
 +exit 0
 +</​sxh>​
 +
 +Vamos acertar a permissão do script ​
 +<sxh bash>
 +
 +chmod +x /​etc/​init.d/​tomcat
 +</​sxh>​
 +
 +Agora vamos colocar esse script na inicialização do sistema
 +<sxh bash>
 +
 +insserv -f -v tomcat
 +</​sxh>​
 +
 +Agora vamos acertar o usuario do tomcat ​
 +<sxh xml>
 +
 +vim /​opt/​tomcat/​conf/​tomcat-users.xml
 +<​tomcat-users>​
 +[...]
 +<role rolename="​manager"/>​
 +<role rolename="​admin"/>​
 +<user username="​douglas"​ password="​doug123"​ roles="​manager,​admin"/>​
 +[...]
 +</​tomcat-users>​
 +</​sxh>​
 +
 +Agora vamos reiniciar o tomcat ​
 +<sxh bash>
 +
 +/​etc/​init.d/​tomcat restart
 +</​sxh>​
 +
 +Agora vamos checar a configuração ​
 +<sxh bash>
 +
 +nmap -sS localhost -T4
 +
 +Starting Nmap 5.21 ( http://​nmap.org ) at 2011-10-01 19:54 BRT
 +Nmap scan report for localhost (127.0.0.1)
 +Host is up (0.0000040s latency).
 +Not shown: 995 closed ports
 +PORT     STATE SERVICE
 +22/​tcp ​  ​open ​ ssh
 +111/​tcp ​ open  rpcbind
 +631/​tcp ​ open  ipp
 +8009/tcp open  ajp13
 +8080/tcp open  http-proxy
 +
 +Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
 +</​sxh>​
 +
 +Vamos acertar os diretórios para o nosso site
 +<sxh bash>
 +
 +mkdir -p /​var/​www/​tomcat.douglasqsantos.com.br
 +mkdir -p /​var/​www/​tomcat.douglasqsantos.com.br/​htdocs
 +mkdir -p /​var/​www/​tomcat.douglasqsantos.com.br/​logs
 +</​sxh>​
 +
 +Configurando o virtualhost para o tomcat se você não tiver mais um servidor web trabalhando pode musar a porta padrão do tomcat de 8080 para a porta 80
 +<sxh xml>
 +
 +vim /​opt/​tomcat/​conf/​server.xml
 +[...]
 +
 +<!-- Opcional -->
 +[...]
 +<​Connector port="​80"​ protocol="​HTTP/​1.1" ​
 +               ​connectionTimeout="​20000" ​
 +               ​redirectPort="​443"​ />
 +
 +[...]
 +<​Connector port="​8009"​ protocol="​AJP/​1.3"​ redirectPort="​443"​ />
 +
 +<!-- Criação do virtual host -->
 +<Engine name="​Catalina"​ defaultHost="​tomcat.douglasqsantos.com.br">​
 +[...]
 +<!-- tomcat.douglasqsantos.com.br -->
 +<Host name="​tomcat.douglasqsantos.com.br"​ appBase="/​var/​www/​tomcat.douglasqsantos.com.br"​ unpackWARs="​true"​ autoDeploy="​true">​
 +    <Context path=""​ docBase="​htdocs"​ debug="​0"​ reloadable="​true"/>​
 +    <Valve className="​org.apache.catalina.valves.AccessLogValve"​ directory="/​var/​www/​tomcat.douglasqsantos.com.br/​logs" ​ prefix="​tomcat_access_"​ suffix="​.log"​ pattern="​common"​ resolveHosts="​false"/>​
 +</​Host>​
 +[...]
 +</​Engine>​
 +</​sxh>​
 +
 +Agora vamos acertar mais algumas configurações no tomcat ​
 +<sxh bash>
 +
 +mkdir -p /​opt/​tomcat/​conf/​Catalina/​tomcat.douglasqsantos.com.br
 +cp /​opt/​tomcat/​conf/​Catalina/​localhost/​* /​opt/​tomcat/​conf/​Catalina/​tomcat.douglasqsantos.com.br
 +</​sxh>​
 +
 +Agora vamos criar uma página de teste 
 +<sxh xml>
 +
 +vi /​var/​www/​tomcat.douglasqsantos.com.br/​htdocs/​index.jsp
 +<​html>​
 +    <​head>​
 +        <​title>​Hello World</​title>​
 +    </​head>​
 +    <​body>​
 +        <​h1>​Hello World</​h1>​
 +        Today is: <%= new java.util.Date().toString() %>
 +    </​body>​
 +</​html>​
 +</​sxh>​
 +
 +Agora é so reiniciar o tomcat ​
 +<sxh bash>
 +
 +/​etc/​init.d/​tomcat restart
 +</​sxh>​
 +
 +Agora para testar você pode acessar em http://​tomcat.douglasqsantos.com.br se você mudou a porta de 8080 para 80 senão acesse em http://​tomcat.douglasqsantos.com.br:​8080 se ficou a porta padrão ​
 +
 +**Opcional** Gerar a chave de criptografia para trabalhar com https 
 +<sxh bash>
 +
 +mkdir /​etc/​ssl/​tomcat
 +keytool -genkeykeytool -genkey -alias tomcat -keyalg RSA -keystore /​etc/​ssl/​tomcat/​key.jks
 +Enter keystore password: ​ doug123
 +Re-enter new password: doug123
 +What is your first and last name?
 +  [Unknown]: ​ tomcat.douglasqsantos.com.br
 +What is the name of your organizational unit?
 +  [Unknown]: ​ Douglas ​
 +What is the name of your organization?​
 +  [Unknown]: ​ Douglas
 +What is the name of your City or Locality?
 +  [Unknown]: ​ Curitiba
 +What is the name of your State or Province?
 +  [Unknown]: ​ Parana
 +What is the two-letter country code for this unit?
 +  [Unknown]: ​ BR
 +Is CN=tomcat.douglasqsantos.com.br,​ OU="​Douglas ", O=Douglas, L=Curitiba, ST=Parana, C=BR correct?
 +  [no]:  yes
 +Enter key password for <​tomcat>​
 +  (RETURN if same as keystore password): ​ doug123
 +Re-enter new password: doug123
 +</​sxh>​
 +
 +Agora vamos acertar a configuração do tomcat para trabalhar com https 
 +
 +<sxh xml>
 +
 +vim /​opt/​tomcat/​conf/​server.xml
 +[...]
 +   <​Connector port="​80"​ protocol="​HTTP/​1.1" ​
 +               ​connectionTimeout="​20000" ​
 +               ​redirectPort="​443"​ />
 +[...]
 +<​!-- ​ Insira essas linhas abaixo -->
 +    <​Connector port="​443"​ protocol="​HTTP/​1.1"​ SSLEnabled="​true" ​  
 +               ​maxThreads="​150"​ scheme="​https"​ secure="​true"  ​
 +        keystoreFile="/​etc/​ssl/​tomcat/​key.jks"​ keystorePass="​doug123"  ​
 +               ​clientAuth="​false"​ sslProtocol="​TLS"​ />  ​
 +</​sxh>​
 +
 +Agora vamos reiniciar o tomcat ​
 +<sxh bash>
 +/​etc/​init.d/​tomcat restart
 +</​sxh>​
 +
 +Para testar acess https://​tomcat.douglasqsantos.com.br ​
 +
 +Se gerarmos as chaves como as chaves do apache podemos utilizar as seguintes entradas em server.xml ​
 +<sxh xml;>
 +
 +vim /​opt/​tomcat/​conf/​server.xml
 +[...]
 +<​Connector ​
 +           ​port="​8443"​ maxThreads="​200"​
 +           ​scheme="​https"​ secure="​true"​ SSLEnabled="​true"​
 +           ​SSLCertificateFile="/​usr/​local/​ssl/​server.crt" ​
 +           ​SSLCertificateKeyFile="/​usr/​local/​ssl/​server.pem"​
 +           ​clientAuth="​optional"​ SSLProtocol="​TLSv1"​
 +/>
 +</​sxh>​
 +
 +====== Referências ======
 +
 +  - http://​tomcat.apache.org/​
 +  - http://​tomcat.apache.org/​tomcat-6.0-doc/​index.html
 +  - http://​tomcat.apache.org/​connectors-doc/​reference/​apache.html