Recherche de site Web

Comment installer le système de support client Zammad sur Rocky Linux 9


Sur cette page

  1. Conditions préalables
  2. Installation des dépendances
  3. Installation d'Elasticsearch
  4. Augmenter le nombre maximum de connexions dans PostgreSQL
  5. Configuration du pare-feu
  6. Installation du système de support client Zammad
  7. Configurer Nginx comme proxy inverse
  8. Sécuriser Zammad avec HTTPS
  9. Configuration de l'installation de Zammad
  10. Conclusion

Zammad est une solution open source de support client/billetterie basée sur Ruby et PostgreSQL. Il aide les organisations à gérer les communications sur divers canaux de courrier électronique, de chat et de réseaux sociaux.

Dans ce guide, vous apprendrez comment installer le système de billetterie Zammad sur le serveur Rocky Linux. Vous exécuterez Zammad avec PostgreSQL, Nginx et Elasticsearch.

Conditions préalables

Avant de commencer, assurez-vous d'avoir les éléments suivants :

  • Un serveur Rocky Linux 9.
  • Un utilisateur non root avec des privilèges d'administrateur.
  • Un nom de domaine pointait vers une adresse IP de serveur.
  • Un SELinux avec un statut permissif.

Installation des dépendances

Dans cette section, vous installerez les dépendances pour Zammad, notamment le référentiel EPEL, la base de données PostgreSQL, le serveur Web Nginx, Redis et Node.js.

Tout d'abord, ajoutez le référentiel EPEL à votre système Rocky Linux avec ce qui suit.

sudo dnf install epel-release -y

Configurez maintenant les paramètres régionaux par défaut sur en_US.UTF-8 avec la commande ci-dessous.

sudo localectl set-locale LC_CTYPE=en_US.UTF-8

Exécutez maintenant la commande ci-dessous pour activer le référentiel Node.js pour la version 18.

sudo dnf module enable nodejs:18 -y

Ensuite, exécutez la commande dnf ci-dessous pour installer les dépendances pour Zammad, notamment Nginx, PostgreSQL, Redis et Node.js.

sudo dnf install imlib2 nginx postgresql-server postgresql-contrib libpq-devel redis nodejs

Saisissez y pour confirmer et continuer.

Une fois l'installation terminée, exécutez la commande ci-dessous pour initialiser le serveur PostgreSQL.

sudo postgresql-setup initdb

Démarrez et activez les services pour Nginx, PostgreSQL et Redis avec la commande ci-dessous.

sudo systemctl start nginx postgresql redis
sudo systemctl enable nginx postgresql redis

Enfin, vérifiez la version de Node.js à l'aide de la commande ci-dessous. Assurez-vous que Node.js 18.0+ est installé.

node --version

Installation d'Elasticsearch

Après avoir installé les dépendances, vous devrez installer Elasticsearch. Dans cette section, vous allez installer Elasticsearch 7.x pour Zammad.

Exécutez maintenant la commande ci-dessous pour ajouter la clé GPG pour le référentiel Elasticsearch.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Ajoutez le référentiel Elasticsearch pour le serveur Rocky Linux avec la commande suivante.

echo "[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md"| tee /etc/yum.repos.d/elasticsearch-7.x.repo

Ensuite, installez Elasticsearch sur votre système avec la commande suivante. Saisissez y pour confirmer l’installation et acceptez la clé GPG lorsque vous y êtes invité.

sudo dnf install elasticsearch

Une fois l'installation terminée, installez le plugin ingest-attachment sur votre installation Elasticsearch à l'aide de la commande ci-dessous.

/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

Saisissez y pour confirmer l’installation.

Rechargez maintenant le gestionnaire systemd et démarrez le service elasticsearch à l'aide de la commande ci-dessous.

sudo systemctl daemon-reload
sudo systemctl start elasticsearch

Une fois démarré, vérifiez Elasticsearch avec la commande curl ci-dessous. Si votre installation réussit, vous obtiendrez des informations détaillées sur votre version d'Elasticsearch.

curl -X GET 'http://localhost:9200'

Augmenter le nombre maximum de connexions dans PostgreSQL

Pour PostgreSQl, vous devez augmenter la valeur par défaut de max_connections dans le fichier postgresql.conf. Zammad en a besoin.

Connectez-vous donc en tant qu'utilisateur postgres avec la commande ci-dessous.

su - postgres

Ouvrez la configuration PostgreSQL data/postgresql.conf à l'aide de l'éditeur nano.

nano data/postgresql.conf

Modifiez la valeur par défaut de max_connections sur 2000 comme suit :

max_connections = 2000

Enregistrez le fichier et quittez.

Exécutez maintenant la commande systemctl ci-dessous pour redémarrer le service PostgreSQL et appliquer vos modifications.

sudo systemctl restart postgresql

Configuration du pare-feu

Par défaut, firewalld est activé sur Rocky Linux. Vous devez maintenant ouvrir les services HTTP et HTTPS et autoriser le trafic vers Zammad.

Ajoutez les services HTTP et HTTPS à firewalld à l'aide de la commande suivante.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

Rechargez maintenant firewalld pour appliquer de nouvelles règles pour HTTP et HTTPS.

sudo firewall-cmd --reload

Vérifiez la liste des règles sur firewalld à l'aide de la commande ci-dessous. Vous verrez les services HTTP et HTTPS disponibles sur firewalld.

sudo firewall-cmd --list-all

Installation du système de support client Zammad

Maintenant que les dépendances sont installées et configurées, vous pouvez démarrer l'installation de Zammad, qui peut être effectuée via le gestionnaire de packages DNF.

Ajoutez la clé GPG pour le référentiel Zammad à l'aide de la commande ci-dessous.

sudo rpm --import https://dl.packager.io/srv/zammad/zammad/key

Ajoutez maintenant le référentiel Zammad à votre serveur Rocky Linux avec la commande suivante.

sudo wget -O /etc/yum.repos.d/zammad.repo \
https://dl.packager.io/srv/zammad/zammad/develop/installer/el/9.repo

Ensuite, installez zammad avec la commande dnf ci-dessous. Lorsque vous y êtes invité, tapez y pour confirmer la clé gpg et l'installation de Zammad.

sudo dnf install zammad

Une fois l'installation terminée, exécutez la commande suivante pour vérifier les services pour Zammad, notamment zammad, zammad-web, zammad-worker et zammad-websocket.

sudo systemctl status zammad
sudo systemctl status zammad-web
sudo systemctl status zammad-worker
sudo systemctl status zammad-websocket

Assurez-vous que tous les services pour Zammad sont en cours d'exécution.

Enfin, exécutez la commande suivante pour configurer l'intégration entre Zammad et Elasticsearch.

zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
zammad run rake zammad:searchindex:rebuild

Une fois la commande exécutée, cela créera un index elasticsearch pour Zammad.

Configurer Nginx comme proxy inverse

Maintenant que vous avez installé Zammad, vous allez configurer Nginx en tant que proxy inverse et, par défaut, Zammad fournit un exemple de configuration disponible dans le répertoire/opt/zammad/contrib.

Copiez la configuration Nginx pour Zammad dans /etc/nginx/conf.d/zammad.conf et ouvrez-la à l'aide de la commande nano editor.

cp /opt/zammad/contrib/nginx/zammad.conf /etc/nginx/conf.d/zammad.conf
sudo nano /etc/nginx/conf.d/zammad.conf

Dans l'option server_name, modifiez-le avec votre domaine.

server_name zammad.howtoforge.local;

Enregistrez et quittez le fichier.

Vérifiez maintenant votre configuration Nginx pour vous assurer que vous disposez de la syntaxe appropriée. En cas de succès, vous devriez obtenir un résultat « la syntaxe est correcte ».

sudo nginx -t

Enfin, exécutez la commande ci-dessous pour redémarrer le service Nginx et appliquer une nouvelle configuration de bloc serveur pour Zammad.

sudo systemctl restart nginx

Avec cela, votre installation Zammad devrait être prête et accessible.

Sécuriser Zammad avec HTTPS

Maintenant que Nginx est configuré, sécurisons Zammad via des certificats SSL/TLS. Vous installerez Certbot et générerez des certificats SSL en utilisant certbot de Letsencrypt.

Installez le plugin Certbot et Nginx à l'aide de la commande dnf ci-dessous. Tapez y pour confirmer l’installation.

sudo dnf install certbot python3-certbot-nginx

Une fois l'installation terminée, exécutez la commande certbot ci-dessous pour générer des certificats SSL/TLS et sécuriser votre installation Zammad. Assurez-vous de modifier les informations de l'adresse e-mail et du nom de domaine avec vos informations.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email  -d zammad.howtoforge.local

Une fois terminé, vos certificats SSL/TLS seront disponibles dans le répertoire /etc/letsencrypt/live/domain.com, et votre Zammad sera également sécurisé automatiquement avec HTTPS.

Configuration de l'installation de Zammad

Lancez votre navigateur Web et visitez https://zammad.hwomdian.io/. Si votre installation réussit, il vous sera demandé ce qui suit :

Cliquez sur Configurer un nouveau système pour commencer à configurer Zammad.

Saisissez les détails de votre utilisateur administrateur et de votre mot de passe pour Zammad, puis cliquez sur Créer.

Saisissez le nom de votre organisation, téléchargez votre logo et cliquez sur Suivant pour continuer.

Pour les paramètres de messagerie, cliquez sur Ignorer. Vous pouvez configurer cela après avoir terminé l'installation.

Vous verrez maintenant le tableau de bord Zammad comme suit.

Conclusion

Félicitations! Vous avez terminé l'installation du système de billetterie Zammad sur le serveur Rocky Linux 9. Vous avez dans Zammad fonctionnant avec la base de données PostgreSQL, Nginx comme proxy inverse, Elasticsearch, et également sécurisé avec HTTPS via Certbot.

Articles connexes: