Guida alle tecnologie

Installare OTRS 5 su CentOS 7 — Guida passo passo

8 min read Guide tecniche Aggiornato 19 Oct 2025
Installare OTRS 5 su CentOS 7
Installare OTRS 5 su CentOS 7

Introduzione

OTRS (open-source trouble ticket system software) è un software open source maturo usato dalle aziende per migliorare i processi di supporto clienti, help desk e contact center. OTRS è scritto in PERL e offre funzionalità chiave come gestione ticket, code, SLA, template e automazioni.

Breve definizione: per “ticket” si intende un oggetto che rappresenta una richiesta di supporto con stato, priorità e history associata.

Importante: questa guida copre l’installazione e la configurazione di base di OTRS 5 su CentOS 7 in un ambiente di prova o laboratorio. Prima di mettere in produzione, adattare e testare le impostazioni di sicurezza, backup e scalabilità secondo le esigenze aziendali.

Intento e pubblico

Questa guida è rivolta a sistemisti e amministratori che vogliono installare OTRS 5 su CentOS 7 usando pacchetti RPM e risorse locali. Varianti utili per la ricerca: installare OTRS CentOS 7, OTRS 5 guida, installazione OTRS, OTRS helpdesk, configurare OTRS su CentOS.

Sommario rapido dei passaggi (mini-methodology)

  1. Preparare CentOS 7: aggiornare pacchetti, installare editor e wget.
  2. Configurare rete e hostname.
  3. Disattivare SELinux (solo in laboratorio) e gestire firewall.
  4. Installare MariaDB, creare configurazione e assicurare il DB.
  5. Scaricare e installare OTRS e dipendenze Perl.
  6. Configurare Apache con SSL e forzare HTTPS.
  7. Eseguire l’installer web e verificare il funzionamento.

Ambiente di esempio

Questa guida è stata realizzata su una VM VirtualBox con CentOS 7 Minimal, 2 GB RAM, 8 GB disco e due interfacce di rete (host-only e NAT). Adattare memoria e storage per carichi di produzione.

Preparazione di CentOS 7

Assumendo una installazione pulita di CentOS 7 Minimal, prima di installare OTRS aggiornare il sistema e installare pacchetti aggiuntivi:

yum update

Esempio di output dopo l’update (lasciato come riferimento):

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

Installare un editor come vim e strumenti utili:

yum install vim
yum install wget

Per configurare la rete su CentOS 7 usare lo strumento testuale NMTUI:

nmtui

Schermata NMTUI per configurazione rete su CentOS 7

Dopo aver impostato indirizzi e hostname, applicare le modifiche:

service networks restart

Verificare le interfacce di rete con:

ip addr

Esempio di output usato nella guida (lasciato invariato):

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 

SELinux

Per semplicità in ambiente di test, la guida mostra come disabilitare SELinux. In produzione è preferibile configurare etichette e policy correttamente invece di disabilitare.

Modificare il file di configurazione:

vim /etc/selinux/config

Contenuto di riferimento del file:

"/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  

Cambiare il valore SELINUX da enforcing a disabled, salvare e riavviare la macchina. Verificare lo stato con:

getenforce

Output atteso:

Disabled

Nota importante: disabilitare SELinux riduce la superficie di configurazione ma aumenta il rischio. Valutare alternative come relabeling e regole specifiche.

Installazione MariaDB

Installare MariaDB:

yum -y install mariadb-server

Creare il file di configurazione personalizzato:

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

Inserire:

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

Avviare il servizio e mettere in sicurezza l’installazione:

systemctl start mariadb
/usr/bin/mysql_secure_installation
systemctl enable mariadb.service

Seguite le domande dello script per impostare la password di root, rimuovere utenti anonimi e il database di test. Le risposte dipendono dalle vostre policy.

Scaricare e installare OTRS

Scaricare il pacchetto RPM (esempio):

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

Prima di installare OTRS, configurare EPEL (se necessario) e dipendenze:

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

Installare OTRS con rpm/yum:

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

Al termine, avviare e abilitare Apache:

systemctl start httpd.service
systemctl enable httpd.service

