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 divers canaux, notamment le Web, le formulaire, l'e-mail, le chat, Twitter, Facebook, etc.
Conditions préalables
- Une nouvelle instance de serveur Vultr CentOS 7 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 1.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 1.8.
sudo yum install -y java-1.8.0-openjdk-devel
Après avoir installé OpenJDK 1.8, vous pouvez vérifier le résultat.
java -version
La sortie ressemblera à ceci.
openjdk version "1.8.0_144"
OpenJDK Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01, 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 sa fonction de recherche. Sur CentOS 7, vous pouvez installer la dernière version stable d'Elasticsearch 5 en utilisant le référentiel officiel Elasticsearch YUM comme ci-dessous.
Tout d'abord, installez la clé de signature publique Elasticsearch 5.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Ensuite, configurez le référentiel Elasticsearch YUM.
cat <<EOF | sudo tee -a /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
Ensuite, installez Elasticsearch à l'aide de YUM
.
sudo yum install -y elasticsearch
Enfin, démarrez le service Elasticsearch et faites-le démarrer automatiquement au démarrage.
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 .
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
Étape 4: installez Zammad 2.0
Afin de faciliter le processus d'installation, vous pouvez utiliser le dépôt officiel Zammad YUM pour installer Zammad avec diverses dépendances, y compris Nginx, PostgreSQL et plus, en même temps.
Téléchargez le dépôt officiel Zammad YUM.
sudo wget -O /etc/yum.repos.d/zammad.repo https://dl.packager.io/srv/zammad/zammad/stable/installer/el/7.repo
Installez Zammad et toutes les dépendances requises.
sudo yum 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
Le statut de Zammad 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/conf.d/zammad.conf
Trouvez cette 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 yum 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 yum install -y policycoreutils policycoreutils-python selinux-policy-devel
sudo setsebool httpd_can_network_connect on -P
Si SELinux est désactivé ou activé dans le permissive
mode, ignorez les modifications ci-dessus et continuez.
Vous devez également modifier les règles de pare-feu comme suit.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Étape 6: configurer le nouveau système Zammad à partir de l'interface Web
Pointez votre navigateur Web préféré vers http://helpdesk.example.com
et 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.