Como instalar o Apache Tomcat 9 no Debian 9

porplague70

Como instalar o Apache Tomcat 9 no Debian 9

Introdução

O Apache Tomcat é um servidor da web e um contêiner de servlet usado para servir aplicativos Java. O Tomcat é uma implementação de código aberto das tecnologias Java Servlet e JavaServer Pages, lançada pela Apache Software Foundation. Este tutorial aborda a instalação básica e algumas configurações da versão mais recente do Tomcat 9 no seu servidor Debian 9.

Pré-requisitos

Antes de começar com este guia, você deve ter um usuário não root com sudoprivilégios configurados no seu servidor. Você pode aprender como fazer isso completando nosso guia de configuração do servidor Debian 9 inicial .

Etapa 1 – Instalar Java

O Tomcat exige que o Java seja instalado no servidor para que qualquer código de aplicativo da Web Java possa ser executado. Podemos satisfazer esse requisito instalando o OpenJDK com o apt.

Primeiro, atualize seu índice de pacote apt:

sudo apt update

Em seguida, instale o pacote Java Development Kit com o apt:

sudo apt install default-jdk

Agora que o Java está instalado, podemos criar um tomcatusuário, que será usado para executar o serviço Tomcat.

Etapa 2 – Criar usuário do Tomcat

Por questões de segurança, o Tomcat deve ser executado como um usuário sem privilégios (ou seja, não como root). Criaremos um novo usuário e grupo que executará o serviço Tomcat.

Nota : Em alguns ambientes, um pacote chamado unscdpode ser instalado por padrão para acelerar solicitações para nomear servidores como LDAP. A versão mais recente atualmente disponível no Debian contém um bug que faz com que certos comandos (como o addusercomando abaixo) produzam resultados adicionais parecidos com este:

sent invalidate(passwd) request, exiting
sent invalidate(group) request, exiting

Essas mensagens são inofensivas, mas se você deseja evitá-las, é seguro remover o unscdpacote se você não planeja usar sistemas como LDAP para obter informações do usuário:

apt remove unscd

Primeiro, crie um novo tomcatgrupo:

sudo groupadd tomcat

Em seguida, crie um novo tomcatusuário. Tornaremos esse usuário um membro do tomcatgrupo, com um diretório inicial de /opt/tomcat(onde instalaremos o Tomcat) e com um shell de /bin/false(para que ninguém possa fazer login na conta):

sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Agora que nosso tomcatusuário está configurado, faça o download e instale o Tomcat.

Etapa 3 – Instale o Tomcat

A melhor maneira de instalar o Tomcat 9 é baixar a versão binária mais recente e configurá-la manualmente.

Encontre a versão mais recente do Tomcat 9 na página de downloads do Tomcat 9 . No momento da redação deste artigo, a versão mais recente é 9.0.11 , mas você deve usar uma versão estável posterior, se estiver disponível. Na seção Distribuições binárias , na lista Core , copie o link para “tar.gz”.

Em seguida, mude para o /tmpdiretório em seu servidor. Este é um bom diretório para baixar itens efêmeros, como o tarball do Tomcat, que não precisaremos depois de extrair o conteúdo do Tomcat:

cd /tmp

Usaremos a curlferramenta de linha de comando para baixar o tarball. Instalar curl:

sudo apt install curl

Agora, use curlpara baixar o link que você copiou do site do Tomcat:

curl -O http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.11/bin/apache-tomcat-9.0.11.tar.gz

Vamos instalar o Tomcat no /opt/tomcatdiretório Crie o diretório e extraia o arquivo morto com estes comandos:

sudo mkdir /opt/tomcat
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

Em seguida, podemos configurar as permissões de usuário adequadas para nossa instalação.

Etapa 4 – Atualizar permissões

tomcatusuário que configuramos precisa ter acesso à instalação do Tomcat. Vamos configurar isso agora.

Mude para o diretório em que descompactamos a instalação do Tomcat:

cd /opt/tomcat

Conceda ao tomcatgrupo a propriedade de todo o diretório de instalação:

sudo chgrp -R tomcat /opt/tomcat

Em seguida, forneça ao tomcatgrupo acesso de leitura ao confdiretório e a todo o seu conteúdo e execute o acesso ao próprio diretório:

sudo chmod -R g+r conf
sudo chmod g+x conf

Faça o tomcatusuário proprietário dos webappsworktemp, e logsdiretórios:

sudo chown -R tomcat webapps/ work/ temp/ logs/

Agora que as permissões apropriadas foram configuradas, podemos criar um arquivo de serviço systemd para gerenciar o processo do Tomcat.

Etapa 5 – Criar um arquivo de serviço systemd

Queremos poder executar o Tomcat como um serviço, portanto, configuraremos o arquivo de serviço systemd.

O Tomcat precisa saber onde o Java está instalado. Esse caminho é conhecido como “JAVA_HOME”. A maneira mais fácil de procurar esse local é executando este comando:

sudo update-java-alternatives -l
Outputjava-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64

Você JAVA_HOMEé o resultado da última coluna (destacada em vermelho). Dado o exemplo acima, o correto JAVA_HOMEpara este servidor seria:

JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-amd64

Você JAVA_HOMEpode ser diferente.

Com essa informação, podemos criar o arquivo de serviço systemd. Abra um arquivo chamado tomcat.serviceno /etc/systemd/systemdiretório digitando:

sudo nano /etc/systemd/system/tomcat.service

Cole o seguinte conteúdo no seu arquivo de serviço. Modifique o valor de, JAVA_HOMEse necessário, para corresponder ao valor encontrado em seu sistema. Você também pode modificar as configurações de alocação de memória especificadas em CATALINA_OPTS:/etc/systemd/system/tomcat.service

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Quando terminar, salve e feche o arquivo.

Em seguida, recarregue o daemon systemd para que ele conheça nosso arquivo de serviço:

sudo systemctl daemon-reload

Inicie o serviço Tomcat digitando:

sudo systemctl start tomcat

Verifique se ele foi iniciado sem erros digitando:

sudo systemctl status tomcat

Você deve ver uma saída semelhante à seguinte:

Output● tomcat.service - Apache Tomcat Web Application Container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-09-05 20:47:44 UTC; 3s ago
  Process: 9037 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 9046 (java)
    Tasks: 46 (limit: 4915)
   CGroup: /system.slice/tomcat.service
           └─9046 /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Dja

Sep 05 20:47:44 tomcat systemd[1]: Starting Apache Tomcat Web Application Container...
Sep 05 20:47:44 tomcat systemd[1]: Started Apache Tomcat Web Application Container.

Isso confirma que o Tomcat está funcionando no seu servidor.

Etapa 6 – Ajustar o firewall e testar o servidor Tomcat

Agora que o serviço Tomcat foi iniciado, podemos testar para garantir que a página padrão esteja disponível.

Antes de fazer isso, precisamos ajustar o firewall para permitir que nossos pedidos cheguem ao serviço. Se você seguiu os pré-requisitos, terá um ufwfirewall ativado no momento.

O Tomcat usa port 8080para aceitar solicitações convencionais. Permita o tráfego para essa porta digitando:

sudo ufw allow 8080

Com o firewall modificado, você pode acessar a página inicial padrão acessando seu domínio ou endereço IP seguido por :8080um navegador da web:

Open in web browserhttp://server_domain_or_IP:8080

Você verá a página inicial padrão do Tomcat, além de outras informações. No entanto, se você clicar nos links para o Gerenciador de aplicativos, por exemplo, seu acesso será negado. Podemos configurar esse acesso a seguir.

Se você conseguiu acessar o Tomcat com êxito, agora é uma boa hora para ativar o arquivo de serviço para que o Tomcat seja iniciado automaticamente na inicialização:

sudo systemctl enable tomcat

Etapa 7 – Configurar a interface de gerenciamento da web do Tomcat

Para usar o aplicativo Web do gerente que acompanha o Tomcat, precisamos adicionar um login ao nosso servidor Tomcat. Faremos isso editando o tomcat-users.xmlarquivo:

sudo nano /opt/tomcat/conf/tomcat-users.xml

Você deseja adicionar um usuário que possa acessar os manager-guiadmin-gui(aplicativos da web que acompanham o Tomcat). Você pode fazer isso definindo um usuário, semelhante ao exemplo abaixo, entre as tomcat-userstags. Certifique-se de alterar o nome de usuário e a senha para algo seguro:tomcat-users.xml – Usuário administrador

<tomcat-users . . .>
    <user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>

Salve e feche o arquivo quando terminar.

Por padrão, as versões mais recentes do Tomcat restringem o acesso aos aplicativos Manager e Host Manager a conexões provenientes do próprio servidor. Como estamos instalando em uma máquina remota, você provavelmente desejará remover ou alterar essa restrição. Para alterar as restrições de endereço IP, abra os context.xmlarquivos apropriados .

Para o aplicativo Manager, digite:

sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

Para o aplicativo Host Manager, digite:

sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

No interior, comente a restrição de endereço IP para permitir conexões de qualquer lugar. Como alternativa, se você deseja permitir acesso apenas a conexões provenientes de seu próprio endereço IP, você pode adicionar seu endereço IP público à lista:arquivos context.xml para aplicativos da Web Tomcat

<Context antiResourceLocking="false" privileged="true" >
  <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
</Context>

Salve e feche os arquivos quando terminar.

Para efetivar nossas alterações, reinicie o serviço Tomcat:

sudo systemctl restart tomcat

Etapa 8 – Acesse a interface da Web

Agora que criamos um usuário, podemos acessar a interface de gerenciamento da web novamente em um navegador da web. Mais uma vez, você pode acessar a interface correta digitando o nome de domínio ou endereço IP do servidor seguido na porta 8080 no seu navegador:

Open in web browserhttp://server_domain_or_IP:8080

A página que você vê deve ser a mesma que você recebeu quando testou anteriormente:

Raiz do Tomcat

Vamos dar uma olhada no App Manager, acessível através do link ou . Você precisará inserir as credenciais da conta que você adicionou ao arquivo. Depois, você deverá ver uma página parecida com esta:http://server_domain_or_IP:8080/manager/htmltomcat-users.xml

Gerenciador de aplicativos da web Tomcat

O Web Application Manager é usado para gerenciar seus aplicativos Java. Você pode iniciar, parar, recarregar, implantar e remover a implantação aqui. Você também pode executar alguns diagnósticos em seus aplicativos (ou seja, encontrar vazamentos de memória). Por fim, informações sobre seu servidor estão disponíveis na parte inferior desta página.

Agora, vamos dar uma olhada no Host Manager, acessível através do link ou :http://server_domain_or_IP:8080/host-manager/html/

Gerenciador de host virtual do Tomcat

Na página Gerenciador de Host Virtual, você pode adicionar hosts virtuais para servir seus aplicativos.

Conclusão

Sua instalação do Tomcat está concluída! Agora você está livre para implantar seus próprios aplicativos da web Java!

Atualmente, sua instalação do Tomcat está funcional, mas totalmente não criptografada. Isso significa que todos os dados, incluindo itens confidenciais, como senhas, são enviados em texto sem formatação que podem ser interceptados e lidos por outras partes na internet. Para impedir que isso aconteça, é altamente recomendável que você criptografe suas conexões com SSL. Você pode descobrir como criptografar suas conexões com o Tomcat seguindo este guia ( nota: este guia cobre a criptografia do Tomcat 8 no Ubuntu 16.04 ).

Sobre o Autor

plague70 administrator

Deixe uma resposta