Installare mod_ssl per HTTPS e creare un certificato autofirmato (esempio):

yum -y install mod_ssl
cd /etc/pki/tls/certs/
make centos7.key
openssl rsa -in centos7.key -out centos7.key
make centos7.csr
openssl x509 -in centos7.csr -out centos7.crt -req -signkey centos7.key

Fate attenzione a proteggere la chiave privata e valutate certificati firmati in produzione.

Copiare e modificare ssl.conf:

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

Impostare i percorsi dei file e il protocollo:

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

Riavviare Apache:

systemctl restart httpd

Forzare HTTPS modificando le configurazioni di OTRS/Apache:

vim /etc/httpd/conf/httpd.conf
# assicurarsi che IncludeOptional conf.d/*.conf sia abilitato
vim /etc/httpd/conf.d/zzz_otrs.conf
# aggiungere sotto la riga indicata:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
systemctl restart httpd

Dipendenze Perl e controllo moduli

Installare i moduli Perl richiesti (esempio):

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)"

Verificare i moduli con lo script di controllo di OTRS:

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

L’output indica quali moduli mancano e quali sono opzionali per connettività verso DB diversi.

Avvio dei demoni e cron

Avviare il demone OTRS come utente otrs:

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

Disabilitare o configurare il firewall a seconda delle policy di sicurezza. Per ambiente di test la guida mostra come fermarlo (in produzione usare regole iptables/firewalld adeguate):

systemctl stop firewalld
systemctl disable firewalld.service

Avviare cronjobs OTRS:

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

Esempio di output:

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

Configurare la crontab per l’utente otrs:

su otrs
crontab -e

Esempio di crontab suggerito (salvare):

# Who gets the cron emails?
MAILTO="root@localhost"
# check OTRS daemon status
*/5 * * * *    $HOME/bin/otrs.Daemon.pl start >> /dev/null

Configurazione via installer web

Aprire il browser e visitare l’URL dell’installer:

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

Sostituire centos7.local con l’hostname o l’indirizzo IP del vostro server. L’installer guida attraverso il licensing, la selezione del DB (MySQL/MariaDB), l’inserimento delle credenziali del DB e la configurazione email e sistema.

Schermata installer OTRS

Accettare la licenza e continuare:

Accettare la licenza

Selezionare MySQL/MariaDB e creare il database OTRS (opzione Create a new database for OTRS). Fornire utente, password e host del DB e verificare le impostazioni:

Inserire credenziali DB

L’installer creerà lo schema nel DB e avvierà la procedura di configurazione:

Creazione database OTRS

Dopo la creazione del DB, completare i dettagli di sistema (nome, email amministrativa) e la configurazione email per outbound/inbound. L’esempio usa SMTPTLS su porta 587 per invio e POP3 per ricezione, ma scegliere il protocollo richiesto dall’infrastruttura.

Configurazione email

Prendere nota dello username e della password amministrativa fornita dall’installer. Accedere e cambiare la password immediatamente dopo il primo login:

Credenziali OTRS

Pagina di login:

Login admin OTRS

A questo punto OTRS è installato e pronto per la personalizzazione del flusso di lavoro, code, servizi e template.

Checklist ruolo-based (operativa)

  • Sistemista:
    • Aggiornare pacchetti e kernel.
    • Configurare backup delle VM e snapshot prima dei cambiamenti.
    • Configurare monitoraggio (CPU, RAM, disco, processi httpd/mysqld).
  • DBA:
    • Verificare parametri InnoDB e backup giornalieri.
    • Pianificare retention dei log e ottimizzazione indici.
  • Security officer:
    • Abilitare HTTPS con certificato valido.
    • Rivedere permessi file in /opt/otrs e password dei servizi.
  • Helpdesk manager:
    • Definire code, servizi, SLA e template per le risposte comuni.

Test e criteri di verifica

Test di accettazione base:

  • Pagina installer raggiungibile via HTTPS.
  • Database creato e tabelle presenti.
  • Login amministratore funzionante.
  • Invio e ricezione email test tra OTRS e server SMTP/POP/IMAP.
  • I demoni OTRS e cronjob in esecuzione.

Esempi di comandi di controllo:

su -s /bin/bash otrs -c "/opt/otrs/bin/otrs.Daemon.pl status"
systemctl status httpd
systemctl status mariadb

Risoluzione problemi comune (runbook rapido)

  • Problema: pagina HTTPS non raggiungibile
    • Controllare httpd in esecuzione: systemctl status httpd
    • Verificare porte ascolto: ss -tlnp | grep httpd
    • Controllare SELinux e firewall
  • Problema: connessione al DB fallisce
    • Verificare credenziali e host in installer
    • Verificare che mariadb sia in ascolto su 127.0.0.1 o sulla rete desiderata
    • Verificare permessi utente DB: GRANT ALL ON otrs.* TO ‘otrs’@’localhost’
  • Problema: moduli Perl mancanti
    • Eseguire ./otrs.CheckModules.pl e installare i pacchetti richiesti
  • Problema: attachment o permessi file
    • Verificare proprietario e permessi in /opt/otrs e /var/otrs

Alternative e approcci diversi

  • Container: eseguire OTRS in Docker o container orchestrati per isolamento e deploy automatizzati.
  • Sistemi operativi alternativi: Debian/Ubuntu possono essere preferibili per alcuni reparti; adattare i comandi di pacchetti.
  • Uso di repository ufficiali: in contesti enterprise usare repository supportati o pacchetti firmati per aggiornamenti regolari.

Quando questa soluzione può non bastare

  • Se il carico previsto è elevato, OTRS su una singola VM con 2 GB RAM non è sufficiente. Pensare a scalabilità: DB separato, bilanciamento HTTP, caching.
  • Per requisiti di conformità stringenti non è consigliato disabilitare SELinux o firewall: bisogna adattare policy e regole.

Sicurezza e privacy (note GDPR)

Linee guida di base:

  • Proteggere i certificati e le chiavi private.
  • Usare TLS per tutte le comunicazioni verso l’utente e tra servizi.
  • Limitare l’accesso al pannello amministrativo tramite VPN o regole IP.
  • Definire una retention policy per i dati dei ticket e i log: minimizzare i dati personali memorizzati.
  • Abilitare l’auditing degli accessi e log di sicurezza.

Non fornire dati sensibili in log o attachment senza cifratura e controlli di accesso.

Modelli mentali e heuristics

  • Separazione dei ruoli: non condividere credenziali di amministrazione tra team non autorizzati.
  • Preferire certificati CA validi in produzione invece di autofirmati.
  • Pensare ai ticket come a entità persistenti: progettare indici DB e politiche di archiviazione.

Glossario in linea

  • OTRS: piattaforma di ticketing open source per gestione richieste.
  • Ticket: richiesta di supporto con attributi (stato, priorità, responsabile).
  • SLA: accordo di livello di servizio che definisce tempi di risposta/risoluzione.

Riepilogo e passi successivi

Importante: dopo l’installazione di base, eseguire i seguenti passi prima della messa in produzione:

  • Applicare un certificato TLS valido e disabilitare l’accesso HTTP.
  • Configurare backup e restore del database e dei file di configurazione.
  • Validare performance e incrementare risorse se necessario.
  • Definire regole di retention e compliance per i dati dei ticket.

Note finali: OTRS è potente ma richiede cura su sicurezza, backup e scalabilità. Usare questa guida come base e adattare ogni scelta alle policy aziendali.

Autore
Redazione

Materiali simili

Installare e usare Podman su Debian 11
DevOps

Installare e usare Podman su Debian 11

Guida rapida a apt-pinning su Debian
Linux

Guida rapida a apt-pinning su Debian

Forzare FSR 4 con OptiScaler: guida completa
Guide.

Forzare FSR 4 con OptiScaler: guida completa

Dansguardian + Squid NTLM su Debian Etch
Rete

Dansguardian + Squid NTLM su Debian Etch

Riparare errore installazione SD su Android
Android

Riparare errore installazione SD su Android

Cartelle di rete con KNetAttach e remote:/
Linux

Cartelle di rete con KNetAttach e remote:/