GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer le système de billetterie Zammad sur CentOS 7

Zammad est un système d'assistance/support client open source écrit en Ruby. Il s'agit d'un système de billetterie basé sur le Web avec de nombreuses fonctionnalités, y compris la prise en charge de la gestion de la communication client sur plusieurs canaux comme Facebook, le télégramme, le chat et les e-mails. Zammad est distribué sous la licence publique générale GNU AFFERO (AGPL) et peut être installé sur différentes plates-formes telles que Linux, AIX, FreeBSD, OpenBSD et MacOSX. Il est disponible sur Github et peut être installé gratuitement sur votre propre serveur.

Dans ce tutoriel, je vais vous montrer comment installer et configurer Zammad Ticketing System en utilisant le serveur Web Nginx et PostgreSQL pour le système de base de données. Nous utiliserons le serveur CentOS 7 et SSL Letsencrypt pour sécuriser les connexions client-serveur.

Ce que nous allons faire

  1. Installer le système de billetterie Zammad
  2. Installer et configurer Letsencrypt
  3. Configurer le serveur Web Nginx
  4. Configuration Zammad
  5. Conseils supplémentaires Zammad

Prérequis

  • Système CentOS 7
  • Au moins 2 Go de RAM
  • Privilèges racine

Étape 1 - Installer le système de billetterie Zammad

Avant d'installer le système de billetterie Zammad sur CentOS 7, nous devons installer le référentiel EPEL (Extra Packages for Enterprise Linux) pour l'installation de notre serveur Web Nginx.

Ajoutez le référentiel EPEL en installant le package epel à l'aide de la commande yum suivante.

sudo yum -y install epel-release

Le référentiel EPEL a été ajouté au système.

Ensuite, importez la clé Zammad avec la commande d'importation rpm.

sudo rpm --import https://rpm.packager.io/key

Ajoutez le référentiel Zammad en créant un nouveau fichier .repo dans le répertoire 'yum.repos.d' à l'aide de l'éditeur vim.

vim /etc/yum.repos.d/zammad.repo

Collez-y les informations suivantes.

[zammad]
name=Repository for zammad/zammad application.
baseurl=https://rpm.packager.io/gh/zammad/zammad/centos7/stable
enabled=1

C'est ça. Enregistrez et quittez.

Installez maintenant Zammad en utilisant la commande yum suivante.

sudo yum -y install zammad

Remarque : Lorsque nous installons Zammad, il installe automatiquement les autres packages requis, y compris le serveur Web Nginx et la base de données PostgreSQL.

Et une fois l'installation terminée, vous verrez un résultat similaire à celui présenté ci-dessous.

Zammad et d'autres packages - serveur Web Nginx et base de données PostgreSQL - ont été installés.

Étape 2 - Installer et configurer Letsencrypt SSL

Dans ce tutoriel, nous voulons configurer Zammad sous Nginx HTTPS et en utilisant le SSL gratuit de Letsencrypt. Et nous le ferons dans cette étape et utiliserons l'outil certbot (Agent Letsencrypt) qui peut être installé à partir du référentiel.

Installez l'outil de package certbot à partir du référentiel à l'aide de yum.

yum -y install certbot

Ensuite, nous devons générer de nouveaux certificats SSL avec l'outil certbot. Assurez-vous d'avoir votre propre domaine pour générer les fichiers de certificat. Nous utiliserons un nom de domaine 'zammad.hakase-labs.com'.

Accédez au répertoire de configuration de Nginx et ouvrez le fichier nginx.conf dans l'éditeur vim.

cd /etc/nginx/
vim nginx.conf

Collez la configuration suivante sous le 'serveur{} ' bloquer.

        location ~ /.well-known {
                allow all;
        }

Sauvegarder et quitter. Testez ensuite la configuration et redémarrez le serveur Web.

nginx -t
systemctl restart nginx

Avant de générer des fichiers de certificat SSL, assurez-vous que votre port système pour HTTP et HTTPS n'est pas bloqué par le pare-feu. Vous pouvez ouvrir les ports HTTP et HTTPS sur CentOS à l'aide de la commande firewall-cmd comme indiqué ci-dessous.

firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Générez maintenant des fichiers de certificat SSL à l'aide de la commande certbot suivante.

certbot certonly --standalone -d zammad.hakase-labs.co

On vous demandera votre adresse e-mail pour la notification de renouvellement - saisissez votre adresse e-mail et appuyez sur 'Entrée ' continuer. Pour Letsencrypt Term Of Services (TOS), tapez 'A ' être d'accord. De même, lorsqu'on vous demande de partager un e-mail avec la Fondation EFF, tapez simplement 'N ' pour non.

Lorsque la commande certbot est terminée, vous verrez le résultat comme indiqué ci-dessous.

De nouveaux fichiers de certificat SSL pour notre installation Zammad ont été générés. Tous les certificats sont dans le '/etc/letsencryp/live/ ' répertoire.

Étape 3 - Configurer le serveur Web Nginx

Dans cette étape, nous allons configurer un fichier d'hôte virtuel pour Zammad. Il est automatiquement créé dans le répertoire '/etc/nginx/conf.d/' lors de l'installation de zammad.

Allez dans '/etc/nginx/conf.d /' et modifiez le zammad.conf fichier.

cd /etc/nginx/conf.d/
vim zammad.conf

Modifiez toutes les configurations comme indiqué ci-dessous.

#
# this is the Nginx config for zammad
#

upstream zammad {
    server localhost:3000;
}

upstream zammad-websocket {
    server localhost:6042;
}

server {
    listen 80;
    server_name zammad.hakase-labs.co;
    return 301 https://$host$request_uri;
}

server {
    listen 443 http2 ssl;

    ssl_certificate /etc/letsencrypt/live/zammad.hakase-labs.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/zammad.hakase-labs.co/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;

    # replace 'localhost' with your fqdn if you want to use zammad from remote
    server_name zammad.irsyadf.me;

    root /opt/zammad/public;

    access_log /var/log/nginx/zammad.access.log;
    error_log  /var/log/nginx/zammad.error.log;

    client_max_body_size 50M;

    location ~ ^/(assets/|robots.txt|humans.txt|favicon.ico) {
        expires max;
    }

    location /ws {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header CLIENT_IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_read_timeout 86400;
        proxy_pass http://zammad-websocket;
    }

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header CLIENT_IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_read_timeout 180;
        proxy_pass http://zammad;

        gzip on;
        gzip_types text/plain text/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
        gzip_proxied any;
    }
}

Enregistrez et quittez.

Ensuite, testez la configuration de Nginx et assurez-vous qu'il n'y a pas d'erreur. Redémarrez ensuite le serveur Web.

nginx -t
systemctl restart nginx

Le fichier d'hôte virtuel zammad utilise maintenant SSL. Vérifiez avec la commande netstat et assurez-vous que vous avez le port 443 pour HTTPS avec l'état 'LISTEN '.

netstat -plntu

Étape 4 - Configuration de Zammad

Zammad a été installé sur CentOS 7 avec Nginx comme serveur Web et PostgreSQL comme serveur de base de données, et il fonctionne sous une connexion HTTPS. Dans cette étape, nous ferons la configuration de base du système de billetterie Zammad.

Ouvrez votre navigateur Web et tapez l'adresse zammad 'zammad.hakase-labs.co'. Vous serez redirigé vers la connexion HTTPS. Cliquez sur 'Configurer un nouveau système ' pour continuer.

Remplissez maintenant toute la configuration d'administration. Nom d'utilisateur, adresse e-mail et mot de passe, puis cliquez sur "Créer '.

Pour le nom de l'organisation, saisissez le nom de votre entreprise et cliquez sur 'Suivant '.

Pour recevoir une notification par e-mail, cliquez sur 'Continuer '.

Nous pouvons effectuer la configuration de la notification par e-mail à partir de la page des paramètres.

Pour la configuration du canal, cliquez sur 'Ignorer '.

Et maintenant, vous voyez le tableau de bord d'administration de Zammad avec une belle interface utilisateur.

Zammad a été installé avec HTTPS activé et la configuration est terminée.

Étape 5 : Activer les services Zammad

Zammad est livré avec trois composants :un serveur d'applications Web, un processus de travail Zammad et un serveur WebSocket. Nous pouvons gérer tous les services avec la commande systemcl ci-dessous.

systemctl start zammad
systemctl status zammad
systemctl restart zammad

Si vous souhaitez configurer les services un par un, vous pouvez utiliser des composants spécifiques comme indiqué ci-dessous.

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

L'installation du système de billetterie Zammad sur CentOS 7 est terminée.


Cent OS
  1. Comment installer PHP 7, 7.2 et 7.3 sur CentOS 7

  2. Comment installer R sur CentOS 7

  3. Comment installer R sur CentOS 8

  4. Comment installer Gradle sur CentOS 8

  5. Comment installer la surveillance du système Glances sur CentOS 7

Comment installer Adobe Flash Player sur CentOS 8

Comment installer le système de surveillance Grafana sur CentOS 8

Comment installer l'outil de surveillance du système Glances sur CentOS 7

Comment installer Cinnamon sur CentOS 7

Comment installer et configurer le système de billetterie Zammad sur Ubuntu 20.04

Comment installer Nginx sur CentOS 8