Z-Push; Microsoft’un ActiveSync protokolünü açık-kaynak olarak uygulayan, mobil cihazların e-posta, takvim ve kişi verilerini push yöntemiyle senkronize etmesini sağlayan bir PHP uygulamasıdır. Nginx + PHP-FPM üzerinde çalışır; Zimbra Open Source Edition için fiilen standart ActiveSync çözümüdür.
ActiveSync’in push modeli, istemcinin sürekli IMAP IDLE açık tutması yerine sunucunun yeni veriyi aktif olarak cihaza iletmesi anlamına gelir - bu, pil ömrü ve anlık bildirim güvenilirliği açısından belirgin avantaj sağlar.
Mono’nun yaklaşımı
- Backend: Zimbra OSE kurulumlarında standart olarak Z-Push devreye alınır.
- State depolama: 200+ cihaz için Redis state backend; daha küçük kurulumlar için dosya sistemi.
- TLS: Nginx reverse proxy üzerinden HTTPS zorunlu; cihaz PIN politikası Z-Push politika dosyasından yönetilir.
- Loglama: Z-Push
LOGLEVEL_DEBUGyerineLOGLEVEL_WARNproduction’da; sorun anında geçici debug modu.
Yaygın sorunlar ve çözümler
- Cihaz senkronize olmuyor: Z-Push state dosyası bozulmuş olabilir. İlgili kullanıcının state dizinini (
/var/lib/z-push/<username>) temizle; cihaz yeniden eşleşir. - PHP-FPM 502 hatası:
pm.max_childrenyetersiz. Eşzamanlı cihaz sayısınız-push-admin.php -a listile kontrol et; havuzu artır. - Takvim/kişi gelmiyor: Backend konfigürasyonunda ilgili veri sınıflarının (
CALENDAR_FOLDER,CONTACT_FOLDER) doğru tanımlandığını doğrula. - Cihaz politikası uyumsuzluğu: Bazı eski Android cihazlar şifreleme politikasını karşılamaz;
PROVISIONINGdeğerinifalseyaparak bypass edilebilir (güvenlik değerlendirmesi ile).
İlgili hizmetlerimiz
Sıkça sorulan sorular
ActiveSync nedir?
Zimbra'nın kendi ActiveSync'i varken Z-Push neden kullanılır?
Hangi cihaz ve istemciler desteklenir?
Z-Push performansını ne etkiler?
pm.max_children ve state backend (dosya sistemi yerine Redis) yapılandırması kritik olur. Mono büyük kurulumlar için Redis state backend kullanır.
