Instalação e configuração básica do 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 updateExemplo 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]: yInstale um editor de texto (VIM usado neste guia):
yum install vimInstale o wget:
yum install wgetConfigure a rede com a interface NMTUI, se necessário:
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 restartVerifique as interfaces de rede:
ip addrExemplo 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/configExemplo 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:
getenforceSaída esperada:
DisabledNota: 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-serverCrie um arquivo de configuração customizado para ajustar parâmetros do MySQL/MariaDB:
vim /etc/my.cnf.d/zotrs.cnfConteúdo sugerido:
max_allowed_packet = 20M
query_cache_size = 32M
innodb_log_file_size = 256MInicie o serviço:
systemctl start mariadbAumente a segurança executando o script interativo:
/usr/bin/mysql_secure_installationSiga 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.serviceBaixar 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.rpmObservaçã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.rpmA 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.rpmExemplo 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.serviceHabilite o Apache para iniciar no boot:
systemctl enable httpd.serviceHabilitar SSL no Apache e gerar certificado autoassinado
Instale o módulo mod_ssl:
yum -y install mod_sslGere 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.keySaí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.keyCrie o CSR:
make centos7.csrResponda à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.keySaída de exemplo:
Signature ok subject=/C=BR/ST=SP/L=Campinas/O=Centos7/OU=Centos7/CN=centos7.local Getting Private keyFaça backup do arquivo ssl.conf antes de editar:
cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.oldEdite ssl.conf:
vim /etc/httpd/conf.d/ssl.confProcure e ajuste as diretivas:
SSLCertificateKeyFile /etc/pki/tls/certs/centos7.keySSLCertificateFile /etc/pki/tls/certs/centos7.csrSSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2ServerName centos7.local:443Reinicie o Apache:
systemctl restart httpdForçar https para OTRS
Edite o arquivo principal do Apache para garantir inclusão de conf.d:
vim /etc/httpd/conf/httpd.confNo final do arquivo, descomente:
IncludeOptional conf.d/*.confEdite o arquivo zzz_otrs.conf:
vim /etc/httpd/conf.d/zzz_otrs.confDepois 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 httpdInstalar 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.plSaí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 otrsPara desativar o firewall (apenas para ambientes de teste), execute:
systemctl stop firewalldE evite que ele inicie automaticamente:
systemctl disable firewalld.serviceInicie os cronjobs OTRS (com o script correto):
su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrsCron.shSaída esperada:
/opt/otrs/bin Cron.sh - start/stop OTRS cronjobs Copyright (C) 2001-2012 OTRS AG, http://otrs.org/ (using /opt/otrs) doneVerifique o status do daemon:
su -c "/opt/otrs/bin/otrs.Daemon.pl status" -s /bin/bash otrsCron.shConfigurar crontab do usuário otrs
Troque para o usuário otrs e edite o crontab:
su otrscrontab -eConteú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.

Legenda: Tela de boas-vindas do instalador web do OTRS.
Aceite a licença para prosseguir.

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.

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

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

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

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.

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

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

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
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
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
Módulos Perl marcados como ausentes
- Instale os pacotes rpm/CPAN recomendados
- Reexecute ./otrs.CheckModules.pl
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)
- Parar serviços: systemctl stop httpd mariadb
- Restaurar banco de dados a partir do último dump consistente
- Restaurar /opt/otrs e /etc/httpd/conf.d/ a partir do backup mais recente
- 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.
Materiais semelhantes
Instalar e usar Podman no Debian 11
Apt‑pinning no Debian: guia prático
Injete FSR 4 com OptiScaler em qualquer jogo
DansGuardian e Squid com NTLM no Debian Etch
Corrigir erro de instalação no Android