OTRS: instalación y configuración básica en CentOS 7

Esta guía explica cómo instalar OTRS 5 en una máquina CentOS 7 (Minimal) paso a paso: preparación del sistema, MariaDB, Apache con SSL, módulos PERL necesarios, verificación y tareas postinstalación. Incluye listas de verificación por rol, notas de seguridad y consejos de migración.
Introducción
OTRS (Open Ticket Request System) es un sistema open source avanzado para gestionar incidencias y atención al cliente. Está escrito en Perl y proporciona funcionalidades claves como portal de clientes, gestión de colas, prioridades, SLA, plantillas de correo, adjuntos, estadísticas y reportes (CSV/PDF).
Definición breve: OTRS es una plataforma de gestión de tickets para soporte y centros de ayuda que centraliza comunicaciones por email, portal y teléfono.
Importante: esta guía cubre OTRS 5 en CentOS 7 y está destinada a entornos de laboratorio o producción controlada. No inventa estadísticas ni asume escenarios empresariales específicos.
Variantes de búsqueda y propósito
Intención principal: instalar OTRS en CentOS 7 Variantes relacionadas: configurar OTRS, OTRS y MariaDB, OTRS con SSL en Apache, módulos Perl para OTRS, guía OTRS 5
Entorno de prueba usado
- VirtualBox VM con CentOS 7 Minimal
- 2 GB de RAM
- 8 GB disco
- 2 interfaces de red: Host-only y NAT
Nota: adapte recursos según carga esperada en producción.
Preparación del sistema
Asumiendo una instalación fresca de CentOS 7 Minimal, actualice el sistema e instale paquetes adicionales:
yum update
En la salida del comando se muestra un resumen transaccional: seleccione “y” para confirmar.
Instale un editor (usamos vim en esta guía):
yum install vim
Instale wget para descargas:
yum install wget
Para configurar la red use la herramienta TUI del NetworkManager:
nmtui
Después de aplicar cambios en la red y el nombre de host, aplíquelos reiniciando las redes:
service networks restart
Verifique la configuración de red con:
ip addr
Ejemplo de salida del comando ip addr:
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
Desactivar SELinux (opcional para simplificar)
Edite el archivo de configuración:
vim /etc/selinux/config
Contenido de ejemplo:
"/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
Cambie SELINUX=enforcing a SELINUX=disabled, guarde y reinicie el servidor.
Verifique el estado con:
getenforce
Salida esperada:
Disabled
Nota: desactivar SELinux reduce la superficie de errores en laboratorio, pero en producción es preferible configurarlo correctamente.
Instalación de MariaDB en CentOS 7
Instale MariaDB:
yum -y install mariadb-server
Cree un archivo de configuración personalizado para ajustar parámetros de MySQL/MariaDB:
vim /etc/my.cnf.d/zotrs.cnf
Contenido sugerido:
max_allowed_packet = 20M
query_cache_size = 32M
innodb_log_file_size = 256M
Inicie MariaDB:
systemctl start mariadb
Aumente la seguridad y defina contraseña root:
/usr/bin/mysql_secure_installation
Siga las indicaciones interactivas; un ejemplo de la primera parte:
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):
Acepte establecer una nueva contraseña root y responda “Y” a las preguntas recomendadas como eliminar usuarios anónimos, quitar la base de datos de prueba y recargar tablas de privilegios.
Habilite MariaDB para inicio automático:
systemctl enable mariadb.service
Descargar OTRS
Descargue el paquete RPM de OTRS 5 (ajuste la URL si hay versión distinta):
wget http://ftp.otrs.org/pub/otrs/RPMS/rhel/7/otrs-5.0.15-01.n oarch.rpm
Nota: verifique la URL oficial si la versión cambia.
Instalar EPEL
Algunos paquetes requieren EPEL. Instale el metapaquete EPEL:
[root@centos7 ~]# yum -y http://mirror.globo.com/epel/7/x86_64/e/epel-r release-7-9.noarch.rpm
Ajuste la URL del mirror según su región.
Instalación de OTRS
Instale el RPM de OTRS (sin comprobación GPG si lo desea):
yum install -nogpgcheck otrs-5.0.15-01.noarch.rpm
Confirme la instalación respondiendo “y” cuando se muestren los paquetes dependientes.
Inicie Apache (httpd):
systemctl start httpd.service
Habilite Apache para el arranque automático:
systemctl enable httpd.service
Configurar SSL en Apache (certificado autofirmado)
Instale el módulo mod_ssl:
yum -y install mod_ssl
Genere una clave y un certificado autofirmado. Vaya al directorio de certificados:
cd /etc/pki/tls/certs/
Genere la clave (en el ejemplo se usa centos7.key):
make centos7.key
Salida ejemplo al generar la clave:
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:
Elimine la frase de paso de la clave si lo desea:
openssl rsa -in centos7.key -out centos7.key
Cree la CSR (centos7.csr):
make centos7.csr
Complete los datos solicitados (país, estado, localidad, organización, CN que será el hostname o FQDN).
Genere el certificado autofirmado:
openssl x509 -in centos7.csr -out centos7.crt -req -signkey centos7.key
Ejemplo de salida:
Signature ok subject=/C=BR/ST=SP/L=Campinas/O=Centos7/OU=Centos7/CN=centos7.local Getting Private key
Editar configuración SSL de Apache
Cree una copia de seguridad del archivo ssl.conf y edítelo:
cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.old
vim /etc/httpd/conf.d/ssl.conf
Asegúrese de que las directivas apunten a su clave y certificado:
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 Apache:
systemctl restart httpd
Forzar HTTPS para OTRS
En httpd.conf asegúrese de incluir los archivos de conf:
vim /etc/httpd/conf/httpd.conf
Al final del archivo descomente:
IncludeOptional conf.d/*.conf
Edite la configuración de OTRS (zzz_otrs.conf):
vim /etc/httpd/conf.d/zzz_otrs.conf
Añada las reglas de redirección HTTPS antes del módulo mod_version:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Reinicie Apache:
systemctl restart httpd
Módulos PERL y verificación de requisitos
Instale módulos Perl necesarios para funcionalidades extendidas:
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)"
OTRS incluye una herramienta para verificar módulos Perl. Ejecute:
cd /opt/otrs/bin
./otrs.CheckModules.pl
Salida de ejemplo (resumida):
o Apache::DBI......................ok (v1.12)
o Apache2::Reload..................ok (v0.13)
o Archive::Tar.....................ok (v1.92)
... (lista de módulos con su estado) ...
Resuelva los módulos no instalados según las recomendaciones de la herramienta.
Iniciar demonio OTRS y configurar cron
Inicie el demonio OTRS con el usuario otrs:
su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrs
Para desactivar el firewall temporalmente (en laboratorio):
systemctl stop firewalld
systemctl disable firewalld.service
Inicie el cron de OTRS:
su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrsCron.sh
Salida esperada:
/opt/otrs/bin Cron.sh - start/stop OTRS cronjobs Copyright (C) 2001-2012 OTRS AG, http://otrs.org/ (using /opt/otrs) done
Verifique el estado del cron:
su -c "/opt/otrs/bin/otrs.Daemon.pl status" -s /bin/bash otrsCron.sh
Cambie al usuario otrs para editar el crontab:
su otrs
crontab -e
Ejemplo de crontab mínimo recomendado:
# --
# Copyright (C) 2001-2016 OTRS AG, http://otrs.com/
# --
# Who gets the cron emails?
MAILTO="root@localhost"
# check OTRS daemon status
*/5 * * * * $HOME/bin/otrs.Daemon.pl start >> /dev/null
Configurar OTRS vía web
Abra un navegador y vaya a:
https://centos7.local/otrs/installer.pl
Sustituya centos7.local por su hostname o IP.
- Acepte la licencia para continuar.
Seleccione MySQL y elija crear una nueva base de datos para OTRS.
Introduzca usuario, contraseña y host de MariaDB y pruebe la conexión.
El instalador creará la base de datos en MariaDB.
Una vez creada, continúe configurando los parámetros del sistema con sus datos.
Rellene las configuraciones personales del sistema y las opciones de correo entrante/saliente. Ejemplo: SMTP con STARTTLS puerto 587 para salida, POP3 para entrada si su proveedor lo permite.
Apunte el instalador las credenciales del usuario admin; anótelas y cámbielas tras el primer acceso.
URL de acceso a la interfaz: https://centos7.local/otrs/index.pl? (reemplazar por su host/IP).
OTRS estará instalado y listo para adaptar a sus flujos de soporte.
Mejores prácticas de configuración inicial
- Cambie inmediatamente las credenciales por defecto del admin.
- Configure copias de seguridad regulares de la base de datos y del directorio /opt/otrs.
- Habilite un certificado válido (no autofirmado) en producción.
- Active TLS 1.2+ y deshabilite protocolos inseguros cuando sea posible.
- Mantenga SELinux en modo enforcing con políticas ajustadas si el entorno lo permite.
Lista de verificación por rol
Administrador de sistema
- Actualizar y parchear el servidor.
- Configurar firewall (abrir solo puertos necesarios 80/443, puertos de management restringidos).
- Habilitar copias de seguridad automáticas de MariaDB.
- Configurar certificados válidos (Let’s Encrypt o CA corporativa).
Administrador de OTRS
- Cambiar contraseñas por defecto.
- Configurar colas, tipos de ticket y plantillas de correo.
- Crear roles y permisos según el equipo.
- Configurar SLA y alertas por prioridad.
Equipo de soporte
- Probar flujo de tickets (recepción, asignación, escalado).
- Verificar plantillas y respuestas automáticas.
- Confirmar acceso al portal de clientes.
Mini-metodología de despliegue (pasos clave)
- Preparar VM y actualizar sistema.
- Instalar MariaDB y asegurarla.
- Instalar Apache y configurar SSL.
- Instalar dependencias Perl y verificar con otrs.CheckModules.pl.
- Instalar OTRS y completar instalación web.
- Cambiar credenciales, configurar cron y backups.
- Validar flujos de soporte y realizar pruebas de carga y seguridad.
Cuándo OTRS puede no ser la mejor opción
- Requisitos de alta disponibilidad y multi-datacenter sin experiencia previa: OTRS 5 puede requerir personalización significativa.
- Si necesita una solución SaaS o muy management-free, considere alternativas cloud.
- Para flujos de trabajo muy personalizados puede requerir desarrollo adicional en Perl.
Alternativas y enfoques alternativos
- Soluciones comerciales (Freshdesk, Zendesk) para equipo sin administración de infra.
- Herramientas open source modernas (Zammad, Request Tracker) según preferencias de lenguaje, comunidad y características.
Seguridad y privacidad
- Use certificados emitidos por CA para producción.
- Aplique cifrado en tránsito (TLS) y en reposo donde corresponda.
- Revise el acceso a la base de datos y restrinja conexiones remotas si no son necesarias.
- Cumplimiento GDPR: documente qué datos personales se guardan en tickets y establezca retención y procesos de eliminación.
Importante: no guarde información sensible en texto plano dentro de tickets sin la debida protección.
Mapa de compatibilidades y recomendaciones de migración
- OTRS 5 funciona con MariaDB/MySQL; para PostgreSQL o Oracle se requieren módulos/ajustes adicionales.
- Para migraciones desde versiones anteriores, revise la documentación oficial y realice pruebas en entorno de staging.
Criterios de aceptación
- OTRS responde en HTTPS con certificado válido.
- Servicio web de OTRS accesible y login administrativo funcional.
- Demonios y cron de OTRS activos y sin errores.
- Módulos Perl requeridos reportados como “ok” por otrs.CheckModules.pl.
- Copias de seguridad y restauración probadas.
Glosario breve
- OTRS: sistema de gestión de tickets de código abierto.
- CRON: planificador de tareas Unix.
- CSR: Certificate Signing Request (solicitud de certificado).
- SELinux: mecanismo de control de acceso obligatorio en Linux.
Problemas comunes y cómo resolverlos
- Error de conexión a la base de datos: verifique credenciales, host y que MariaDB esté en escucha.
- Módulos Perl faltantes: instale paquetes RPM o CPAN indicados por otrs.CheckModules.pl.
- Errores HTTPS: ruta de certificado/clave incorrecta o permisos insuficientes.
- Permisos de archivos OTRS: asegúrese de que /opt/otrs pertenezca al usuario otrs donde proceda.
Resumen final
OTRS 5 puede desplegarse en CentOS 7 siguiendo los pasos de esta guía: preparar sistema, instalar MariaDB, configurar Apache con SSL, instalar dependencias Perl, ejecutar el instalador web y aplicar buenas prácticas de seguridad. Use las listas de verificación por rol antes de mover a producción y documente procedimientos de respaldo y recuperación.
Notas finales:
- Pruebe los cambios en un entorno de staging antes de aplicarlos en producción.
- Mantenga un control de versiones de configuraciones críticas (/etc/httpd, /etc/my.cnf.d, /opt/otrs).
Materiales similares

Cómo solicitar reembolso en Microsoft Store

Actualizar a VMware Workstation 17 Player con TPM
Solucionar error 126 en Windows 11 y 10

Reservar cita en centro Xiaomi en India

Keyloggers: qué son, riesgos y cómo defenderse
