Como Instalar o Apache Tomcat no Ubuntu

Se você deseja executar páginas da web que incluam codificação de páginas de servidor Java ou servlets, você pode usar o Apache Tomcat. É um servidor web de código aberto e contêiner de servlets, lançado pela Apache Software Foundation.

O Tomcat pode ser usado como um produto independente, com seu próprio servidor web, ou pode ser combinado com outros servidores web como Apache ou IIS. A versão mais recente do Tomcat é a 9.0.14 e é baseada no Tomcat 8 e 8.5 e implementa Servlet 4.0, JSP 2.2.

Leia Também: Como Instalar o Apache Tomcat 9 no CentOS/RHEL

As seguintes melhorias foram feitas na nova versão:

  • Adicionado suporte para HTTP/2.
  • Adicionado suporte para uso do OpenSSL para suporte TLS com os conectores JSSE.
  • Adicionado suporte para hosts virtuais TLS (SNI).

Neste tutorial, vamos mostrar como instalar o Apache Tomcat 9 no Ubuntu 18.10 e versões mais antigas do Ubuntu.

Passo 1: Instalando o Java

Para executar aplicações web Java, o Tomcat requer que o Java esteja instalado no servidor. Para atender a esse requisito, vamos instalar o OpenJDK conforme mostrado.

$ sudo apt update
$ sudo apt install default-jdk

Passo 2: Criando um Usuário do Tomcat

Por motivos de segurança, o Tomcat deve ser executado com um usuário não privilegiado, ou seja, não root. Por isso, vamos criar o usuário e grupo tomcat que irá executar o serviço. Comece criando o grupo tomcat:

$ sudo groupadd tomcat

Em seguida, vamos criar um usuário tomcat, que será membro do grupo tomcat. A localização da pasta inicial deste usuário será /opt/tomcat, pois é onde vamos instalar o Tomcat. O shell será definido como /bin/false:

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

Agora estamos prontos para prosseguir para o próximo passo e baixar o Tomcat.

Passo 3: Instalando o Apache Tomcat

Para baixar o pacote mais recente disponível, acesse a página de download do Tomcat e pegue a versão mais recente.

No momento em que este tutorial foi escrito, a versão mais recente do Tomcat é 9.0.14. Para baixar essa versão, altere seu diretório atual para outro. Por exemplo, você pode usar /tmp:

# cd /tmp

E então, usando o comando wget para baixar o arquivo do Tomcat:

$ wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
$ wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512

Se você deseja verificar o sha512 sum do arquivo, pode executar:

$ sha512sum apache-tomcat-9.0.14.tar.gz
$ cat apache-tomcat-9.0.14.tar.gz.sha512

O valor resultante (hash) para ambos os arquivos deve ser o mesmo.

Como mencionado anteriormente, vamos instalar o Tomcat em /opt/tomcat. Teremos que criar esse diretório:

$ sudo mkdir /opt/tomcat

E agora podemos extrair o pacote baixado nesse novo diretório:

$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1

Agora navegue até /opt/tomcat de onde atualizaremos a propriedade e permissões da pasta:

# cd /opt/tomcat

E defina o grupo proprietário de /opt/tomcat para tomcat:

$ sudo chgrp -R tomcat /opt/tomcat

Em seguida, atualizaremos o acesso de leitura do grupo tomcat sobre o diretório conf e definiremos permissões de execução para o diretório:

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

Depois faremos o usuário tomcat proprietário dos diretórios webapps, work, temp e logs:

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

Agora as permissões e proprietários adequados foram definidos e estamos prontos para criar um arquivo de inicialização do systemd, que nos ajudará a gerenciar o processo do Tomcat.

Passo 4: Criando um Arquivo de Serviço SystemD para o Tomcat

Como queremos executar o Tomcat como um serviço, precisaremos ter um arquivo que nos ajude a gerenciar facilmente o processo. Para esse fim, criaremos um arquivo de serviço systemd. O Tomcat terá que saber onde o Java está localizado no seu sistema.

Para encontrar essa localização, use o seguinte comando:

$ sudo update-java-alternatives -l

O resultado desse comando mostrará a localização do JAVA_HOME.

Find Java Home

Agora, usando essa informação, estamos prontos para criar nosso arquivo de serviço do Tomcat.

