Como instalar o sistema de suporte ao cliente Zammad no Rocky Linux 9
Nesta página
- Pré-requisitos
- Instalando Dependências
- Instalando o Elasticsearch
- Aumente o máximo de conexões no PostgreSQL
- Configurando o Firewalld
- Instalando o Sistema de Suporte ao Cliente Zammad
- Configurando o Nginx como proxy reverso
- Protegendo o Zammad com HTTPS
- Configurando a instalação do Zammad
- 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.