Configuração do servidor web
TIP
Are you tired of complex setup, configuration, backup and update tasks? Let us handle this stuff for you! 🚀
The easiest and often most cost-effective way to operate Zammad is our cloud service. Give it a try with a free trial instance!
Configure seu servidor web para fazer proxy reverso do servidor de aplicação do Zammad. Este guia cobre obter um certificado SSL, ajustar a configuração de exemplo para Nginx e Apache 2, e recarregar o servidor web para aplicar as alterações.
Você pode encontrar arquivos de configuração de exemplo para o seu servidor web dentro do diretório contrib/ da sua instalação do Zammad. Há dois arquivos de exemplo por servidor web: zammad.conf (HTTP simples) e zammad_ssl.conf (HTTPS). O arquivo sem SSL é destinado apenas a testes locais e não deve ser usado em produção. Durante uma instalação via pacote do Zammad, o pacote copia automaticamente o zammad.conf sem SSL para o diretório de configuração do seu servidor web. Para uso em produção, substitua-o pelo zammad_ssl.conf e siga as etapas nesta página.
INFO
Usuários do Docker Compose/Kubernetes:
Pule esta página. Configure a porta, nome de host e esquema do servidor web via as variáveis NGINX_* e ZAMMAD_RAILSSERVER_* na página de variáveis de ambiente.
Obter um certificado SSL
O Zammad requer HTTPS em produção. Use uma das opções abaixo para obter um certificado antes de continuar com a configuração do servidor web.
Autoridade certificadora comercial
Compre um certificado anual de qualquer CA pública confiável. Algumas opções comuns são Sectigo, GlobalSign ou DigiCert. Instale o certificado, chave e cadeia resultantes no seu servidor, como faria para qualquer serviço HTTPS, e depois continue com a configuração do servidor web abaixo.
Let's Encrypt
O Let's Encrypt emite certificados gratuitos e renováveis automaticamente. Dois clientes são comumente usados.
O Certbot é o cliente ACME mais amplamente usado. Siga as instruções de instalação do Certbot, selecione sua distribuição e o plugin de servidor web correspondente no seletor, e conclua a instalação. Uma vez instalado, solicite um certificado substituindo <webserver> por nginx ou apache e zammad.example.com pelo seu subdomínio:
sudo certbot --<webserver> -d zammad.example.comO Certbot emitirá o certificado, perguntará se deseja redirecionar HTTP para HTTPS (escolha [1] not redirect se você planeja usar a configuração de exemplo do Zammad, que já lida com o redirecionamento; caso contrário, escolha [2] redirect) e organizará a renovação automática assim que o certificado tiver menos de 30 dias de validade restantes.
Ajustar a configuração do servidor web
Get the sample config into place
Copy the SSL sample configuration to your Nginx config directory:
sudo cp /opt/zammad/contrib/nginx/zammad_ssl.conf \
/etc/nginx/sites-available/zammad.confMost common Nginx config directories:
/etc/nginx/conf.d//etc/nginx/vhosts.d//etc/nginx/sites-available/
Adjust server name and certificate paths
Adjust the just copied file with a text editor of your choice (e.g. vi or nano). Locate both server_name directives (one in the HTTP server block on port 80, one in the HTTPS server block on port 443) and adjust example.com to the subdomain you have chosen for your Zammad instance.
Use the same domain as the fully qualified domain name in Zammad's Base settings (Settings > System > Base). Zammad only accepts live updates from that origin, so a differing server name breaks the real-time channel.
Now you'll need to adjust the path and file names for your SSL certificates you obtained on the prior steps. Adjust the following directives to match your setup:
ssl_certificate(your SSL certificate)ssl_certificate_key(the certificate's private key)ssl_trusted_certificate(the public CA certificate)
To improve HTTPS security, also configure a Diffie-Hellman parameter file and point ssl_dhparam at it:
sudo openssl dhparam -out /etc/ssl/dhparam.pem 4096Reload and verify
Verify the configuration:
sudo nginx -tReload Nginx:
sudo systemctl reload nginxAgora visite o domínio configurado do Zammad em um navegador para acessar a interface do Zammad. Se você não vir o assistente de configuração do Zammad nem a interface do Zammad, verifique a seção de solução de problemas abaixo.
Solução de problemas
Página de destino padrão em vez do Zammad
Se você chegar à página de destino padrão do servidor web em vez do Zammad, seu zammad.conf pode estar sendo sobreposto por outro arquivo de configuração. Verifique o diretório vhost por 000-default.conf ou default.conf e desative-o.
DNS não resolvendo
Se o subdomínio não resolver, verifique novamente os registros DNS do seu domínio e aguarde a propagação. Substitua o zammad.example.com no comando a seguir pelo domínio configurado do seu Zammad e verifique se o domínio aponta para o servidor correto:
host zammad.example.comErros de token CSRF
Se os usuários não conseguirem fazer login devido a erros de token CSRF, a cadeia do seu servidor web pode não estar passando o tipo de conexão original para o Zammad. Diga diretamente ao proxy que a conexão é HTTPS.
- Nginx
- dentro da sua configuração de virtual host, localize
proxy_set_header X-Forwarded-Protoe substitua$schemeporhttps. - Apache 2
dentro da sua configuração de virtual host, logo acima da primeira diretiva
ProxyPass, insira:apacheRequestHeader set X_FORWARDED_PROTO 'https' RequestHeader set X-Forwarded-Ssl on
Ticket changes not saved or missing live updates
If agents change ticket fields but the save button does nothing, or changes made by other users only appear after a manual reload, the webserver host name likely differs from the fully qualified domain name in Zammad's Base settings (Settings > System > Base). Zammad accepts live updates only from that origin. Adjust server_name (Nginx) or ServerName (Apache 2) to match the setting.