$ sudo vim  /etc/systemd/system/tomcat.service

Cole o código abaixo no arquivo:

[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

Certifique-se de definir JAVA_HOME com o da sua sistema. Quando estiver pronto, salve o arquivo e feche-o. Agora, usando o comando abaixo, recarregue o daemon systemd para que ele possa encontrar nosso novo arquivo de serviço:

$ sudo systemctl daemon-reload

E então inicie o serviço do Tomcat:

$ sudo systemctl start tomcat

Você pode verificar o status do serviço com:

$ sudo systemctl status tomcat
Verify Apache Tomcat Status

Agora você pode testar o Tomcat em seu navegador usando o endereço IP do seu sistema seguido pela porta padrão do serviço 8080.

http://ip-address:8080

O resultado que você deve ver será semelhante ao mostrado na imagem abaixo:

Apache Tomcat Web Page

Caso você não esteja vendo a saída acima, talvez precise permitir a porta 8080 em seu firewall conforme mostrado.

$ sudo ufw allow 8080

Se deseja que o Tomcat inicie no boot do sistema, execute:

$ systemctl enable tomcat

Passo 5: Configurando o Apache Tomcat

O Tomcat possui um aplicativo de gerenciamento web que vem pré-instalado. Para utilizá-lo, precisaremos configurar a autenticação dentro do arquivo tomcat-users.xml. Abra e edite esse arquivo com seu editor de texto favorito:

$ sudo vim /opt/tomcat/conf/tomcat-users.xml

Vamos adicionar um usuário que poderá acessar as interfaces de gerenciamento e administração. Para configurar tal usuário, entre as tags <tomcat-users> </tomcat-users>, adicione a seguinte linha:

<user username="Username" password="Password" roles="manager-gui,admin-gui"/>

Certifique-se de alterar:

  • Nome de usuário – com o usuário que deseja autenticar.
  • Senha – com a senha que deseja usar para autenticação.
Configure Apache Tomcat

Como por padrão o acesso ao Gerenciador de Hosts e ao Gerenciador é restrito, queremos remover ou alterar essas restrições. Para fazer tais alterações, você pode carregar os seguintes arquivos:

Para o aplicativo Gerenciador:

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

Para o aplicativo Gerenciador de Hosts:

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

Dentro desses arquivos, você pode comentar a restrição de IP ou permitir o seu endereço IP público lá. Para o propósito deste tutorial, eu comentei a linha:

Allow Apache Tomcat Access

Para tornar nossas alterações ao vivo, recarregue o serviço tomcat com:

$ sudo systemctl restart tomcat 


Agora você pode testar o aplicativo
manager acessando http://ipaddress:8080/manager/. Quando solicitado o nome de usuário e senha, use aqueles que você configurou anteriormente. A interface que você deve ver depois disso se parece com isso:

Access Apache Tomcat Manager

Para acessar o Gerenciador de Host, você pode usar http://ip-address:8080/host-manager/.

Access Apache Tomcat Virtual Host Manager

Usando o gerenciador de host virtual, você pode criar hosts virtuais para suas aplicações Tomcat.

Passo 6: Testando o Apache Tomcat Criando um Arquivo de Teste

Você pode verificar se tudo está funcionando corretamente, criando um arquivo de teste dentro do diretório /opt/tomcat/webapps/ROOT/.

Vamos criar esse arquivo:

$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp

Dentro desse arquivo cole o seguinte código:

<html>
<head>
<title>Tecmint post:TomcatServer</title>
</head>
<body>

<START OF JAVA CODES>
<%
    out.println("Hello World! I am running my first JSP Application");
    out.println("<BR>Tecmint is an Awesome online Linux Resource.");
%>
<END OF JAVA CODES>

</body>
</html>

Salve o arquivo e defina a propriedade como mostrado.

$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp

Agora carregue esse arquivo em seu navegador usando http://ip-address:8080/tecmint.jsp.

Test Apache Tomcat

É isso! Você concluiu a configuração do seu servidor Apache Tomcat e executou seu primeiro código Java. Esperamos que o processo tenha sido fácil e direto para você. Se você enfrentar problemas, compartilhe seus problemas através do formulário de comentário abaixo.

Source:
https://www.tecmint.com/install-apache-tomcat-in-ubuntu/