Pesquisa de site

Como instalar o sistema de suporte ao cliente Zammad no Rocky Linux 9


Nesta página

  1. Pré-requisitos
  2. Instalando Dependências
  3. Instalando o Elasticsearch
  4. Aumente o máximo de conexões no PostgreSQL
  5. Configurando o Firewalld
  6. Instalando o Sistema de Suporte ao Cliente Zammad
  7. Configurando o Nginx como proxy reverso
  8. Protegendo o Zammad com HTTPS
  9. Configurando a instalação do Zammad
  10. Conclusão

Zammad é uma solução de código aberto de suporte/tickets ao cliente baseada em Ruby e PostgreSQL. Ele ajuda as organizações a gerenciar as comunicações em vários canais de e-mail, chat e mídia social.

Neste guia, você aprenderá como instalar o Zammad Ticketing System no servidor Rocky Linux. Você executará o Zammad com PostgreSQL, Nginx e Elasticsearch.

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte:

  • Um servidor Rocky Linux 9.
  • Um usuário não root com privilégios de administrador.
  • Um nome de domínio apontado para um endereço IP de servidor.
  • Um SELinux com status permissivo.

Instalando Dependências

Nesta seção, você instalará dependências para Zammad, incluindo o repositório EPEL, banco de dados PostgreSQL, servidor web Nginx, Redis e Node.js.

Primeiro de tudo, adicione o repositório EPEL ao seu sistema Rocky Linux com o seguinte.

sudo dnf install epel-release -y

Agora configure a localidade padrão para en_US.UTF-8 com o comando abaixo.

sudo localectl set-locale LC_CTYPE=en_US.UTF-8

Agora execute o comando abaixo para habilitar o repositório Node.js para a versão 18.

sudo dnf module enable nodejs:18 -y

Em seguida, execute o comando dnf abaixo para instalar dependências para Zammad, incluindo Nginx, PostgreSQL, Redis e Node.js.

sudo dnf install imlib2 nginx postgresql-server postgresql-contrib libpq-devel redis nodejs

Insira y para confirmar e prosseguir.

Após a conclusão da instalação, execute o comando abaixo para inicializar o servidor PostgreSQL.

sudo postgresql-setup initdb

Inicie e habilite serviços para Nginx, PostgreSQL e Redis com o comando abaixo.

sudo systemctl start nginx postgresql redis
sudo systemctl enable nginx postgresql redis

Por último, verifique a versão do Node.js usando o comando abaixo. Certifique-se de ter o Node.js 18.0+ instalado.

node --version

Instalando o Elasticsearch

Após instalar as dependências, você precisará instalar o Elasticsearch. Nesta seção, você instalará o Elasticsearch 7.x para Zammad.

Agora execute o comando abaixo para adicionar a chave GPG ao repositório Elasticsearch.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Adicione o repositório Elasticsearch para o servidor Rocky Linux com o comando a seguir.

echo "[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md"| tee /etc/yum.repos.d/elasticsearch-7.x.repo

Em seguida, instale o Elasticsearch em seu sistema com o seguinte comando. Insira y para confirmar a instalação e aceite a chave GPG quando solicitado.

sudo dnf install elasticsearch

Após a conclusão da instalação, instale o plugin ingest-attachment em sua instalação do Elasticsearch usando o comando abaixo.

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

Insira y para confirmar a instalação.

Agora recarregue o gerenciador systemd e inicie o serviço elasticsearch usando o comando abaixo.

sudo systemctl daemon-reload
sudo systemctl start elasticsearch

Uma vez iniciado, verifique o Elasticsearch com o comando curl abaixo. Se a instalação for bem-sucedida, você obterá informações detalhadas sobre a versão do Elasticsearch.

curl -X GET 'http://localhost:9200'

Aumente o máximo de conexões no PostgreSQL

Para PostgreSQl, você precisa aumentar o padrão max_connections no arquivo postgresql.conf. Isso é necessário para Zammad.

Portanto, faça login como usuário postgres com o comando abaixo.

su - postgres

Abra a configuração do PostgreSQL data/postgresql.conf usando o editor nano.

nano data/postgresql.conf

Altere o padrão max_connections para 2000 da seguinte forma:

max_connections = 2000

Salve o arquivo e saia.

Agora execute o comando systemctl abaixo para reiniciar o serviço PostgreSQL e aplicar suas alterações.

sudo systemctl restart postgresql

Configurando o Firewalld

Por padrão, o firewalld está habilitado no Rocky Linux. Então agora você precisa abrir os serviços HTTP e HTTPS e permitir o tráfego para o Zammad.

