İçeriğe geç
Z-Push

Z-Push, Exchange ActiveSync (EAS) uyumlu istemcilerle posta ve groupware sistemleri arasında senkronizasyon sağlayan açık kaynak bir PHP uygulamasıdır. Veriyi kendisi posta kutusu olarak barındırmaz. Backend, Z-Push’ın veriyi tutan sunucuya bağlanmak için kullandığı bileşendir; desteklenen veri türleri bu bileşene göre değişir.

Resmi proje açıklaması birden fazla backend ile çalışmayı tanımlar. Bu, bütün cihazların veya sunucuların aynı işlevleri desteklediği anlamına gelmez. Uygunluk; Z-Push sürümü, backend, kimlik doğrulama yöntemi ve istemci bileşimiyle değerlendirilir.

ActiveSync için backend seçimi

Resmi yapılandırma dosyası, veri türleri için farklı backend’leri tanımlar:

BackendKapsam
BackendIMAPIMAP sunucusundaki e-postalar
BackendCalDAVSunucunun desteğine göre takvim ve görevler
BackendCardDAVKişi verileri
BackendCombinedFarklı veri türlerini uygun backend’lere yönlendirme

Z-Push, Zimbra ile nasıl değerlendirilir?

Zimbra Collaboration ile kullanılacaksa seçilen bağlayıcı veya protokol yolu ayrıca doğrulanır. Eski bir üçüncü taraf bağlayıcının bulunması, güncel sunucuya güvenli ve desteklenen entegrasyon sağladığını göstermez.

Zimbra’nın kendi ActiveSync seçeneği ile Z-Push üzerinden bağlantı farklı işletim modelleridir. Seçilen Zimbra lisansının sunduğu erişim ile ayrı bir Z-Push/bağlayıcı katmanının bakım yükü birlikte karşılaştırılır. Pilot için aşağıdaki uyumluluk matrisi hazırlanabilir:

KontrolKabul kriteri
Sürüm bileşimiZimbra, Z-Push, PHP ve backend sürümleri kayıtlı; bağlayıcının bakım kaynağı belli.
Kimlik doğrulamaKurumun parola/MFA politikasıyla uyum doğrulanmış; güvenlik politikası devre dışı bırakılmıyor.
E-postaAlma, gönderme, klasör taşıma ve silme işlemleri iki tarafta tutarlı.
Takvim ve kişilerDavet, yanıt, tekrarlayan etkinlik ve kişi değişiklikleri iki yönde test edilmiş.
İstemciKurumun kullandığı her cihaz/uygulama sürümü için sonuç ayrı kaydedilmiş.

Bu kontroller tamamlanmadan “Zimbra ile uyumlu” ifadesi bütün cihazlar ve veri türleri için kullanılmamalıdır.

Tipik üretim mimarisi

Temel akış istemci → HTTPS → web sunucusu/PHP-FPM → Z-Push → backend → posta/groupware sunucusu şeklindedir. State deposu, hangi verinin istemciyle senkronize edildiği gibi durum bilgisini tutar; posta kutusunun kendisi değildir.

ActiveSync’in değişiklik bekleyen uzun süreli istekleri, reverse proxy ve PHP-FPM timeout’larıyla birlikte değerlendirilmelidir. Push davranışı ayrı bir dış bağlantıyla her cihaza anlık veri gönderildiği anlamına gelmez. IMAP IDLE da posta değişiklik bildirimleri sağlayabilir; ayrım yalnız “anlık veya periyodik” değildir.

Güvenlik ve kapasite

  • HTTPS sertifika zincirini doğrulayın; backend bağlantısında TLS doğrulamasını hata çözmek için kapatmayın.
  • Parola/kimlik doğrulama yolunun kurumun MFA ve erişim politikasıyla uyumunu pilotta inceleyin.
  • Ayrıntılı logların mesaj ve kişisel veri içerebileceğini dikkate alın; debug kaydını sınırlı süre ve kullanıcıyla açın.
  • Cihaz politikası uyumsuzluğunu provisioning’i kapatarak geçiştirmeyin; desteklenen istemci ve politika bileşimini seçin.
  • PHP-FPM kapasitesini yalnız cihaz sayısıyla değil, etkin uzun bağlantı, bellek tüketimi ve backend gecikmesiyle ölçün.

State depolama ile IPC (Inter-Process Communication) aynı şey değildir. İncelenen yapılandırmada FILE/SQL state seçenekleri ve ayrı IPC ayarları vardır. Çok sunuculu kurulumda bu bileşenlerin tutarlılığı planlanmadan yalnız yük dengeleyici eklenmemelidir.

Yaygın sorunlar ve çözümler

BelirtiÖnce ne incelenir?
Posta geliyor, takvim gelmiyorBackend veri türleri, endpoint ve yetkilendirme
502/504 hatasıPHP-FPM hata kayıtları, timeout, worker doluluğu ve backend yanıt süresi
Cihaz sürekli tam senkronizasyon yapıyorİstemci hataları, state erişimi, izinler ve sürüm uyumu
Yeni cihaz kayıt olamıyorKimlik doğrulama, sertifika ve cihaz politikası
Bazı öğeler eksikİstemci filtreleri, senkronizasyon zaman aralığı ve veri dönüşüm hataları

State verisini topluca silmek ilk çözüm değildir. Yeniden eşitleme yükü ve istemcide henüz sunucuya ulaşmamış değişiklikler değerlendirilmelidir. Gerekirse yedek ve kullanıcı onayıyla, ilgili sürümün yönetim araçları üzerinden dar kapsamlı işlem yapılır.

Pilot ve geri dönüş

Temsilî cihazlarda yeni posta, gönderim, klasör taşıma, takvim daveti, tekrarlayan etkinlik ve kişi düzenleme test edilir. Bir cihazın başarılı olması tüm istemci filosunun desteklendiğini kanıtlamaz.

Z-Push yapılandırması ve state verisi, posta/groupware sunucusundaki verinin yedeğinden ayrı korunur. Yükseltmede PHP ve bağlayıcı uyumu doğrulanır. Geri dönüşte eski state biçimine uyum ve cihazların yeniden eşitleme ihtiyacı planlanmalıdır.

İlgili hizmetlerimiz

Sıkça sorulan sorular

Z-Push bir e-posta sunucusu mu?
Hayır. ActiveSync uyumlu istemciyi backend üzerinden veriyi tutan sunucuya bağlar. E-posta, takvim ve kişi senkronizasyonu seçilen backend’lerin desteklediği veri türlerine bağlıdır.
IMAP backend takvim ve kişileri de taşır mı?
IMAP backend posta içindir. Takvim ve kişiler için uygun CalDAV/CardDAV veya başka bir groupware backend gerekir. BackendCombined farklı veri türlerini ilgili backend’lerle eşleştirmek için kullanılabilir.
Z-Push her Zimbra kurulumunda çalışır mı?
Böyle bir garanti yoktur. Bağlayıcının bakım durumu, sunucu sürümü, protokoller ve kimlik doğrulama biçimi doğrulanmalıdır. Zimbra’nın kendi ActiveSync seçeneğiyle lisans, uyumluluk ve işletim yükü açısından ayrı karşılaştırılır.
Bütün Outlook ve mobil istemciler desteklenir mi?
ActiveSync desteği istemci ürününe ve sürümüne bağlıdır. Klasik Outlook, yeni Outlook ve mobil uygulamalar aynı davranmaz. Kurumun gerçek cihaz/istemci listesiyle posta, takvim, kişi ve güvenlik politikaları test edilmelidir.
Z-Push için Redis gerekli mi?
İncelenen resmi yapılandırma dosyası senkronizasyon durumu için FILE ve SQL seçeneklerini tanımlar. Redis’i varsayılan veya zorunlu state deposu olarak kabul etmek doğru değildir. Kullanılan sürümün desteklediği state ve süreçler arası iletişim yöntemleri ayrı kontrol edilmelidir.

Bir sonraki dönüşümü birlikte planlayalım.

Ekibimiz teknik gereksinimlerinizi anlamak ve hızlıca prototip çıkarmak için hazır.