O Z-Push permite que dispositivos móveis compatíveis sincronizem com o Kopano Core por meio do Microsoft Exchange ActiveSync. Uma configuração confiável depende da compatibilidade do backend do Z-Push com o servidor Kopano, da publicação do endpoint do ActiveSync via HTTPS e da preservação do estado do Z-Push durante as atualizações. A configuração ideal também depende se você deseja uma implantação simples em um único servidor ou se precisa de serviços separados e capacidade para vários hosts.
Escolha a configuração que melhor se adapta ao seu ambiente.
O Z-Push é um servidor de sincronização ActiveSync de código aberto. Ele atua como a camada de protocolo entre um dispositivo compatível e um backend de groupware; o dispositivo geralmente adiciona uma conta Exchange ou ActiveSync em vez de se conectar diretamente ao Kopano. O Z-Push pode sincronizar e-mails, contatos, itens de calendário e tarefas quando o backend e o cliente móvel escolhidos suportam esses tipos de dados. O Kopano descreve essa relação em sua documentação de administração do Kopano Core .
| Escolha | Melhor ajuste | Negociação a ser feita para o planejamento |
| Backend Kopano | O Kopano Core é a fonte de e-mails, contatos e calendários. | Requer o backend Kopano e componentes PHP-MAPI compatíveis; mantenha as versões suportadas alinhadas. |
| Backends IMAP, CalDAV ou CardDAV separados | Os dados de e-mail e de groupware residem em serviços diferentes. | Mais endpoints e configurações; recursos e comportamento das pastas dependem de cada backend. |
| Pacotes de distribuição | Uma implementação padrão do Linux gerenciada pelo sistema operacional. | As versões e os caminhos dos pacotes dependem dos repositórios de distribuição e da compatibilidade com o Kopano. |
| Implantação de contêiner de origem ou personalizado | Uma equipe precisa de layouts personalizados, fixação de versões ou operações de contêineres. | Você é responsável pelo gerenciamento de dependências, persistência de estado, roteamento web, atualizações e reversão. |
| Um anfitrião | Instalação de pequeno porte com um único serviço Z-Push | Estado e caminho de rede mais simples, mas o host é um ponto de serviço único. |
| Vários hosts Z-Push | Alta disponibilidade ou implantação escalável | Necessita de um design de estado compartilhado ou baseado em banco de dados adequado; um estado exclusivamente local pode tornar as solicitações inconsistentes. |
Para um servidor Kopano Core existente, o backend Kopano é o ponto de partida natural. Selecione IMAP mais CalDAV/CardDAV somente quando esses sistemas realmente contiverem os dados relevantes ou quando você intencionalmente desejar fontes separadas. Substituições de backend não são neutras em termos de recursos: o comportamento de sincronização, os catálogos de endereços, as tarefas, as pastas públicas e a compatibilidade podem variar.
Antes de instalar ou alterar a configuração
- Anote as versões do Kopano Core, Z-Push, PHP, servidor web e sistema operacional. Verifique as combinações suportadas para os pacotes que você planeja usar; a versão do PHP aceita pelo Z-Push por si só não garante que a extensão MAPI do Kopano esteja disponível para ele.
- Escolha o nome de host público que os clientes usarão, como por exemplo
sync.example.com, , e prepare um certificado TLS confiável para esse nome.
- Decida se o Z-Push será executado no host do Kopano ou em um servidor web separado. Um host separado pode isolar os serviços voltados para a web, mas requer acesso de rede funcional ao Kopano e um endereço de servidor MAPI configurado corretamente.
- Faça backup dos diretórios de configuração e estado do Z-Push antes de uma atualização. O estado do Z-Push rastreia a sincronização do dispositivo; as diretrizes de atualização documentadas da Kopano recomendam preservar o estado dos perfis móveis existentes.
- Escolha os tipos de dados que cada usuário deve sincronizar e revise os requisitos da política de dispositivos antes de cadastrar telefones pessoais ou corporativos.
Configure o lado do servidor
1. Instale um conjunto de componentes Z-Push compatível.
Use pacotes criados para sua distribuição e versão do Kopano quando estiverem disponíveis. Uma configuração típica baseada em pacotes separa o núcleo do Z-Push, o backend do Kopano e a integração com o servidor web. O manual do administrador do Kopano descreve pacotes como o `z-push` z-push-backend-kopanoe pacotes de configuração do servidor web, mas os nomes exatos dos pacotes e a disponibilidade nos repositórios são específicos da distribuição, e o manual abrange uma geração mais antiga da documentação do Kopano Core. Confirme a compatibilidade atual do pacote antes de aplicar seus comandos antigos.
Instalações a partir do código-fonte e contêineres oferecem maior controle sobre versões e layout do sistema de arquivos. Eles também transferem a responsabilidade para o operador: você deve disponibilizar as extensões PHP para o mesmo ambiente de execução PHP usado pelo servidor web, persistir o estado e os logs e manter a rota do ActiveSync acessível após novas implantações.
2. Selecione o backend e o endereço do servidor Kopano.
Na configuração principal do Z-Push, defina o provedor de backend para o backend Kopano usando a configuração e o nome da classe documentados para a sua versão instalada. Uma configuração comum em implantações empacotadas é BackendKopano`<nome_da_configuração>`; não copie e cole essa configuração em um arquivo de configuração com estrutura diferente sem antes verificar o exemplo fornecido com o seu pacote. Na configuração do backend Kopano, defina o endereço do servidor MAPI quando o serviço Kopano não estiver no mesmo host ou não puder ser acessado pela conexão local padrão.
// Example only: confirm the setting and file path in your installed package.
define('BACKEND_PROVIDER', 'BackendKopano');
Os nomes de arquivos e constantes podem variar entre versões do mesmo pacote. Mantenha informações confidenciais fora dos exemplos de configuração públicos, restrinja as permissões dos arquivos de configuração e verifique se o ambiente de execução PHP usado pelo Apache ou PHP-FPM consegue carregar a extensão MAPI Kopano necessária. Um ambiente PHP de linha de comando funcionando corretamente não garante que o ambiente de execução PHP da web tenha as mesmas extensões habilitadas.
3. Publique o endpoint do ActiveSync via HTTPS
Os clientes precisam de uma URL HTTPS estável para o manipulador do ActiveSync, geralmente o nome do host seguido por /Microsoft-Server-ActiveSync`.configure o Apache, Nginx ou o proxy reverso escolhido para rotear esse caminho para o ponto de entrada do Z-Push. Mantenha o endpoint canônico no mesmo nome de host e evite redirecionamentos que alterem o método da requisição ou enviem um cliente móvel para um caminho diferente. O guia da Kopano alerta especificamente contra a renomeação do diretório Z-Push para criar o endpoint, pois um redirecionamento pode interromper a sincronização do dispositivo.
Use um certificado válido cujo nome corresponda ao nome do host do endpoint. O HTTPS protege as credenciais e os dados de sincronização em trânsito, e muitos clientes móveis atuais rejeitam certificados não confiáveis ou incompatíveis. Não contorne os avisos de certificado desativando o TLS em contas de produção. Se o TLS for encerrado em um proxy reverso, confirme se o proxy encaminha as solicitações e os cabeçalhos relacionados à autenticação conforme o esperado e se a conexão do proxy com o Z-Push segue sua política de segurança interna.
4. Defina os locais de estado e de registro graváveis.
O Z-Push precisa ter permissão para gravar seu estado e seus logs. Conceda acesso à conta específica do servidor web, como www-dataem muitas instalações do Debian e Ubuntu; a conta de serviço varia conforme a distribuição. Evite tornar esses diretórios graváveis por todos. Em uma implantação com vários hosts, escolha um mecanismo de estado projetado para acesso compartilhado, em vez de presumir que os arquivos em um nó sejam visíveis para outro. O guia do administrador do Kopano explica as permissões do diretório de estado e observa que o estado deve ser mantido ao atualizar o Z-Push.
Configure a conta móvel.
No celular, adicione uma conta corporativa ou do Exchange e selecione Exchange ActiveSync, Microsoft Exchange ou a opção equivalente oferecida pelo cliente. Os rótulos e telas exatos variam de acordo com o sistema operacional e o aplicativo de e-mail. Insira o endereço de e-mail e as credenciais do usuário. Se a descoberta automática não localizar o servidor, insira o nome do host Z-Push e, se solicitado, o endpoint do ActiveSync. Use o formato de nome de usuário esperado pela sua configuração de autenticação do Kopano; não presuma que o endereço de e-mail completo e o nome de login do Kopano sejam sempre idênticos.
Mantenha o SSL/TLS ativado e aceite as políticas do dispositivo somente após revisar o que elas permitem, como exigir uma senha ou aplicar controles de dispositivo gerenciados pela organização. Selecione quais categorias sincronizar: e-mail, contatos, calendário e tarefas, quando disponíveis. O guia antigo do Kopano para dispositivos móveis descreve o fluxo de trabalho geral da conta Exchange, mas as capturas de tela e os rótulos do sistema operacional estão desatualizados. Siga as instruções do seu telefone atual em vez de copiar literalmente os caminhos de menu antigos.
Se o aplicativo de e-mail oferecer agendamento de sincronização, as notificações push ou atualizações frequentes proporcionam uma entrega mais rápida, mas podem consumir mais bateria e dados da rede. Intervalos de verificação mais longos reduzem as verificações em segundo plano, mas atrasam novas mensagens. Para uma conta corporativa onde a pontualidade do e-mail é importante, comece com a configuração de notificações push do cliente, se disponível, e ajuste-a de acordo com o consumo de bateria e as políticas da empresa.
Verifique cada camada antes de cadastrar mais dispositivos.
- Ponto de extremidade: Abra o nome de host público em um navegador e confirme se o certificado TLS é válido. Erros do navegador ou avisos de certificado devem ser corrigidos antes de adicionar contas.
- Roteamento web: Confirme se o caminho do ActiveSync alcança o manipulador Z-Push sem loops de redirecionamento ou uma página 404 genérica do servidor web. O endpoint é um manipulador de protocolo, não um site comum.
- Autenticação de backend: Utilize uma conta de teste e confirme se os logs do Z-Push mostram uma conexão de backend bem-sucedida sem expor senhas ou tokens.
- Sincronização inicial: Adicione um telefone de teste e verifique as pastas de e-mail, contatos, calendário e tarefas selecionadas. Um login bem-sucedido não garante que todos os tipos de dados estejam sendo sincronizados corretamente.
- Alterações bidirecionais: Crie um evento de teste no calendário do celular e confirme se ele aparece no Kopano; em seguida, faça uma alteração de teste no Kopano e confirme se ela é refletida no celular.
- Reiniciar e restaurar: Reinicie o serviço web durante um período de teste planejado, verifique se a sincronização foi recuperada e confirme se o diretório de estado permanece intacto.
Solução de problemas por sintoma
| Sintoma | Verifique primeiro |
| O telefone não consegue verificar o servidor ou falha antes do login. | Nome do host, cadeia de certificados TLS, endpoint HTTPS e quaisquer redirecionamentos de proxy. |
| As credenciais foram rejeitadas. | Formato de nome de usuário, autenticação Kopano, provedor de backend, disponibilidade de PHP-MAPI e logs do servidor web. |
| O e-mail sincroniza, mas o calendário e os contatos não. | Suporte a recursos de backend, categorias de sincronização de telefone selecionadas e mapeamento de pastas. |
| A sincronização funciona uma vez e, em seguida, duplica ou redefine os dados. | Se o estado foi excluído, movido ou ficou inconsistente entre hosts durante uma alteração ou atualização. |
| Apenas um dispositivo apresenta falha. | Compatibilidade do dispositivo, aviso de política da conta, perfil desatualizado e registros por dispositivo; teste com outro cliente antes de redefinir os dados. |
| Todos os dispositivos falham após uma atualização do PHP ou do sistema operacional. | Carregamento de extensões PHP-FPM/Apache, compatibilidade de pacotes, logs de serviço e alterações recentes de configuração. |
Use os logs do próprio Z-Push e os logs do servidor web/PHP em conjunto, sincronizados com o mesmo carimbo de data/hora. Se precisar testar um novo perfil de dispositivo, primeiro confirme se uma redefinição de estado no servidor é apropriada para a sua versão e verifique se isso acionará uma resincronização completa. Não exclua todo o diretório de estado como primeiro passo para solucionar problemas.
Qual configuração você deve escolher?
Para uma pequena instalação existente do Kopano Core, um conjunto de pacotes Z-Push compatível com a distribuição, o backend do Kopano, um endpoint HTTPS e um estado local com permissões bem definidas geralmente minimizam os componentes móveis. Use um host separado quando o isolamento ou os limites operacionais justificarem o trabalho extra de rede e compatibilidade com PHP-MAPI. Use um design com vários hosts somente após selecionar e testar uma abordagem de estado compartilhado. Se e-mails, calendários ou contatos estiverem armazenados fora do Kopano, compare os backends Z-Push relevantes antes da implementação e teste cada tipo de dado nos clientes móveis reais que seus usuários utilizam.
O empacotamento do Z-Push e do Kopano, o suporte a PHP e as mudanças no comportamento do dispositivo entre as versões são importantes. Considere a configuração de exemplo do pacote instalado e a documentação da versão correspondente como fontes oficiais; manuais antigos do Kopano são úteis para entender conceitos, mas não devem ser copiados cegamente para um sistema mais recente. O repositório do projeto Z-Push é a fonte do código atual do projeto e das informações de versão.