Como instalar o Zammad Helpdesk no AlmaLinux ou Rocky Linux
Zammad é um sistema de suporte técnico e rastreamento de problemas de código aberto escrito em Ruby e JavaScript. Ele gerencia a comunicação com o cliente por meio de vários canais, como e-mail, chat, telefone, Twitter ou Facebook. Zammad oferece vários recursos úteis, como gerenciamento de escalonamento, comunicação com o cliente em vários canais, roteamento de tickets, resolução de problemas e muito mais. Ele usa PostgresSQL, MariaDB ou MySQL como backend de banco de dados e suporta autenticação externa via Twitter, Facebook, LinkedIn ou Google via OAuth.
Neste tutorial, mostrarei como instalar e configurar o Zammad Helpdesk no AlmaLinux 8 ou Rocky Linux 8.
Requisitos
- Um servidor rodando Rocky Linux 8 ou AlmaLinux 8.
- Um nome de domínio válido apontando para o IP do servidor.
- Uma senha root é configurada no servidor.
Instale o Java JDK
Primeiro, você precisa instalar o Java JDK em seu sistema. Você pode instalá-lo executando o seguinte comando:
dnf install java-11-openjdk-devel -y
Depois que o Java estiver instalado, você pode verificar a versão do Java com o seguinte comando:
java --version
Você deverá ver a seguinte saída:
openjdk 11.0.14 2022-01-18 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.14+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.14+9-LTS, mixed mode, sharing)
Depois de terminar isso, você pode prosseguir para a próxima etapa.
Instale o Elasticsearch
Você também precisa instalar o pacote Elasticsearch em seu servidor. Primeiro, importe a chave GPG com o seguinte comando:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Em seguida, crie um repositório Elasticsearch com o seguinte comando:
nano /etc/yum.repos.d/elasticsearch-7.x.repo
Adicione as seguintes linhas:
[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
Salve e feche o arquivo e instale o pacote Elasticsearch com o seguinte comando:
dnf install elasticsearch -y
Depois que o Elasticsearch estiver instalado, você deverá instalar o anexo de ingestão. Você pode instalá-lo com o seguinte comando:
/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment
Você obterá a seguinte saída:
-> Installing ingest-attachment
-> Downloading ingest-attachment from elastic
[=================================================] 100%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.java2d.cmm.kcms
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.security.SecurityPermission createAccessControlContext
See https://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
Continue with installation? [y/N]y
-> Installed ingest-attachment
-> Please restart Elasticsearch to activate any plugins installed
Em seguida, recarregue o daemon systemd com o seguinte comando:
systemctl daemon-reload
Inicie e ative o serviço Elasticsearch com o seguinte comando:
systemctl enable elasticsearch
systemctl restart elasticsearch
Você também pode verificar o status do Elasticsearch com o seguinte comando:
systemctl status elasticsearch
Você deverá ver a seguinte saída:
? elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-02-19 08:36:46 UTC; 13s ago
Docs: https://www.elastic.co
Main PID: 2158 (java)
Tasks: 75 (limit: 23696)
Memory: 2.2G
CGroup: /system.slice/elasticsearch.service
??2158 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=>
??2357 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Feb 19 08:36:11 linux systemd[1]: Starting Elasticsearch...
Feb 19 08:36:46 linux systemd[1]: Started Elasticsearch.
Quando terminar, você pode prosseguir para a próxima etapa.
Instale o Zammad
Por padrão, o Zammad não está incluído no repositório padrão do Alma Linux. Portanto, você precisa criar um repositório para o Zammad.
Primeiro, importe a chave Zammad GPG com o seguinte comando:
rpm --import https://dl.packager.io/srv/zammad/zammad/key
A seguir, crie um repositório Zammad com o seguinte comando:
wget -O /etc/yum.repos.d/zammad.repo https://dl.packager.io/srv/zammad/zammad/stable/installer/el/8.repo
A seguir, instale o repositório EPEL e o Zammad com o seguinte comando:
dnf install epel-release -y
dnf install zammad -y
Depois que o Zammad estiver instalado, inicie e ative todos os serviços do Zammad com o seguinte comando:
systemctl start zammad zammad-web zammad-worker
systemctl enable zammad zammad-web zammad-worker
Agora você pode verificar o status de todos os serviços com o seguinte comando:
systemctl status zammad zammad-web zammad-worker
Você obterá a seguinte saída:
? zammad.service
Loaded: loaded (/etc/systemd/system/zammad.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-02-19 08:41:05 UTC; 32s ago
Main PID: 3560 (sleep)
Tasks: 1 (limit: 23696)
Memory: 180.0K
CGroup: /system.slice/zammad.service
??3560 /bin/sleep infinity
Feb 19 08:41:05 linux systemd[1]: Started zammad.service.
? zammad-web.service
Loaded: loaded (/etc/systemd/system/zammad-web.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-02-19 08:41:05 UTC; 32s ago
Main PID: 3565 (sleep)
Tasks: 1 (limit: 23696)
Memory: 168.0K
CGroup: /system.slice/zammad-web.service
??3565 /bin/sleep infinity
Feb 19 08:41:05 linux systemd[1]: Started zammad-web.service.
? zammad-worker.service
Loaded: loaded (/etc/systemd/system/zammad-worker.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-02-19 08:41:05 UTC; 32s ago
Main PID: 3561 (sleep)
Tasks: 1 (limit: 23696)
Memory: 188.0K
CGroup: /system.slice/zammad-worker.service
??3561 /bin/sleep infinity
Feb 19 08:41:05 linux systemd[1]: Started zammad-worker.service.
Em seguida, conceda as permissões adequadas ao diretório público do Zammad:
chmod -R 755 /opt/zammad/public/
Configurar Nginx para Zammad
Zammad também instalará o pacote Nginx automaticamente. Agora você precisa copiar o arquivo de configuração Nginx para Zammad do diretório Zammad para o diretório de configuração Nginx.
cp /opt/zammad/contrib/nginx/zammad.conf /etc/nginx/conf.d/zammad.conf
A seguir, edite o arquivo de configuração Nginx para Zammad com o seguinte comando:
nano /etc/nginx/conf.d/zammad.conf
Substitua "localhost" pelo seu fqdn se quiser usar o Zammad remotamente:
server_name zammad.example.com;
Salve e feche o arquivo quando terminar e reinicie o serviço Nginx para aplicar as alterações:
systemctl restart nginx
Você também pode verificar o status do Nginx com o seguinte comando:
systemctl status nginx
Você deverá ver a seguinte saída:
? nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-02-19 08:45:45 UTC; 5s ago
Process: 7112 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 7110 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 7108 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 7113 (nginx)
Tasks: 3 (limit: 23696)
Memory: 5.1M
CGroup: /system.slice/nginx.service
??7113 nginx: master process /usr/sbin/nginx
??7114 nginx: worker process
??7115 nginx: worker process
Feb 19 08:45:45 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Feb 19 08:45:45 linux nginx[7110]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Feb 19 08:45:45 linux nginx[7110]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Feb 19 08:45:45 linux systemd[1]: Started The nginx HTTP and reverse proxy server.
Quando terminar, você pode prosseguir para a próxima etapa.
Acessando a IU da Web do Zammad
Agora você pode acessar a UI da Web do Zammad a partir do URL http://zammad.example.com em seu navegador. Você deverá ver a seguinte página:
Clique na caixa Configurar novo sistema. Você deverá ver a página de configuração da conta de administrador:
Digite seu nome de usuário e senha de administrador e clique no botão Criar. Você deverá ver a página Criar Organização:
Insira o nome e URL da sua organização e clique no botão Avançar. Você deverá ver a seguinte página:
Clique no botão Avançar. Você deverá ver a página Conectar canais:
Clique no botão Pular. Na página seguinte, você deverá ver o painel do Zammad:
Conclusão
Parabéns! Você instalou com sucesso o sistema de helpdesk Zammad no Alma Linux 8. Agora você pode começar a usar o Zammad em sua organização. Se você tiver alguma dúvida, não hesite em entrar em contato comigo.