Guia de tecnologias

Instalação e configuração básica do OTRS 5 no CentOS 7

9 min read Administração Atualizado 19 Oct 2025
Instalar OTRS 5 no CentOS 7
Instalar OTRS 5 no CentOS 7

Este guia passo a passo mostra como instalar e configurar o OTRS 5 em uma VM CentOS 7 (Minimal). Inclui preparação do sistema, MariaDB, Apache/SSL, módulos Perl, ativação do daemon, configuração de cron e o instalador web do OTRS. Siga as seções na ordem e use os checklists para validar cada etapa.

Intenção do artigo

Objetivo primário: instalar e configurar OTRS 5 em CentOS 7. Variantes relacionadas: instalar OTRS em RHEL/CentOS, configurar SSL para OTRS, preparar MariaDB para OTRS, dependências Perl para OTRS.

Importante: leia cada seção antes de executar os comandos. Alguns passos alteram segurança (SELinux, firewall). Aplique conforme sua política de segurança.

Resumo rápido antes de começar

  • Ambiente de exemplo: VirtualBox VM com CentOS 7 Minimal, 2 GB RAM, 8 GB HD e duas interfaces de rede (Host-only + NAT).
  • Componentes principais: MariaDB (MySQL compatível), Apache (httpd) com mod_ssl, módulos Perl, OTRS 5.
  • Resultado esperado: painel OTRS acessível em https:///otrs/ com usuário administrador criado pelo instalador.

Introdução ao OTRS

OTRS (open-source trouble ticket system) é um software open source usado para melhorar operações de suporte ao cliente, help desk, call centers e fluxos de atendimento. OTRS é escrito em Perl e oferece recursos como portal do cliente, gerenciamento de filas, prioridades, SLA, templates de e-mail, anexos, estatísticas e relatórios (CSV/PDF).

Definição rápida: OTRS — sistema de tickets para gestão de atendimento e suporte.

Ambiente de referência

Este artigo cobre a instalação do OTRS 5 e configuração básica. O conteúdo foi escrito com base neste ambiente de testes:

  • VirtualBox VM
  • CentOS 7 Minimal
  • 2 GB de RAM
  • 8 GB de disco
  • 2 interfaces de rede (host-only e NAT)

Use esse perfil apenas como referência; ambientes de produção devem ter recursos maiores e mecanismos de alta disponibilidade.

Preparação do sistema

Assumindo uma instalação limpa do CentOS 7 Minimal, atualize o sistema e instale pacotes adicionais.

Execute:

yum update

Exemplo de saída interativa (apenas referência):

Transaction Summary ================================================================================ Install 1 Package Upgrade 39 Packages Total download size: 91 M Is this ok [y/d/N]: y

Instale um editor de texto (VIM usado neste guia):

yum install vim

Instale o wget:

yum install wget

Configure a rede com a interface NMTUI, se necessário:

nmtui

Configuração de rede NMTUI

Legenda: Tela do NMTUI para edição de interfaces e hostname no CentOS 7.

Depois de ajustar rede e hostname, aplique as mudanças:

service networks restart

Verifique as interfaces de rede:

ip addr

Exemplo de saída no sistema de referência:

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:67:bc:73 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
       valid_lft 84631sec preferred_lft 84631sec
    inet6 fe80::9e25:c982:1091:90eb/64 scope link 
       valid_lft forever preferred_lft forever
3: enp0s8:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:68:88:f3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.101/24 brd 192.168.56.255 scope global dynamic enp0s8
       valid_lft 1044sec preferred_lft 1044sec
    inet6 fe80::a00:27ff:fe68:88f3/64 scope link 
       valid_lft forever preferred_lft forever 

Desativar SELinux (opcional para este guia)

Para este tutorial de instalação, SELinux foi desabilitado. Em ambientes de produção, prefira política permissiva ou ajuste as regras específicas.

Edite o arquivo de configuração:

vim /etc/selinux/config

Exemplo do conteúdo do arquivo:

"/etc/selinux/config" 14L, 547C# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are prootected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted  

Altere SELINUX=enforcing para SELINUX=disabled, salve e reinicie o servidor.

Verifique o status:

getenforce

Saída esperada:

Disabled

Nota: desabilitar SELinux reduz a proteção. Em produção, prefira configurar políticas ou manter SELinux em permissive durante testes.


Instalar MariaDB no CentOS 7

Instale o servidor MariaDB:

yum -y install mariadb-server

Crie um arquivo de configuração customizado para ajustar parâmetros do MySQL/MariaDB:

vim /etc/my.cnf.d/zotrs.cnf

Conteúdo sugerido:

max_allowed_packet = 20M
query_cache_size = 32M
innodb_log_file_size = 256M

Inicie o serviço:

systemctl start mariadb

Aumente a segurança executando o script interativo:

/usr/bin/mysql_secure_installation

Siga as instruções (exemplo resumido abaixo):

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] 

Defina a senha root conforme solicitado e responda às demais perguntas (remover usuários anônimos, remover banco test, recarregar privilégios).

Habilite o MariaDB no boot:

systemctl enable mariadb.service

Baixar o pacote OTRS

Use wget para baixar o RPM do OTRS (exemplo usado no ambiente de referência):

wget http://ftp.otrs.org/pub/otrs/RPMS/rhel/7/otrs-5.0.15-01.n oarch.rpm

Observação: verifique a versão disponível no espelho oficial do OTRS. A URL no exemplo contém um espaço estranho antes de “noarch.rpm” — confirme a URL correta ao baixar.

Instalar EPEL (dependências)

Configure o repositório EPEL para ter acesso a pacotes adicionais:

[root@centos7 ~]# yum -y http://mirror.globo.com/epel/7/x86_64/e/epel-r release-7-9.noarch.rpm

A fonte do repositório pode variar. Use o mirror mais próximo da sua região.

Instalar OTRS

Instale o pacote OTRS (ignorar assinatura, se necessário):

yum install -nogpgcheck otrs-5.0.15-01.noarch.rpm

Exemplo de resumo da transação:

Transaction Summary
================================================================================
Install  1 Package (+143 Dependent packages)

Total size: 148 M
Total download size: 23 M
Installed size: 181 M
Is this ok [y/d/N]: y 

Inicie o Apache (httpd):

systemctl start httpd.service

Habilite o Apache para iniciar no boot:

systemctl enable httpd.service

Habilitar SSL no Apache e gerar certificado autoassinado

Instale o módulo mod_ssl:

yum -y install mod_ssl

Gere uma chave e CSR autoassinada. No exemplo, o arquivo chama-se centos7.key.

Vá para o diretório de certificados:

cd /etc/pki/tls/certs/

Crie a chave (nome de exemplo centos7.key):

make centos7.key

Saída de exemplo (interativa):

umask 77 ; \ /usr/bin/openssl genrsa -aes128 2048 > centos7.key Generating RSA private key, 2048 bit long modulus .+++ .........................................................................................+++ e is 65537 (0x10001) Enter pass phrase: 

Confirme a frase-senha quando solicitado e em seguida converta a chave para o formato sem senha:

openssl rsa -in centos7.key -out centos7.key

Crie o CSR:

make centos7.csr

Responda às perguntas de identificação (Country, State, Locality, Organization, Common Name, Email). Para ambiente de teste, deixe challenge password em branco.

Gere o certificado autoassinado:

openssl x509 -in centos7.csr -out centos7.crt -req -signkey centos7.key

Saída de exemplo:

Signature ok subject=/C=BR/ST=SP/L=Campinas/O=Centos7/OU=Centos7/CN=centos7.local Getting Private key

Faça backup do arquivo ssl.conf antes de editar:

cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.old

Edite ssl.conf:

vim /etc/httpd/conf.d/ssl.conf

Procure e ajuste as diretivas:

SSLCertificateKeyFile /etc/pki/tls/certs/centos7.key
SSLCertificateFile /etc/pki/tls/certs/centos7.csr
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
ServerName centos7.local:443

Reinicie o Apache:

systemctl restart httpd

Forçar https para OTRS

Edite o arquivo principal do Apache para garantir inclusão de conf.d:

vim /etc/httpd/conf/httpd.conf

No final do arquivo, descomente:

IncludeOptional conf.d/*.conf

Edite o arquivo zzz_otrs.conf:

vim /etc/httpd/conf.d/zzz_otrs.conf

Depois da linha 26 (antes da linha do módulo mod_version.c) adicione:

RewriteEngine On  
RewriteCond %{HTTPS} off  
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Reinicie o Apache:

[root@centos7 ~]# systemctl restart httpd

Instalar módulos Perl necessários

Instale módulos Perl que estendem as funcionalidades do OTRS:

yum -y install "perl(Text::CSV_XS)" "perl(Crypt::Eksblowfish::Bcrypt)" "perl(YAML::XS)" "perl(JSON::XS)" "perl(Encode::HanExtra)" "perl(Mail::IMAPClient)" "perl(ModPerl::Util)"

Verifique os módulos obrigatórios com a ferramenta do OTRS:

cd /opt/otrs/bin
./otrs.CheckModules.pl

Saída esperada (exemplo):

o Apache::DBI......................ok (v1.12) o Apache2::Reload..................ok (v0.13) o Archive::Tar.....................ok (v1.92) o Archive::Zip.....................ok (v1.30) o Crypt::Eksblowfish::Bcrypt.......ok (v0.009) o Crypt::SSLeay....................ok (v0.64) o Date::Format.....................ok (v2.24) o DBI..............................ok (v1.627) o DBD::mysql.......................ok (v4.023) o DBD::ODBC........................Not installed! (optional - Required to connect to a MS-SQL database.) o DBD::Oracle......................Not installed! (optional - Required to connect to a Oracle database.) o DBD::Pg..........................Not installed! Use: 'yum install "perl(DBD::Pg)"' (optional - Required to connect to a PostgreSQL database.) o Digest::SHA......................ok (v5.85) o Encode::HanExtra.................ok (v0.23) o IO::Socket::SSL..................ok (v1.94) o JSON::XS.........................ok (v3.01) o List::Util::XS...................ok (v1.27) o LWP::UserAgent...................ok (v6.13) o Mail::IMAPClient.................ok (v3.37) o IO::Socket::SSL................ok (v1.94) o ModPerl::Util....................ok (v2.000010) o Net::DNS.........................ok (v0.72) o Net::LDAP........................ok (v0.56) o Template.........................ok (v2.24) o Template::Stash::XS..............ok (undef) o Text::CSV_XS.....................ok (v1.00) o Time::HiRes......................ok (v1.9725) o Time::Piece......................ok (v1.20_01) o XML::LibXML......................ok (v2.0018) o XML::LibXSLT.....................ok (v1.80) o XML::Parser......................ok (v2.41) o YAML::XS.........................ok (v0.54)

Corrija módulos faltantes instalando os pacotes recomendados pelo script.


Inicializar o daemon do OTRS e configurar cron

Inicie o daemon com usuário otrs:

su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrs

Para desativar o firewall (apenas para ambientes de teste), execute:

systemctl stop firewalld

E evite que ele inicie automaticamente:

systemctl disable firewalld.service

Inicie os cronjobs OTRS (com o script correto):

su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrsCron.sh

Saída esperada:

/opt/otrs/bin Cron.sh - start/stop OTRS cronjobs Copyright (C) 2001-2012 OTRS AG, http://otrs.org/ (using /opt/otrs) done

Verifique o status do daemon:

su -c "/opt/otrs/bin/otrs.Daemon.pl status" -s /bin/bash otrsCron.sh

Configurar crontab do usuário otrs

Troque para o usuário otrs e edite o crontab:

su otrs
crontab -e

Conteúdo sugerido do crontab (exemplo):

# --
# Copyright (C) 2001-2016 OTRS AG, http://otrs.com/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --

# Who gets the cron emails?
MAILTO="root@localhost"
# --
# Copyright (C) 2001-2016 OTRS AG, http://otrs.com/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --

# check OTRS daemon status
*/5 * * * *    $HOME/bin/otrs.Daemon.pl start >> /dev/null

Salve e saia. O cron verificará o daemon a cada 5 minutos.


Configurar OTRS via instalador web

Abra um navegador e acesse o instalador web do OTRS:

https://centos7.local/otrs/installer.pl

Substitua centos7.local pelo hostname ou IP do seu servidor.

Primeira tela: passo a passo com 4 etapas — pressione Next para continuar.

Tela inicial do instalador do OTRS

Legenda: Tela de boas-vindas do instalador web do OTRS.

Aceite a licença para prosseguir.

Aceitar licença para continuar

Na seleção de banco de dados, escolha MySQL (MariaDB) e marque a opção Create a new database for OTRS se desejar que o instalador crie o esquema automaticamente. Preencha as credenciais do banco conforme configurado no passo do MariaDB.

Inserir credenciais do banco de dados

O instalador criará o banco e tabelas necessárias.

Criar banco de dados OTRS

Após criação bem-sucedida do banco:

Banco de dados OTRS criado

Preencha as configurações do sistema e dados do administrador, depois prossiga.

Configurar dados pessoais

Na configuração de e-mail, insira os parâmetros do seu servidor SMTP/POP3/IMAP. Exemplo do autor: SMTP TLS porta 587 para saída e POP3 para entrada. Você pode testar a configuração ou pular este passo.

Configuração de e-mail no OTRS

Ao final, anote o usuário e senha do administrador fornecidos pelo instalador. Você poderá alterá-los após o primeiro login.

Usuário e senha do OTRS

URL de login do OTRS (exemplo): https://centos7.local/otrs/index.pl? . Substitua pelo seu hostname/IP.

Tela de login do admin:

Login administrador OTRS

OTRS estará pronto para configurar regras de suporte, filas, SLAs, templates e integrações com e-mail e outros sistemas.


Pós-instalação e recomendações

  • Segurança: reavalie SELinux e firewall. Em produção, mantenha políticas ativas e abra apenas portas necessárias (80/443 e portas administrativas restritas).
  • Backups: crie rotinas de dump do banco e backup dos diretórios /opt/otrs e /etc/httpd/conf.d/.
  • Monitoramento: adicione verificações de processo (otrs.Daemon.pl), uso de disco e saúde do banco.
  • Certificados: substitua o certificado autoassinado por um certificado válido (AC) em produção.

Checklist mínimo antes de entrar em produção

  • Módulos Perl verificados pelo otrs.CheckModules.pl
  • Banco OTRS criado e usuário com privilégios definidos
  • Apache configurado com SSL e redirecionamento para HTTPS
  • Cron configurado para usuário otrs
  • Backups e política de retenção definidos
  • Firewall e SELinux revisados conforme política

Solução de problemas comuns

  1. Instalador web não abre

    • Verifique Apache em execução: systemctl status httpd
    • Confirme que porta 443 está ouvindo: ss -tlnp | grep 443
    • Cheque selinux e firewall
  2. Falha ao conectar no MariaDB

    • Verifique credenciais no instalador
    • Teste login manual: mysql -u root -p
    • Confira se MariaDB está em execução: systemctl status mariadb
  3. Módulos Perl marcados como ausentes

    • Instale os pacotes rpm/CPAN recomendados
    • Reexecute ./otrs.CheckModules.pl
  4. Scripts cron do OTRS não executam

    • Verifique crontab do usuário otrs
    • Confirme permissões e shebang nos scripts de cron

Quando este guia falha — limitações e contraexemplos

  • Ambientes com SELinux estritamente aplicado podem exigir políticas adicionais; desabilitar SELinux não é sempre aceitável.
  • Para alta disponibilidade, não use uma única VM com 2 GB RAM — esse guia é para testes ou ambientes pequenos.
  • Se usar banco remoto ou replicado, ajuste configurações de rede, firewall e usuários do banco.

Abordagens alternativas

  • Em vez de RPM manual, use pacotes empacotados pelo fornecedor da distribuição ou containers (Docker/Kubernetes) para isolamento.
  • Para produção, prefira certificados gerenciados por AC e automação (Let’s Encrypt via certbot).
  • Use PostgreSQL se desejar suporte a esse SGDB; instale DBD::Pg e ajuste o instalador.

Modelo mental e heurísticas para dimensionamento

  • Heurística de recursos (ambiente inicial): 2 GB RAM para provas de conceito; para produção, calcule 1 GB RAM por 100 agentes ativos como ponto de partida e ajuste conforme carga.
  • I/O e banco: priorize discos rápidos para InnoDB e backups regulares.

Playbook de rollback rápido (minimamente seguro)

  1. Parar serviços: systemctl stop httpd mariadb
  2. Restaurar banco de dados a partir do último dump consistente
  3. Restaurar /opt/otrs e /etc/httpd/conf.d/ a partir do backup mais recente
  4. Reiniciar serviços e verificar logs: journalctl -u httpd -u mariadb

Checklists por função

Administrador de sistema

  • Instalar pacotes e dependências
  • Configurar Apache/SSL
  • Configurar SELinux/firewall conforme política

DBA

  • Criar usuários com privilégios mínimos
  • Agendar backups e verificar restauração

Responsável de suporte

  • Configurar filas, serviços e SLAs no OTRS
  • Criar templates e gatilhos de notificação

Glossário (1 linha cada)

OTRS: Sistema de tickets para gestão de atendimento escrito em Perl. MariaDB: Fork do MySQL, usado como banco compatível para OTRS. Apache/httpd: Servidor web que hospeda o painel do OTRS. SSL/TLS: Criptografia para proteger tráfego HTTPS.


Segurança e privacidade — notas rápidas

  • Não armazene senhas em texto simples. Proteja arquivos de configuração com permissões restritas.
  • Revise retenção de dados se lidar com dados pessoais (GDPR) e implemente políticas de anonimização/exclusão quando aplicável.

Resumo final

Este guia apresentou uma instalação completa do OTRS 5 em CentOS 7 (ambiente de testes). Abordamos preparação do sistema, MariaDB, Apache/SSL, módulos Perl, inicialização do daemon, configuração de cron e o instalador web do OTRS. Após a instalação, revise segurança, backups e monitore a aplicação.

Principais recomendações:

  • Use certificados válidos em produção;
  • Mantenha backups e monitoração ativos;
  • Reative SELinux com políticas configuradas quando possível.

Obrigado por seguir este tutorial. Agora você tem uma base funcional de OTRS pronta para configuração de regras de suporte e integração com seus fluxos de trabalho.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE