Pesquisa de site

Como instalar o sistema de tickets do Zammad no CentOS 7


Nesta página

  1. O que faremos
  2. Pré-requisitos
  3. Etapa 1 - Instalar o sistema de tickets do Zammad
  4. Etapa 2 - Instalar e configurar Letsencrypt SSL
  5. Etapa 3 - Configurar o servidor da Web Nginx
  6. Etapa 4 - Configuração do Zammad
  7. Etapa 5 - Ativar os serviços do Zammad
  8. Referência

Zammad é um sistema de helpdesk/suporte ao cliente de código aberto escrito em Ruby. É um sistema de tíquetes baseado na web com muitos recursos, incluindo suporte para gerenciar a comunicação com o cliente em vários canais, como Facebook, telegrama, bate-papo e e-mails. O Zammad é distribuído sob a Licença pública geral GNU AFFERO (AGPL) e pode ser instalado em diferentes plataformas como Linux, AIX, FreeBSD, OpenBSD e MacOSX. Está disponível no Github e é gratuito para instalação em seu próprio servidor.

Neste tutorial, mostrarei como instalar e configurar o Zammad Ticketing System usando o servidor web Nginx e PostgreSQL para o sistema de banco de dados. Estaremos usando o servidor CentOS 7 e SSL Letsencrypt para proteger as conexões cliente-servidor. ;var slotId=div-gpt-ad-howtoforge_com-medrectangle-3-0;var ffid=1;var alS=1021%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document.createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins. dataset.fullWidthResponsive=true;}

O que nos faremos

  1. Instalar o sistema de tickets do Zammad
  2. Instalar e configurar o Letsencrypt
  3. Configurar o servidor da Web Nginx
  4. Configuração do Zammad
  5. Dicas Adicionais do Zammad

Pré-requisitos

  • Sistema CentOS 7
  • Pelo menos 2 GB de RAM
  • Privilégios raiz

Etapa 1 - Instalar o sistema de tickets do Zammad

Antes de instalar o sistema de tickets do Zammad no CentOS 7, precisamos instalar o repositório EPEL (Extra Packages for Enterprise Linux) para nossa instalação do servidor web Nginx.

Adicione o repositório EPEL instalando o pacote epel usando o seguinte comando yum.

sudo yum -y install epel-release

O repositório EPEL foi adicionado ao sistema.

Em seguida, importe a chave Zammad com o comando rpm import.

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

Adicione o repositório Zammad criando um novo arquivo .repo no diretório yum.repos.d usando o editor vim.

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

Cole as seguintes informações lá.

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

É isso. Salvar e sair.

Agora instale o Zammad usando o seguinte comando yum.

sudo yum -y install zammad

Observação: quando estivermos instalando o Zammad, ele instalará automaticamente outros pacotes necessários, incluindo servidor web Nginx e banco de dados PostgreSQL.

E após a conclusão da instalação, você verá o resultado semelhante ao mostrado abaixo.

Zammad e outros pacotes - servidor web Nginx e banco de dados PostgreSQL - foram instalados.

Etapa 2 - Instalar e configurar Letsencrypt SSL

Neste tutorial, queremos configurar o Zammad no Nginx HTTPS e usar o SSL gratuito do Letsencrypt. E faremos isso nesta etapa e usaremos a ferramenta certbot (Letsencrypt Agent) que pode ser instalada a partir do repositório.

Instale a ferramenta de pacote certbot do repositório usando yum.

yum -y install certbot

Em seguida, precisamos gerar novos certificados SSL com a ferramenta certbot. Certifique-se de ter seu próprio domínio para gerar os arquivos de certificado. Usaremos um nome de domínio zammad.hakase-labs.com.

Vá para o diretório de configuração do Nginx e abra o arquivo nginx.conf no editor vim.

cd /etc/nginx/
vim nginx.conf

Cole a seguinte configuração no bloco server {}.

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

Salvar e sair. Em seguida, teste a configuração e reinicie o servidor web.

nginx -t
systemctl restart nginx

Antes de gerar arquivos de certificado SSL, verifique se a porta do sistema para HTTP e HTTPS não está bloqueada pelo firewall. Você pode abrir as portas HTTP e HTTPS no CentOS usando o comando firewall-cmd conforme mostrado abaixo.

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

Agora gere arquivos de certificado SSL usando o seguinte comando certbot.

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

Você será questionado sobre seu endereço de e-mail para renovar a notificação - digite seu endereço de e-mail e pressione Enter para continuar. Para Letsencrypt Term Of Services (TOS), digite A para concordar. Da mesma forma, quando solicitado a compartilhar e-mail com a EFF Foundation, basta digitar N para não.

Quando o comando certbot estiver concluído, você verá o resultado conforme mostrado abaixo.

Novos arquivos de certificado SSL para nossa instalação do Zammad foram gerados. Todos os certificados estão no diretório /etc/letsencryp/live/.

Etapa 3 - Configurar o servidor da Web Nginx

Nesta etapa, configuraremos um arquivo de host virtual para o Zammad. Ele é criado automaticamente no diretório /etc/nginx/conf.d/ durante a instalação do zammad.

Vá para /etc/nginx/conf.d/ e edite o arquivo zammad.conf.

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

Altere todas as configurações conforme mostrado abaixo.

#
# 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;
    }
}

Salvar e sair.

Em seguida, teste a configuração do Nginx e verifique se não há nenhum erro. Em seguida, reinicie o servidor da web.

nginx -t
systemctl restart nginx

O arquivo de host virtual zammad agora está usando SSL. Verifique com o comando netstat e certifique-se de ter a porta 443 para HTTPS com o estado LISTEN.

netstat -plntu

Passo 4 - Configuração do Zammad

O Zammad foi instalado no CentOS 7 com Nginx como servidor web e PostgreSQL como servidor de banco de dados, e está sendo executado sob conexão HTTPS. Nesta etapa, faremos a configuração básica do Zammad Ticketing System.

Abra seu navegador da Web e digite o endereço zammad zammad.hakase-labs.co. Você será redirecionado para a conexão HTTPS. Clique no botão Configurar novo sistema para continuar.

Agora preencha toda a configuração do administrador. Nome de usuário, endereço de e-mail e senha e, em seguida, clique em Criar.

Para o nome da organização, digite o nome da sua empresa e clique em Avançar.

Para notificação por e-mail, clique em Continuar.

Podemos fazer a configuração de notificação por e-mail na página de configurações.

Para configuração do canal, clique em Ignorar.

E agora você vê o painel de administração do Zammad com uma interface de usuário bonita.

O Zammad foi instalado com HTTPS ativado e a configuração foi concluída.

Etapa 5 - Ativar os serviços do Zammad

O Zammad vem com três componentes - um servidor de aplicativos da web, um processo de trabalho do Zammad e um servidor de websocket. Podemos gerenciar todos os serviços com o comando systemcl abaixo.

systemctl start zammad
systemctl status zammad
systemctl restart zammad

Se você deseja configurar os serviços um a um, pode usar componentes específicos conforme mostrado abaixo.

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

A instalação do Zammad Ticketing System no CentOS 7 foi concluída.

Referência

  • https://docs.zammad.org/

Artigos relacionados: