Processo de atualização TomCat
Antes de fazer a atualização do Tomcat, será necessário verificar a compatibilidade com a versão do Quality Manager configurada no servidor.
| Versão do Quality Manager | Tomcat |
| 2.60 à 2.63 | Apache Tomcat 9.0.43 |
| 2.64 à 2.66 | Apache Tomcat 9.0.65 |
| 2.67 | Apache Tomcat 9.0.69 |
| 2.70 | Apache Tomcat 9.0.74 |
| 2.85+ | Apache Tomcat 10.1.19 |
| 2.91+ | Apache Tomcat 10.1.40 |
Para fazer a atualização do Tomcat, os comandos abaixo deverão ser executados por um usuário com permissões administrativas no servidor.
- Pare o serviço do Tomcat e crie variáveis de ambiente para facilitar o processo de atualização:
systemctl stop tomcat9.service
export DIR_TOMCAT="/var/lib/tomcat9"
export DIR_TOMCAT10="/var/lib/tomcat10"
export BKP_TOMCAT="/var/lib/tomcat9_bkp_$(date +\%Y\%m\%d)"
export ATT_TOMCAT="versão a ser instalada"
2. Renomeie diretório do Tomcat antigo para ficar como backup:
mv $DIR_TOMCAT $BKP_TOMCAT
3. Faça o download dos binários da nova versão do Tomcat:
cd /tmp
- Download do Tomcat na versão 9:
wget https://archive.apache.org/dist/tomcat/tomcat-9/v$ATT_TOMCAT/bin/apache-tomcat-$ATT_TOMCAT.zip -O tomcat$ATT_TOMCAT.zip
- Download do Tomcat na versão 10:
wget https://archive.apache.org/dist/tomcat/tomcat-10/v$ATT_TOMCAT/bin/apache-tomcat-$ATT_TOMCAT.zip -O tomcat$ATT_TOMCAT.zip
4. Descompacte o arquivo baixado e manipule os arquivos executando os comandos abaixo:
unzip tomcat$ATT_TOMCAT.zip
- Se estiver atualizando para Tomcat 9, execute os comandos abaixo:
sudo mv apache-tomcat-$ATT_TOMCAT/ tomcat9
sudo mv tomcat9/ /var/lib
cd $DIR_TOMCAT/webapps/
sudo rm -rf *
- Se estiver atualizando para Tomcat 10, execute os comandos abaixo:
sudo mv apache-tomcat-$ATT_TOMCAT/ tomcat10
sudo mv tomcat10/ /var/lib
cd $DIR_TOMCAT10/webapps/
sudo rm -rf *
5. Transfira os arquivos da aplicação do Tomcat antigo para o atual:
sudo cp $BKP_TOMCAT/webapps/*.war .
sudo cp -r $BKP_TOMCAT/webapps/mensageria .
sudo cp -r $BKP_TOMCAT/webapps/conf .
Para Tomcat 9:
sudo mkdir -p $DIR_TOMCAT/conf/Catalina/localhost
sudo cp $BKP_TOMCAT/conf/Catalina/localhost/rewrite.config $DIR_TOMCAT/conf/Catalina/localhost
cd $DIR_TOMCAT/conf
sudo mv context.xml context_bkp.xml
sudo cp $BKP_TOMCAT/conf/context.xml .
sudo mv server.xml server_bak.xml
sudo cp $BKP_TOMCAT/conf/server.xml .
sudo mv web.xml web_bak.xml
sudo cp $BKP_TOMCAT/conf/web.xml .
Para Tomcat 10:
sudo mkdir -p $DIR_TOMCAT10/conf/Catalina/localhost
sudo cp $BKP_TOMCAT/conf/Catalina/localhost/rewrite.config $DIR_TOMCAT10/conf/Catalina/localhost
6. Se a aplicação estiver configurada para que fique exposta sem contexto, exemplo: http://nome_maquina:8080/. Execute o comando abaixo para transferir os arquivos referentes ao Quality Manager:
Para Tomcat 9:
sudo cp -r $BKP_TOMCAT/apps/ $DIR_TOMCAT
sudo cp $BKP_TOMCAT/conf/Catalina/localhost/ROOT.xml $DIR_TOMCAT/conf/Catalina/localhost
Para Tomcat 10:
sudo cp -r $BKP_TOMCAT10/apps/ $DIR_TOMCAT10
sudo cp $BKP_TOMCAT10/conf/Catalina/localhost/ROOT.xml $DIR_TOMCAT10/conf/Catalina/localhost
7. Caso o Portal do Titular esteja configurado no mesmo servidor que o Quality Manager, também transfira os arquivos de configurações para o Tomcat atual:
Para Tomcat 9:
sudo cp $BKP_TOMCAT/conf/configPortal.* $DIR_TOMCAT/conf
Para Tomcat 10:
sudo cp $BKP_TOMCAT/conf/configPortal.* $DIR_TOMCAT10/conf
8. Faça o backup do arquivo de serviço do Tomcat:
Para Tomcat 9:
mv /etc/systemd/system/tomcat9.service /etc/systemd/system/tomcat9.service.bkp
Para Tomcat 10:
mv /etc/systemd/system/tomcat9.service /etc/systemd/system/tomcat10.service.bkp
Em algumas instalações o arquivo "tomcat9.service" pode estar alocado em outro diretório, caso o comando acima apresente falha, execute o comando abaixo:
mv /lib/systemd/system/tomcat9.service /lib/systemd/system/tomcat9.service.bkp
9. Crie um novo arquivo para o serviço do Tomcat:
Para Tomcat 9:
sudo vim /etc/systemd/system/tomcat9.service
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/var/lib/tomcat9/"
Environment="CATALINA_HOME=/var/lib/tomcat9/"
Environment="CATALINA_PID=/var/lib/tomcat9/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx4096M -server -XX:+UseParallelGC"
ReadWritePaths=/opt/qm_static/
ExecStart=/var/lib/tomcat9/bin/startup.sh
ExecStop=/var/lib/tomcat9/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Para Tomcat10:
sudo vim /etc/systemd/system/tomcat10.service
[Unit]
Description=Tomcat 10 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/var/lib/tomcat10/"
Environment="CATALINA_HOME=/var/lib/tomcat10/"
Environment="CATALINA_PID=/var/lib/tomcat10/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx4096M -server -XX:+UseParallelGC"
ReadWritePaths=/opt/qm_static/
ExecStart=/var/lib/tomcat10/bin/startup.sh
ExecStop=/var/lib/tomcat10/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
10. Altere as permissões no diretório do Tomcat, atualizando e iniciando o serviço:
Para Tomcat 9:
cd $DIR_TOMCAT
chown -R tomcat:tomcat *
chmod -R 755 *
systemctl start tomcat9.service
Para Tomcat 10:
cd $DIR_TOMCAT10
chown -R tomcat:tomcat *
chmod -R 755 *
systemctl start tomcat10.service
11. Alguns clientes possuem o banco de dados do Quality Manager hospedado em outro servidor. Neste caso, será necessário copiar o arquivo qm.app.properties para o Tomcat atualizado utilizando o comando abaixo:
sudo cp $BKP_TOMCAT/lib/qm.app.properties $DIR_TOMCAT/lib/
12. Para instalações que possuem a configuração HTTPS habilitada e o certificado esteja hospedado dentro da pasta do Tomcat. O certificado deverá ser copiado para o Tomcat atualizado:
Exemplo:
sudo cp $BKP_TOMCAT/conf/certificado.jks $DIR_TOMCAT/conf/

No Comments