Zammad est un système d'assistance / ticketing open source conçu pour les équipes de support client. Avec Zammad, les représentants du service client peuvent facilement traiter les requêtes et les plaintes des clients à partir de différents canaux, y compris le Web, le formulaire, l'e-mail, le chat, Twitter, Facebook, etc.
Conditions préalables
- Une nouvelle instance de serveur Vultr Ubuntu 16.04 LTS x64 avec au moins 4 Go de mémoire. Disons que son adresse IP est
203.0.113.1
, et son nom d'hôte est helpdesk
.
- Un domaine
helpdesk.example.com
configuré pour pointer vers l'instance de serveur mentionnée ci-dessus. Vous pouvez en savoir plus sur ce sujet dans un autre tutoriel Vultr .
- Un utilisateur sudo .
- L'instance de serveur a été mise à jour vers le dernier état stable .
- Dans un environnement de production, il est recommandé de configurer un fichier d'échange afin d'optimiser les performances.
Étape 1: configurer le FQDN (nom de domaine complet)
Comme requis par Zammad, vous devez configurer correctement le nom de domaine complet sur votre instance de serveur avant de pouvoir accéder à distance au site Zammad.
Utilisez l' vi
éditeur de texte pour ouvrir le /etc/hosts
fichier.
sudo vi /etc/hosts
Insérez la ligne suivante avant toute ligne existante.
203.0.113.1 helpdesk.example.com helpdesk
Sauvegarder et quitter.
:wq!
Utilisez la hostname -f
commande pour confirmer le résultat, qui ressemblera à ceci.
helpdesk.example.com
Étape 2: installer les packages OpenJDK 8
Comme requis par Zammad, vous devez installer Java sur votre instance de serveur avant de pouvoir installer et exécuter Zammad.
Installez la dernière version stable d'OpenJDK 8.
sudo apt install -y openjdk-8-jdk
Après avoir installé OpenJDK 8, vous pouvez vérifier le résultat.
java -version
La sortie ressemblera à ceci.
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)
Enfin, configurez la JAVA_HOME
variable d'environnement.
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile
Étape 3: Installez Elasticsearch 5 et le plug-in mapper-attachments
Zammad utilise Elasticsearch pour fournir la fonction de recherche. Sur Ubuntu 16.04, vous pouvez installer la dernière version stable d'Elasticsearch 5 en utilisant le référentiel officiel d'Elasticsearch DEB comme ci-dessous.
Tout d'abord, téléchargez et installez la clé de signature publique Elasticsearch 5.
sudo apt install -y wget
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Ensuite, installez le apt-transport-https
package.
sudo apt install -y apt-transport-https
Enregistrez la définition du référentiel dans /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
Ensuite, installez Elasticsearch 5.x à l'aide d'APT.
sudo apt update -y
sudo apt install -y elasticsearch
Enfin, démarrez le service Elasticsearch et faites-le démarrer automatiquement au démarrage.
sudo systemctl daemon-reload
sudo systemctl start elasticsearch.service
sudo systemctl enable elasticsearch.service
De plus, afin de permettre à Elasticsearch d'indexer les pièces jointes, vous devez installer le mapper-attachments
plug-in Elasticsearch comme suit.
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install mapper-attachments
Lorsque vous êtes invité à approuver des autorisations supplémentaires, tapez " Y
" puis appuyez sur " Enter
" pour terminer l'installation.
Redémarrez le service Elasticsearch pour charger le nouveau plugin.
sudo systemctl restart elasticsearch.service
Étape 4: installez Zammad 2.0
Afin de faciliter le processus d'installation, vous pouvez utiliser le dépôt officiel Zammad DEB pour installer Zammad avec diverses dépendances, y compris Nginx, PostgreSQL et plus, en même temps.
Tout d'abord, assurez-vous que l'instance de serveur utilise un UTF-8
environnement local, sinon PostgreSQL ne peut pas être installé.
locale
Si vous trouvez des paramètres régionaux autres que en_US.UTF-8
, vous devez basculer vers ces paramètres régionaux comme suit.
sudo apt install -y locales
sudo locale-gen en_US.UTF-8
echo "LANG=en_US.UTF-8" | sudo tee /etc/default/locale
Après vous être assuré que les paramètres régionaux sont corrects, téléchargez le dépôt officiel Zammad DEB.
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
Installez Zammad et toutes les dépendances requises à l'aide de APT
.
sudo apt update -y
sudo apt install -y zammad
Une fois Zammad correctement installé, le service Zammad démarre automatiquement. Vous pouvez utiliser la commande suivante pour confirmer l'état du service Zammad.
sudo systemctl status zammad.service
Son statut sera active (running)
.
Ensuite, utilisez les commandes suivantes pour faire fonctionner Zammad avec Elasticsearch et reconstruire l'index.
sudo zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
sudo zammad run rake searchindex:rebuild
Ajoutez un espace de nom d'index Elasticsearch supplémentaire (facultatif).
sudo zammad run rails r "Setting.set('es_index', Socket.gethostname + '_zammad')"
Ignorez les types de fichiers binaires courants (facultatif).
sudo zammad run rails r "Setting.set('es_attachment_ignore', [ '.png', '.jpg', '.jpeg', '.mpeg', '.mpg', '.mov', '.bin', '.exe', '.box', '.mbox' ] )"
Définissez la taille maximale des pièces jointes (facultatif).
sudo zammad run rails r "Setting.set('es_attachment_max_size_in_mb', 50)"
Afin de permettre aux utilisateurs d'accéder à distance à Zammad, vous devez modifier le fichier de configuration de Zammad Nginx.
sudo vi /etc/nginx/sites-available/zammad.conf
Trouvez la ligne.
server_name localhost;
Remplacez-le localhost
par le nom de domaine complet de votre instance de serveur.
server_name helpdesk.example.com;
Sauvegarder et quitter.
:wq!
Enfin, redémarrez le service Nginx pour appliquer vos modifications.
sudo systemctl restart nginx.service
Étape 5: Configurer SELinux et les règles de pare-feu
Utilisez les commandes suivantes pour déterminer l'état de SELinux sur votre instance de serveur.
sudo apt install -y policycoreutils
sestatus
Si SELinux est activé dans le enforcing
mode sur votre machine, vous devez modifier une règle SELinux comme suit.
sudo apt install -y selinux selinux-basics selinux-utils selinux-policy-ubuntu setools
sudo setsebool httpd_can_network_connect on -P
Si SELinux est disabled
ou activé dans le permissive
mode, ignorez les modifications ci-dessus et continuez.
Vous devez également modifier les règles de pare-feu UFW comme suit.
sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Nginx Full"
sudo ufw enable
Étape 6: configurer le nouveau système Zammad à partir de l'interface Web
Pointez votre navigateur Web préféré sur http://helpdesk.example.com
, puis vous serez amené dans la Zammad getting started
page.
Cliquez sur le Setup new system
bouton pour continuer.
Dans la Administrator Account
fenêtre, saisissez le prénom, le nom, l'adresse e-mail et le mot de passe de l'administrateur (deux fois), puis cliquez sur le Create
bouton.
Dans la Organization
fenêtre, saisissez le nom de l'organisation et l'URL du système http://helpdesk.example.com
, téléchargez votre logo (le cas échéant), puis cliquez sur le Next
bouton.
Dans la Email Notification
fenêtre, choisissez une méthode d'envoi d'e-mail appropriée, puis cliquez sur le Continue
bouton.
Dans la Connect Channels
fenêtre, cliquez sur le Skip
bouton pour terminer la configuration initiale. Tous les canaux peuvent être personnalisés ultérieurement.
C'est tout pour mettre en place un système de billetterie Zammad opérationnel. N'hésitez pas à explorer l'interface Zammad et à inviter des représentants du service client. Merci d'avoir lu.