Como instalar o Apache Tomcat 9 no Debian 10

Introdução

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

Pré-requisitos

Antes de começar com este guia, você deve ter um usuário não root com sudo privilégios configurados em seu servidor. 

Etapa 1 – Instale o Java

O Tomcat requer 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 apt:

sudo apt install default-jdk

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

Etapa 2 – Criar usuário Tomcat

Para fins 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.

Primeiro, crie um novo grupo tomcat :

sudo groupadd tomcat

Em seguida, crie um novo usuário tomcat . Faremos esse usuário um membro do grupo tomcat , 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 usuário tomcat está configurado, vamos baixar e instalar 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 escrita, a versão mais recente é 9.0.27 , mas você deve usar uma versão estável posterior se estiver disponível. Na seção Distribuições binárias e, em seguida, na lista Principal , copie o link para “tar.gz”.

Em seguida, retorne à sua sessão SSH e vá para o /tmp diretório em seu servidor. Este é um bom diretório para baixar itens efêmeros, como o tarball do Tomcat, que não precisaremos após extrair o conteúdo do Tomcat:

cd /tmp

Usaremos a curl ferramenta de linha de comando para baixar o tarball. Instale curl:

sudo apt install curl

Agora, use curl para 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/tomcat diretório. Crie o diretório e extraia o arquivo para ele com estes comandos:

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

A seguir, configuraremos as permissões de usuário adequadas para nossa instalação.

Etapa 4 – Atualizar permissões

O usuário tomcat que criamos precisa ter acesso à instalação do Tomcat. Vamos configurar isso agora.

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

cd /opt/tomcat

Dê ao grupo tomcat a propriedade de todo o diretório de instalação:

sudo chgrp -R tomcat /opt/tomcat

Em seguida, dê ao grupo tomcatread acesso ao conf diretório e todo o seu conteúdo, e executeacesso ao próprio diretório:

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

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

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

Agora que as permissões adequadas estão configuradas, criaremos um arquivo de serviço systemd para gerenciar o processo Tomcat.

Etapa 5 – Criar um arquivo de serviço systemd

Queremos ser capazes de 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 é comumente conhecido como JAVA_HOME. A maneira mais fácil de pesquisar esse local é executando este comando:

sudo update-java-alternatives -l Output java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64

Seu JAVA_HOMEé o resultado da última coluna (destacado acima). Dado o exemplo acima, o correto JAVA_HOMEpara este servidor seria:

JAVA_HOME /usr/lib/jvm/java-1.11.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/system diretório digitando:

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

Cole o seguinte conteúdo em seu arquivo de serviço. Modifique o valor de JAVA_HOMEse necessário para corresponder ao valor que você encontrou em seu sistema. Você também pode querer modificar as configurações de alocação de memória que são 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.11.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 saiba sobre nosso arquivo de serviço:

sudo systemctl daemon-reload

Inicie o serviço Tomcat digitando:

sudo systemctl start tomcat

Verifique se tudo começou sem erros digitando:

sudo systemctl status tomcat

Você deve ver uma saída semelhante a esta:

Output tomcat.service - Apache Tomcat Web Application Container    Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)    Active: active (running) since Thu 2019-10-24 17:18:11 UTC; 4s ago   Process: 5962 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)  Main PID: 5970 (java)     Tasks: 44 (limit: 2377)    Memory: 184.2M    CGroup: /system.slice/tomcat.service            └─5970 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.u Oct 24 17:18:10 tomcat systemd[1]: Starting Apache Tomcat Web Application Container... Oct 24 17:18:11 tomcat startup.sh[5962]: Tomcat started. Oct 24 17:18:11 tomcat systemd[1]: Started Apache Tomcat Web Application Container.

Isso confirma que o Tomcat está instalado e funcionando em seu servidor.

Etapa 6 – Ajustar o Firewall e testar o servidor Tomcat

Agora que o serviço Tomcat foi iniciado, podemos testar para ter certeza de que a página padrão está disponível.

Antes de fazermos isso, precisamos ajustar o firewall para permitir que nossas solicitações cheguem ao serviço. Se você seguiu os pré-requisitos, terá um ufwfirewall ativado atualmente.

O Tomcat usa a porta 8080para aceitar solicitações. 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 indo para seu domínio ou endereço IP seguido por :8080em um navegador da web:

Open in web browser http://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 do Aplicativo do gerenciador, por exemplo, o acesso será negado. Podemos configurar esse acesso a seguir.

Se você conseguiu acessar o Tomcat, agora é um bom momento para habilitar o arquivo de serviço para que o Tomcat inicie automaticamente na inicialização:

sudo systemctl enable tomcat

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

Para usar o aplicativo da web do gerenciador que vem com o Tomcat, devemos adicionar um login ao nosso servidor Tomcat. Faremos isso editando o tomcat-users.xmlarquivo:

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

Você desejará adicionar um usuário que possa acessar o manager-guiadmin-gui(aplicativos da web que vêm com 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

<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 para conexões provenientes do próprio servidor. Como estamos instalando em uma máquina remota, você provavelmente desejará remover ou alterar esta restrição. Para alterar as restrições de endereço IP neles, 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

Dentro, comente a restrição de endereço IP para permitir conexões de qualquer lugar. Como alternativa, se desejar permitir o 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 do 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 colocar nossas alterações em vigor, 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 obter a interface correta inserindo o nome de domínio do servidor ou endereço IP seguido na porta 8080 em seu navegador:

Open in web browser http://server_domain_or_IP:8080

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

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

O Web Application Manager é usado para gerenciar seus aplicativos Java. Você pode iniciar, parar, recarregar, implantar e desimplantar aqui. Você também pode executar alguns diagnósticos em seus aplicativos (ou seja, encontrar vazamentos de memória). Por último, as informações sobre o 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/

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 Java da web.

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 simples que pode ser interceptado e lido por terceiros na Internet. Para evitar que isso aconteça, é altamente recomendável criptografar suas conexões com SSL. Você pode descobrir como criptografar suas conexões para Tomcat seguindo este guia ( nota: este guia cobre a criptografia Tomcat 8 no Ubuntu 16.04 ).

 

 

Was this article helpful?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *