Zammad è sviluppato nei linguaggi di programmazione Ruby e JavaScript. Il nome Zammad deriva dal dialetto bavarese e significa “insieme”.
Passaggio 1:assicurati che il tuo sistema operativo sia aggiornato
È sempre buona norma assicurarsi che il sistema operativo disponga dei pacchetti più recenti. Usa questo comando per aggiornare:
sudo apt update
sudo apt upgrade
Fase 2:installa le dipendenze del pacchetto
Quindi, installiamo alcune delle dipendenze. Devono essere presenti nel sistema affinché i passaggi futuri funzionino. Usa questo comando:
sudo apt install wget curl apt-transport-https gnupg
Affinché Zammad funzioni correttamente, il tuo sistema deve utilizzare l'ambiente linguistico corretto.
sudo apt install locales
sudo locale-gen en_US.UTF-8
echo "LANG=en_US.UTF-8" | sudo tee /etc/default/locale
Fase 3:imposta elasticsearch
Zammad utilizza elasticsearch, la sua funzione di ricerca è supportata da Elasticsearch e richiede il plugin di importazione degli allegati.
Installiamo elasticsearch sul server. Innanzitutto, importa la chiave PGP di Elasticsearch
Scarica e installa la chiave di firma pubblica utilizzando questo comando:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
Quindi imposta il repository:
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
Puoi installare il pacchetto Elasticsearch con questo comando dopo aver aggiornato i repository perché abbiamo aggiunto un nuovo repository:
sudo apt update && sudo apt install elasticsearch
Per configurare Elasticsearch per l'avvio automatico all'avvio del sistema, eseguire i seguenti comandi:
sudo systemctl daemon-reload sudo systemctl enable elasticsearch
Elasticsearch può essere avviato e interrotto come segue:
sudo systemctl start elasticsearch sudo systemctl stop elasticsearch
Assicurati che sia in esecuzione utilizzando il comando di stato:
$ sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-18 11:06:37 UTC; 3min 3s ago
Docs: https://www.elastic.co
Main PID: 2045 (java)
Tasks: 67 (limit: 4556)
Memory: 2.3G
CGroup: /system.slice/elasticsearch.service
├─2045 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -Djava.security.manager=allow -XX:+AlwaysPreTouch -Xss1m >
└─2335 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Mar 18 11:06:13 axiobrim systemd[1]: Starting Elasticsearch...
Mar 18 11:06:37 axiobrim systemd[1]: Started Elasticsearch.
Scopri Come installare e configurare Elasticsearch su Ubuntu 20.04.
Fase 4:installa Zammad
Possiamo finalmente installare Zammad. Per prima cosa aggiungi la chiave gpg
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg> /dev/null
Quindi imposta il repository zammad:
echo "deb [signed-by=/etc/apt/trusted.gpg.d/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 20.04 main"| \
tee /etc/apt/sources.list.d/zammad.list > /dev/null
Infine aggiorna il repository e installa zammad:
sudo apt update && sudo apt install zammad
Passaggio 5:configurazione del firewall
Zammad sarà esposto come servizio web. Se hai installato e abilitato ufw, dovrai consentire le porte 80 e 443 per il traffico http e https. Usa questi comandi:
ufw allow 80 ufw allow 443 ufw reload
Gestire i servizi di Zammad
In generale Zammad utilizza tre servizi:questi possono essere (ri)avviati e arrestati con il genitore zammad
.
$ # Zammad service to start all services at once $ systemctl (status|start|stop|restart) zammad $ # Zammads internal railsserver $ systemctl (status|start|stop|restart) zammad-web $ # Zammads scheduler - relevant for all delayed- and background jobs $ systemctl (status|start|stop|restart) zammad-worker $ # Zammads websocket server for session related information $ systemctl (status|start|stop|restart) zammad-websocket
Avvio di tutti i servizi
sudo systemctl start zammad
sudo systemctl start zammad-web
sudo systemctl start zammad-worker
sudo systemctl start zammad-websocket
Conferma lo stato del servizio utilizzando questo comando:
sudo systemctl status zammad
sudo systemctl status zammad-web
sudo systemctl status zammad-worker
sudo systemctl status zammad-websocket
Fase 6:configurazione dell'accesso al Web
L'ultimo servizio zammad utilizza nginx per inviare il traffico ai servizi tramite proxy. Se devi configurare fqdn (accesso al dominio) come zammad.citizix.com
dovrai aggiornare la configurazione di nginx.
Apri le impostazioni di nginx con il tuo editor predefinito
sudo vim /etc/nginx/sites-enabled/zammad.conf
Quindi aggiorna questa riga al tuo fqdn.
server_name localhost;
Ecco come sarebbe con zammad.citizix.com
server_name zammad.citizix.com;
Naviga nel dominio (zammad.citizix.com
) e dovresti essere in grado di utilizzare il sistema.
Se hai bisogno di proteggere il tuo sito con SSL dai un'occhiata a Come proteggere Nginx con Letsencrypt su Ubuntu 20.04.