Zammad è un sistema di helpdesk / ticketing open source progettato per i team di assistenza clienti. Con Zammad, i rappresentanti del servizio clienti possono gestire facilmente le richieste dei clienti e i reclami da vari canali, tra cui web, modulo, e-mail, chat, Twitter, Facebook, ecc.
Prerequisiti
- Una nuova istanza del server x64 LTS di Vultr Ubuntu 16.04 con almeno 4 GB di memoria. Dì che il suo indirizzo IP è
203.0.113.1
e il suo nome host è helpdesk
.
- Un dominio
helpdesk.example.com
configurato per puntare all'istanza del server menzionata sopra. Puoi saperne di più su questo in un altro tutorial di Vultr .
- Un utente sudo .
- L'istanza del server è stata aggiornata all'ultimo stato stabile .
- In un ambiente di produzione, si consiglia di impostare un file di scambio per ottimizzare le prestazioni.
Passaggio 1: configurare l'FQDN (nome di dominio completo)
Come richiesto da Zammad, è necessario configurare correttamente l'FQDN sull'istanza del server prima di poter accedere in remoto al sito Zammad.
Utilizzare l' vi
editor di testo per aprire il /etc/hosts
file.
sudo vi /etc/hosts
Inserire la seguente riga prima di qualsiasi riga esistente.
203.0.113.1 helpdesk.example.com helpdesk
Salva ed esci.
:wq!
Utilizzare il hostname -f
comando per confermare il risultato, che sarà simile a questo.
helpdesk.example.com
Passaggio 2: installare i pacchetti OpenJDK 8
Come richiesto da Zammad, è necessario installare Java sull'istanza del server prima di poter installare ed eseguire Zammad.
Installa l'ultima versione stabile di OpenJDK 8.
sudo apt install -y openjdk-8-jdk
Con OpenJDK 8 installato, è possibile verificare il risultato.
java -version
L'output sarà simile a questo.
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
Infine, imposta la JAVA_HOME
variabile di ambiente.
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile
Passaggio 3: installare Elasticsearch 5 e il plug-in mapper-allegati
Zammad utilizza Elasticsearch per fornire la funzione di ricerca. Su Ubuntu 16.04, puoi installare l'ultima versione stabile di Elasticsearch 5 usando il repository DEB ufficiale di Elasticsearch come di seguito.
Innanzitutto, scarica e installa la chiave di firma pubblica di Elasticsearch 5.
sudo apt install -y wget
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Quindi, installa il apt-transport-https
pacchetto.
sudo apt install -y apt-transport-https
Salvare la definizione del repository in /etc/apt/sources.list.d/elastic-5.x.list
.
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
Quindi, installare Elasticsearch 5.x utilizzando APT.
sudo apt update -y
sudo apt install -y elasticsearch
Infine, avvia il servizio Elasticsearch e avvialo automaticamente all'avvio.
sudo systemctl daemon-reload
sudo systemctl start elasticsearch.service
sudo systemctl enable elasticsearch.service
Inoltre, per consentire a Elasticsearch di indicizzare gli allegati dei file, è necessario installare il mapper-attachments
plug-in Elasticsearch come segue.
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install mapper-attachments
Quando viene richiesto di approvare autorizzazioni aggiuntive, digitare " Y
" e quindi premere " Enter
" per completare l'installazione.
Riavvia il servizio Elasticsearch per caricare il nuovo plugin.
sudo systemctl restart elasticsearch.service
Passaggio 4: installare Zammad 2.0
Per facilitare il processo di installazione, è possibile utilizzare il repository DEB Zammad ufficiale per installare Zammad insieme a varie dipendenze, tra cui Nginx, PostgreSQL e altre, tutte contemporaneamente.
Prima di tutto, assicurati che l'istanza del server stia usando una UTF-8
localizzazione, altrimenti PostgreSQL non può essere installato.
locale
Se trovi altre impostazioni locali diverse da en_US.UTF-8
, devi passare a quella locale come segue.
sudo apt install -y locales
sudo locale-gen en_US.UTF-8
echo "LANG=en_US.UTF-8" | sudo tee /etc/default/locale
Dopo aver verificato che le impostazioni internazionali sono corrette, scaricare il repository DEB Zammad ufficiale.
wget -qO- https://dl.packager.io/srv/zammad/zammad/key | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/zammad.list https://dl.packager.io/srv/zammad/zammad/stable/installer/ubuntu/16.04.repo
Installa Zammad e tutte le dipendenze richieste usando APT
.
sudo apt update -y
sudo apt install -y zammad
Dopo aver installato Zammad correttamente, il servizio Zammad verrà avviato automaticamente. È possibile utilizzare il comando seguente per confermare lo stato del servizio Zammad.
sudo systemctl status zammad.service
Il suo stato sarà active (running)
.
Quindi, utilizzare i seguenti comandi per far funzionare Zammad con Elasticsearch e ricostruire l'indice.
sudo zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
sudo zammad run rake searchindex:rebuild
Aggiungi spazio aggiuntivo per l'indice Elasticsearch (facoltativo).
sudo zammad run rails r "Setting.set('es_index', Socket.gethostname + '_zammad')"
Ignora i tipi di file binari comuni (facoltativo).
sudo zammad run rails r "Setting.set('es_attachment_ignore', [ '.png', '.jpg', '.jpeg', '.mpeg', '.mpg', '.mov', '.bin', '.exe', '.box', '.mbox' ] )"
Imposta la dimensione massima dell'allegato (opzionale).
sudo zammad run rails r "Setting.set('es_attachment_max_size_in_mb', 50)"
Per consentire agli utenti di accedere in remoto a Zammad, è necessario modificare il file di configurazione di Zammad Nginx.
sudo vi /etc/nginx/sites-available/zammad.conf
Trova la linea.
server_name localhost;
Sostituisci localhost
con il nome FQDN dell'istanza del tuo server.
server_name helpdesk.example.com;
Salva ed esci.
:wq!
Infine, riavvia il servizio Nginx per applicare le modifiche.
sudo systemctl restart nginx.service
Step 5: Imposta le regole SELinux e firewall
Utilizzare i seguenti comandi per determinare lo stato di SELinux sull'istanza del server.
sudo apt install -y policycoreutils
sestatus
Se SELinux è abilitato nella enforcing
modalità sulla tua macchina, devi modificare una regola SELinux come segue.
sudo apt install -y selinux selinux-basics selinux-utils selinux-policy-ubuntu setools
sudo setsebool httpd_can_network_connect on -P
Se SELinux è disabled
o è abilitato nella permissive
modalità, ignora le modifiche sopra e vai avanti.
È inoltre necessario modificare le regole del firewall UFW come segue.
sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Nginx Full"
sudo ufw enable
Passaggio 6: configura il nuovo sistema Zammad dall'interfaccia Web
Punta il tuo browser Web preferito su http://helpdesk.example.com
, e verrai portato nella Zammad getting started
pagina.
Fai clic sul Setup new system
pulsante per andare avanti.
Nella Administrator Account
finestra, inserisci il nome, il cognome, l'e-mail e la password dell'amministratore (due volte), quindi fai clic sul Create
pulsante.
Nella Organization
finestra, inserisci il nome dell'organizzazione e l'URL di sistema http://helpdesk.example.com
, carica il tuo logo (se presente), quindi fai clic sul Next
pulsante.
Nella Email Notification
finestra, scegli un metodo di invio e-mail corretto, quindi fai clic sul Continue
pulsante.
Nella Connect Channels
finestra, fai clic sul Skip
pulsante per completare la configurazione iniziale. Tutti i canali possono essere personalizzati in seguito.
Questo è tutto per la creazione di un sistema operativo di biglietteria Zammad. Sentiti libero di esplorare l'interfaccia di Zammad e invitare i rappresentanti del servizio clienti. Grazie per aver letto.