Zammad

01 - Description

A - Une description :

Nom DNS interne : 
Nom DNS Externe : 
Type de serveur (Physique, VMware, LXC, Docker...) : VM VMWare < /span>Disque LVM :      / : RAM :4Go CPU : 3
OS : Debian 12




Réseaux :

Adresse IP : 192.168.56.190
Masque : 255.255.255.0
Passerelle : 192.168.56.254
DNS : 192.168.56.1 192.168.1.50

1. Rôle :

Zammad est une solution de gestion de support/tickets opensource qui comporte beaucoup de fonctionnalités de haut niveau pour s'interfacer dans le système d'information existant ainsi qu'avec les principales plateformes de réseaux sociaux. Il vous permet de centralisé la gestion de vos échanges supports ou contacts téléphoniques, courriels et autres.

1. Accès :

Méthode d'accès :

[*] Interne
[x] Externe

1. Checklist - Création du serveur :

Sécurité :

[*] Création compte adminme
[*] Changement mot de passe root  
[*] Changement mot de passe adminme < a i=3>[*] Sécurisation des mots de passe (20 caractères minimum et 3 types de caractères différents) [*] Mise à jour du coffre fort de mot de passe < a i=5>[*] Déploiement clé SSH [ ] Paramétrage du SUDO NOPASSWORD Liste des Ports ouverts : 




B - LXC 

1. Rôle :

Le projet Linux Containers (LXC) est un outil de conteneurisation, c'est une plateforme de conteneurs Open Source qui fournit un ensemble d'outils, de modèles, de bibliothèques et de liaisons de langage. Le projet LXC dispose d'une interface en ligne de commande simple qui facilite la prise en main pour les nouveaux utilisateurs. Il contient un environnement de virtualisation au niveau du système d'exploitation qu'il est possible d'installer sur de nombreux systèmes fonctionnant sur Linux.

2. Qu'est-ce que la Conteneurisation :

Un conteneur est une technologie qui permet d'assembler et d'isoler des applications avec leur environnement d'exécution complet, c'est-à-dire tous les fichiers nécessaires à leur exécution. Les applications conteneurisées sont plus faciles à déplacer d'un environnement vers un autre (développement, test, production, etc.), tout en conservant l'intégralité de leurs fonctions.< /span>

image.png

3. Conteneurs et virtualisation ; quelles sont les différences :

Ce n'est pas tout à fait la même chose. Les conteneurs et la virtualisation sont plutôt complémentaires. Voici deux définitions simples pour y voir plus clair :

image.png

Qu'est-ce que cela signifie ? En premier lieu, la virtualisation utilise un hyperviseur pour émuler le matériel, ce qui permet d'exécuter plusieurs systèmes d'exploitation en parallèle. C'est une solution moins légère que les conteneurs. Les conteneurs Linux s'exécutent en natif sur leur système d'exploitation, qu'ils partagent entre eux. Vos applications et services restent ainsi légers et s'exécutent rapidement en parallèle.

1. Commande LXC :

Gestion LXC :

# Affiche différentes informations du conteneur comme le nom des snapshots, ressources utilisées, etc...
lxc info {CT-NAME}

# Permet de se connecter aux conteneurs :
lxc exec {CT-NAME} bash

# Créer un snapshot :
lxc snapshot {CT-NAME} {Snapname}

# Restaurer un snapshot :
lxc restore {CT-NAME} Snapname

# Supprimer un snapshot :
lxc delete {CT-NAME}/{Snapname}

# Gestion des profils :
lxc profile list
lxc profile show default

# Gestion des réseaux :
lxc network list
lxc network show lxdbr0

# Éditer la configuration d'un CT :
lxc config edit {CT-NAME}

# Démarrage d'un serveur d'un CT :
lxc exec CT-NAME service -- ssh start

Gestion des conteneurs :

# Création d'un conteneur
lxc launch {distrib}:{version} {CT_Name} 

#Suprimer un conteneur
lxc delete {CT_NAME}

# Arréter un conteneur
lxc stop {CT_Name} 

# Démarrer un conteneur
lxc start {CT_Name}

# Lister les conteneurs :
lxc list

02 - Installation

A - Préparation à l'installation :

https://docs.zammad.org/en/latest/install/package.html

https://docs.zammad.org/en/latest/install/elasticsearch.html#configure-zammad-with-elasticsearch

https://docs.zammad.org/en/latest/getting-started/configure-webserver.html

1. Prérequis :

Tout d'abord, pour le bon fonctionnement de Zammad il vous faudra installer Postfix.

#Installation postfix
apt install postfix

2. Installation de la dépendances du forfait :

Les dépendances ci-dessous doivent être installées sur votre système.

#Installation des dépendances du package
apt install curl apt-transport-https gnupg

3. Configuration d'Elasticsearch :

Source : https://docs.zammad.org/en/latest/install/elasticsearch.html

Installation

#Installation d'Elacticsearch

apt install apt-transport-https sudo wget curl gnupg

echo "deb [signed-by=/etc/apt/trusted.gpg.d/elasticsearch.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main"| \
  tee -a /etc/apt/sources.list.d/elastic-7.x.list > /dev/null

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | \
  gpg --dearmor | tee /etc/apt/trusted.gpg.d/elasticsearch.gpg> /dev/null

apt update

apt install elasticsearch

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

Après avoir installé Elasticsearch et son plugin de pièce jointe, assurez-vous de l'activer par défaut et démarrez-le.

#Démarrage d'Elasticsearch
systemctl start elasticsearch
systemctl enable elasticsearch

4. Vérification des paramètres régionaux :

Pour que Zammad fonctionne correctement, votre système doit utiliser les paramètres régionaux corrects.

#Répertoriez vos paramètres régionaux actuels
apt install locales
locale-gen fr_FR.UTF-8
echo "LANG=fr_FR.UTF-8

B - Installation de Zammad :

Ajout d'un référentiel

#Installer la clé référentiel
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | \
  gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg> /dev/null

#Ubuntu 22.04 
echo "deb [signed-by=/etc/apt/trusted.gpg.d/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 22.04 main"| \
   tee /etc/apt/sources.list.d/zammad.list > /dev/null

       Installation de Zammad 

#Installation de Zammad
apt update
apt install zammad

C - Connexion à Zammad :

#Définir l'adresse du serveur Elasticsearch
zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"

#Construire l'index de recherche
zammad run rake zammad:searchindex:rebuild

D - Configuration des fichiers de conf :

     Obtenez un fichier de configuration actuelle

Copiez et écrasez la valeur par défaut  zammad.conf en utilisant

cp /opt/zammad/contrib/nginx/zammad_ssl.conf /etc/nginx/sites-available/zammad.conf

       Ajustez le fichier de configuration

Ajustez le fichier que vous venez de copier avec un éditeur de texte de votre choix (par exemple  viou  nano).

nano /etc/nginx/sites-available/zammad.conf

Localisez n'importe quelle server_name directive et ajustez example.com la au sous-domaine que vous avez choisi pour votre instance Zammad.

image.png

Pour que le serveur soit opérationnel, il est important de supprimer toute la partie ssl du fichier de conf étant donné que c'est le proxy qui prendra en charge le ssl.2023-12-07 10_07_36-Édition Page 02 - Installation _ Wiki Morbihan-Energies.png

     Configuration du  conteneur

Après avoir édité le fichier de configuration de  Zammad , il est nécessaire de modifier également celui du conteneur  LXC .

#Configuration du conteneur LXC
lxc config edit {CT_Name}

Une fois dans le fichier de conf, supprimez la ligne "devices [ ]" et remplacez le par : 

devices:
 eth0:
  ipv4.address: {adresse ip du conteneur}
  name: eth0
  network: lxdbr1
  type: nic
port22215:
  connect: tcp:0.0.0.0:22
  listen: tcp:192.168.56.190:22215
  type: proxy
port44215:
  connect: tcp:0.0.0.0:80
  listen: tcp:192.168.56.190:44215
  type: proxy

Attention, pensez à bien modifier l'adresse Ip ainsi que les différents ports.

E - Configuration du Serveur Web :

Une fois arrivé sur la page ci-dessous, la configuration peut commencer.

Zammad Web.png

Après avoir cliqué sur "Set ip a new system", il vous faudra créer un compte administrateur.

02-Compte admin Zammad.png

Ensuite, vous devrez remplir le nom et le logo de l'organisation.

03-Organisation.png

Maintenant, vous devrez configurer la notification par e-mail.

04-Notif Email.png

Ici, vous avez le choix de connecter les canaux ou bien de passer afin d'utiliser Zammad au plus vite.

05-paramétrage des canaux.png

Si vous choisissez de connecter les canaux, vous devrez remplir le compte email.

06- E-mail.png

Puis pour finir, vous devrez remplir l'email entrant.

07-Email participant.png

Une fois toutes ces étapes finies, l'installation de votre Zammad est terminée et vous n'avez plus cas l'utiliser !

03 - Exploitation

A-Interface :

Après avoir installé Zammad, pour utiliser ses nombreuses fonctionnalités, vous devrez dans un premier temps vous connecter avec les identifiants créés au préalable.

01-Connexions.png

Après vous être connecté, vous arriverez sur l'interface ci-dessous :  

02-Interface Web.png

01-  Le point numéro 1 permet la création de ticket.

02-  La page aperçue est une page qui permet de voir l'ensemble des tickets de manière classée 

03-  Comme on peut le voir ci-dessus le point numéro 3 est le tableau de bord, il permet de voir statistiques différentes de la gestion des tickets.  

04-Le point 4 est le flux d'activité, il permet de voir les différentes actions qui ont été faites comme la création d'un utilisateur ou d'un ticket.

05-  Le point numéro 5 définit l'emplacement des paramètres.

06-  En 6, vous pourrez voir les statistiques des différents tickets de la création à la fermeture.

07-  Le point 7 vous permettra de personnaliser votre profil.

B - Création d'un Utilisateur :

Pour créer un utilisateur, vous devrez tout d'abord aller dans les paramètres situés en bas à gauche de votre interface.

03- Paramètre.png

Une fois dans cette interface, vous n'aurez plus cas cliquer sur "Nouvel Utilisateur".

04- Nouvel utilisateur.png

Après cela, vous n'avez plus cas définir les informations ainsi que les autorisations qu'il va avoir.

05- Rôle.png

C - Création de ticket :

Pour créer un ticket, il vous suffit de cliquer sur la croix verte en bas à droite de l'interface de Zammad.

06-Billet de création.png

Vous arriverez ensuite sur l'interface ci-dessous ou il vous suffira de remplir votre ticket.

07- Paramètre tcket.png

D - Gestion des billets :

Pour gérer les différents tickets, vous devez aller dans l'onglet aperçu et vous pourrez y voir l'intégralité des tickets qui sont créés.

08- Gestion de ticket.png

Une fois le ticket visible, vous pouvez cliquer dessus pour l'ouvrir. Sur la partie de droite, vous pouvez indiquer qui est le propriétaire du ticket, l'état du ticket ainsi que sa priorité.

image.png

Lorsque vous cliquez sur la zone de texte, vous avez la possibilité d'envoyer un message ou bien de créer une note. Si vous voulez que votre message soit visible par le créateur du ticket, il faut que les chaînes de gauche soient déverrouillées, dans le cas contraire, le message aura une lueur orange et ne pourra pas être vu par le client.

image.png

E - Création des Organisations :

1. Création de l'organisation

En allant dans les paramètres de Zammad, vous avez un onglet nommé organisations. Cet onglet vous permet de créer des organisations qui peuvent être ajoutées à différents utilisateurs. Pour cela a commencé par cliquer sur l'onglet "Nouvelle Organisation".

image.png

Vous arriverez ensuite sur l'interface ci-dessous ou vous pourrez remplir les paramètres de votre organisation. Pour valider vos organisations, vous n'aurez plus cas, cliquez sur envoyer.

image.png

2. Attribution de l'organisation

Une fois créé, vous pouvez affecter un utilisateur à votre organisation. Pour cela, allez dans les paramètres puis dans l'onglet utilisateur, cliquez sur votre utilisateur.

image.png

Une fois dans l'interface ci-dessous complétée l'onglet "Organisation" avec le nom de l'organisation créée au paravent. 

image.png

Une fois ajouter votre utilisateur sera ajouter à l'organisation et cela sera précisé dans son profil utilisateur.

F - Configuration de Zammad :

Pour les étapes suivantes, nous avons le service Infra, DEV et SIG qui doivent recevoir leurs tickets. Chaque service doit pouvoir attribuer un ticket à l'un de ses membres, ils doivent également pouvoir déléguer un ticket à un autre service.

1.Groupe

Pour commencer, il faut tout d'abord créer un groupe avec les différents services.

Création des groupes 1

Dans un 1er temps, vous allez créer un premier groupe de service, vous devrez vous rendre dans l'onglet "Groupe" situé dans les paramètres. Vous devrez ensuite cliquer sur un nouveau groupe.

image.png

Une fois dans l'interface ci-dessous, vous n'aurez plus cas nommé votre manager et le créé.

image.png

Une fois votre premier service créé, vous n'avez plus cas faire la même chose pour les autres.

Ajout d'utilisateur dans le groupe 2

Si vous souhaitez ajouter un utilisateur au groupe, vous devrez vous diriger dans l'onglet utilisateur cliqué sur l'utilisateur. Vous arriverez ensuite sur l'utilisateur. interface ci-dessous ou vous n'aurez plus cas choisir le groupe a associer et les permissions accordées, dans notre cas toutes les permissions au groupe.  N'oubliez pas de cliquer sur ajouter pour enregistrer !

image.png

Délégation de tâche  3

Afin que chaque groupe puisse se transférer des billets, il est important qu'un opérateur possède des droits sur chaque groupe. Des permissions "totale" dans le groupe de son service et seulement les autorisations de modification pour les autres services.

image.png

On peut voir ici que cet utilisateur fait partie du service Infra.

2. Rôles

Par défaut dans Zammad, il y a 3 rôles :

Ici pour chaque membre des services Ifra, DEV et SIG nous allons leur mettre des droits d'opérateur afin qu'ils puissent gérer leur ticket.

Création des Rôles 1

Dans notre cas, les rôles fournis par Zammad ne seront pas suffisants, c'est pour cela que nous allons commencer par dupliquer 2 fois le rôle "Opérateur". Pour dupliquer un rôle allez dans l'onglet rôle et sélectionnez le logo de droite.

image.png

Une fois dupliquer, vous pouvez les renommées en cliquant dessus et en modifiant simplement le nom.

Ajout des droits opérateur 2

Une fois nos 3 rôles créés, il faut ajouter les utilisateurs.  Pour cela, allez au même endroit que pour associer un groupe et ajouter l'opérateur à son service. 

image.png

On peut voir ici que l'opérateur fait partie du groupe SIG.

3. Aperçu

Si ce n'est pas déjà le cas, vous devrez ajouter vos différents rôles au aperçu afin que chaque rôle puisse voir les différentes catégories de ticket. Pour cela aller dans l'onglet "Aperçu" et sélectionné les 3 petits points, vous n'aurez plus cas ajouter les différents rôles.

image.png

4. Vérification

Après ces différentes étapes, quand vous vous rendez dans les paramètres d'un utilisateur, vous devriez avoir ceci.

image.png

Si c'est le cas, vos 3 services sont prêts, si un client a créé un ticket, il pourra choisir l'un des 3 services pour envoyer le ticket. Du côté de l'opérateur, il est possible de choisir un responsable de ticket et il est également possible de pouvoir changer le ticket de service.

G - Configuration de l'email :

Afin que les utilisateurs puissent envoyer un ticket sans passer par l'interface web, il est possible de configurer des adresses emails qui transfèreront leurs mails à Zammad.

Pour commencer, allez dans l'onglet e-mail et cliquer sur "Nouveau".

image.png

Vous arriverez dans l'interface ci-dessous ou vous devrez remplir les différentes informations de l'adresse mail qui va recevoir les différents tickets.

image.png

Après avoir cliqué sur connecter, il vous affichera un message d'erreur et d'autre information à complété.

Remplissez le nom d'hôte, ici "imap.morbihan-energies.fr" et sélectionné "Pas de SSL".

image.png

Une fois ces informations remplie, valider vos paramètres et votre email sera relié à Zammad.

04 - Maintenance

A - Mises à jours :

1. Mise à jour Zammad :

Si vous souhaitez mettre à jour votre système Zammad, vous devrez commencer par stopper le service.

#Arrêtez Zammad
systemctl stop zammad

Une fois Zammad arrêtez vous devrez commencer par vider le cash.

#Vider le cache Zammad
zammad run rails r "Rails.cache.clear"

Une fois ces étapes effectuées, il ne vous reste plus cas mettre à jour Zammad. 

#Mettre à jour Zammad
apt update
apt upgrade

B-Entretien :

1. Création Sauvegarde :

Avant de pouvoir exécuter une sauvegarde ou une restauration, les scripts vous demandent de fournir un fichier de configuration. Nous expédions un config.dist dans les /opt/zammad/contrib/backup répertoire que vous pouvez simplement renommer.

Pour ce faire, exécutez les commandes suivantes en tant qu'utilisateur root ou zammad.

cd /opt/zammad/contrib/backup/
mv config.dist config
#Création de la Backup
/opt/zammad/contrib/backup/zammad_backup.sh

image.png

2. Restauration d'une sauvegarde :

#Restoration d'une Backup
/opt/zammad/contrib/backup/zammad_restore.sh

image.png