Adicione os serviços HTTP e HTTPS ao firewalld usando o seguinte comando.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

Agora recarregue o firewalld para aplicar novas regras para HTTP e HTTPS.

sudo firewall-cmd --reload

Verifique a lista de regras no firewalld usando o comando abaixo. Você verá os serviços HTTP e HTTPS disponíveis no firewalld.

sudo firewall-cmd --list-all

Instalando o Sistema de Suporte ao Cliente Zammad

Agora que você tem as dependências instaladas e configuradas, você pode iniciar a instalação do Zammad, que pode ser feita através do gerenciador de pacotes DNF.

Adicione a chave GPG para o repositório Zammad usando o comando abaixo.

sudo rpm --import https://dl.packager.io/srv/zammad/zammad/key

Agora adicione o repositório Zammad ao seu servidor Rocky Linux com o seguinte comando.

sudo wget -O /etc/yum.repos.d/zammad.repo \
https://dl.packager.io/srv/zammad/zammad/develop/installer/el/9.repo

Em seguida, instale o zammad com o comando dnf abaixo. Quando solicitado, digite y para confirmar a chave gpg e a instalação do Zammad.

sudo dnf install zammad

Após a conclusão da instalação, execute o seguinte comando para verificar os serviços do Zammad, incluindo zammad, zammad-web, zammad-worker e >zammad-websocket.

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

Certifique-se de que todos os serviços do Zammad estejam em execução.

Por fim, execute o seguinte comando para configurar a integração entre o Zammad e o Elasticsearch.

zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
zammad run rake zammad:searchindex:rebuild

Após a execução do comando, isso criará um índice elasticsearch para o Zammad.

Configurando o Nginx como proxy reverso

Agora que instalou o Zammad, você configurará o Nginx como um proxy reverso e, por padrão, o Zammad fornece um exemplo de configuração que está disponível no diretório/opt/zammad/contrib.

Copie a configuração do Nginx para Zammad para /etc/nginx/conf.d/zammad.conf e abra-o usando o comando do editor nano.

cp /opt/zammad/contrib/nginx/zammad.conf /etc/nginx/conf.d/zammad.conf
sudo nano /etc/nginx/conf.d/zammad.conf

Dentro da opção server_name, altere-o com o seu domínio.

server_name zammad.howtoforge.local;

Salve e saia do arquivo.

Agora verifique sua configuração do Nginx para garantir que você tenha a sintaxe correta. Se for bem-sucedido, você deverá obter uma saída 'syntax is ok'.

sudo nginx -t

Por último, execute o comando abaixo para reiniciar o serviço Nginx e aplicar uma nova configuração de bloco de servidor para Zammad.

sudo systemctl restart nginx

Com isso, sua instalação do Zammad deverá estar pronta e acessível.

Protegendo o Zammad com HTTPS

Agora que o Nginx está configurado, vamos proteger o Zammad por meio de certificados SSL/TLS. Você instalará o Certbot e gerará certificados SSL utilizando o certbot da Letsencrypt.

Instale o plugin Certbot e Nginx usando o comando dnf abaixo. Digite y para confirmar a instalação.

sudo dnf install certbot python3-certbot-nginx

Após a conclusão da instalação, execute o comando certbot abaixo para gerar certificados SSL/TLS e proteger sua instalação do Zammad. Certifique-se de alterar as informações de endereço de e-mail e nome de domínio com suas informações.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email  -d zammad.howtoforge.local

Depois de concluído, seus certificados SSL/TLS estarão disponíveis no diretório /etc/letsencrypt/live/domain.com, e seu Zammad também será protegido com HTTPS automaticamente.

Configurando a instalação do Zammad

Inicie seu navegador e visite https://zammad.hwomdian.io/. Se a instalação for bem-sucedida, será solicitado o seguinte:

Clique em Configurar um novo sistema para começar a configurar o Zammad.

Digite os detalhes do seu usuário administrador e senha do Zammad e clique em Criar.

Digite o nome da sua organização, faça upload do seu logotipo e clique em Avançar para continuar.

Para as configurações de e-mail, clique em Pular. Você pode configurar isso após terminar a instalação.

Agora você verá o painel do Zammad como o seguinte.

Conclusão

Parabéns! Você concluiu a instalação do Zammad Ticketing System no servidor Rocky Linux 9. Você tem no Zammad rodando com banco de dados PostgreSQL, Nginx como proxy reverso, Elasticsearch, e também protegido com HTTPS via Certbot.

Artigos relacionados: