Zammad est développé dans les langages de programmation Ruby et JavaScript. Le nom Zammad vient du dialecte bavarois et signifie "ensemble".
Étape 1 :Assurez-vous que votre système d'exploitation est mis à jour
Il est toujours recommandé de s'assurer que le système d'exploitation dispose des derniers packages. Utilisez cette commande pour mettre à jour :
sudo apt update
sudo apt upgrade
Étape 2 :Installer les dépendances du package
Ensuite, installons certaines des dépendances. Ils doivent être présents dans le système pour que les étapes futures fonctionnent. Utilisez cette commande :
sudo apt install wget curl apt-transport-https gnupg
Pour que Zammad fonctionne correctement, votre système doit utiliser le bon environnement linguistique.
sudo apt install locales
sudo locale-gen en_US.UTF-8
echo "LANG=en_US.UTF-8" | sudo tee /etc/default/locale
Étape 3 :Configurer elasticsearch
Zammad utilise elasticsearch, sa fonction de recherche est optimisée par Elasticsearch et nécessite le plug-in d'ingestion de pièces jointes.
Installons elasticsearch sur le serveur. Tout d'abord, importez la clé PGP Elasticsearch
Téléchargez et installez la clé de signature publique à l'aide de cette commande :
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
Configurez ensuite le référentiel :
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
Vous pouvez installer le package Elasticsearch avec cette commande après avoir mis à jour les référentiels car nous avons ajouté un nouveau référentiel :
sudo apt update && sudo apt install elasticsearch
Pour configurer Elasticsearch afin qu'il démarre automatiquement au démarrage du système, exécutez les commandes suivantes :
sudo systemctl daemon-reload sudo systemctl enable elasticsearch
Elasticsearch peut être démarré et arrêté comme suit :
sudo systemctl start elasticsearch sudo systemctl stop elasticsearch
Assurez-vous qu'il est en cours d'exécution à l'aide de la commande status :
$ 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.
Découvrez comment installer et configurer Elasticsearch sur Ubuntu 20.04.
Étape 4 :Installer Zammad
Nous pouvons enfin installer Zammad. Ajoutez d'abord la clé gpg
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg> /dev/null
Configurez ensuite le référentiel 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
Enfin, mettez à jour le référentiel et installez zammad :
sudo apt update && sudo apt install zammad
Étape 5 :Configuration du pare-feu
Zammad sera exposé en tant que service Web. Si vous avez installé et activé ufw, vous devrez autoriser les ports 80 et 443 pour le trafic http et https. Utilisez ces commandes :
ufw allow 80 ufw allow 443 ufw reload
Gérer les services de Zammad
En général, Zammad utilise trois services - ceux-ci peuvent être (re)démarrés et arrêtés avec le parent 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
Démarrage de tous les services
sudo systemctl start zammad
sudo systemctl start zammad-web
sudo systemctl start zammad-worker
sudo systemctl start zammad-websocket
Confirmez l'état du service à l'aide de cette commande :
sudo systemctl status zammad
sudo systemctl status zammad-web
sudo systemctl status zammad-worker
sudo systemctl status zammad-websocket
Étape 6 :Configurer l'accès au Web
Le dernier service zammad utilise nginx pour diriger le trafic vers les services. Si vous avez besoin de configurer FQDN (accès au domaine) comme zammad.citizix.com
vous devrez mettre à jour la configuration nginx.
Ouvrez les paramètres nginx avec votre éditeur par défaut
sudo vim /etc/nginx/sites-enabled/zammad.conf
Ensuite, mettez à jour cette ligne vers votre FQDN.
server_name localhost;
Voici à quoi cela ressemblerait avec zammad.citizix.com
server_name zammad.citizix.com;
Naviguer dans le domaine (zammad.citizix.com
) et vous devriez pouvoir utiliser le système.
Si vous avez besoin de sécuriser votre site avec ssl, jetez un œil à Comment sécuriser Nginx avec Letsencrypt sur Ubuntu 20.04.