Zimbra Open Source Ubuntu’ya Kurulum Rehberi
Yıllarca farklı mail sunucularıyla boğuştuktan sonra Zimbra’nın neden hâlâ popüler olduğunu anlıyorum. Özellikle kurumsal ortamlarda, kullanıcıların webmail arayüzünden şikayet etmediği ender sistemlerden biri. Açık kaynak sürümü de küçük ve orta ölçekli yapılar için gayet iş görüyor. Bu yazıda Ubuntu üzerine Zimbra Open Source Edition kurulumunu adım adım anlatacağım; hem temiz bir kurulumun nasıl yapıldığını, hem de sık karşılaşılan sorunları ve bunların çözümlerini paylaşacağım.
Sistem Gereksinimleri ve Hazırlık
Zimbra kaynak dostu bir uygulama değil, bunu baştan söyleyeyim. Üretim ortamı için minimum şunları sağlamalısınız:
- İşletim Sistemi: Ubuntu 20.04 LTS veya Ubuntu 22.04 LTS (64-bit)
- RAM: Minimum 8 GB, tercihen 16 GB
- CPU: Minimum 4 çekirdek
- Disk: /opt altında en az 50 GB boş alan (mail trafiğine göre artırın)
- Hostname: Tam nitelikli alan adı (FQDN) zorunlu
- Statik IP: Kesinlikle gerekli
Test ortamım için Ubuntu 22.04 LTS üzerinde 8 GB RAM ve 4 vCPU ile ilerleyeceğim. Küçük bir şirketin mail sunucusu için bu konfigürasyon rahatlıkla yeterliydi.
DNS Kayıtları
Zimbra kurmadan önce DNS tarafını mutlaka düzenleyin. Eksik ya da hatalı DNS kaydı, kurulumun yarısında sizi bıraktırır.
Aşağıdaki kayıtların hazır olması gerekiyor:
- A kaydı: mail.sirketiniz.com -> Sunucu IP’niz
- MX kaydı: sirketiniz.com -> mail.sirketiniz.com (öncelik: 10)
- PTR kaydı: IP -> mail.sirketiniz.com (reverse DNS, hosting sağlayıcınızdan isteyin)
- SPF kaydı: “v=spf1 mx a ip4:SUNUCU_IP ~all”
DNS propagasyonunu bekleyin. Sabırsızlık burada işinize yaramaz.
Sistem Hazırlığı
Kuruluma geçmeden önce sistemi temizlemek ve gerekli yapılandırmaları yapmak şart. Ben bu adımları atlamanın bedelini bir keresinde ağır ödedim; Postfix çakışması yüzünden kurulum tam ortada çöktü.
sudo apt update && sudo apt upgrade -y
sudo apt remove postfix -y
sudo apt autoremove -y
Hostname Ayarı
Bu adım kritik. Zimbra kurulumu hostname’i yanlış bulursa ya hata verir ya da sonradan epey sorun çıkarır.
sudo hostnamectl set-hostname mail.sirketiniz.com
/etc/hosts dosyasını düzenleyin:
sudo nano /etc/hosts
Dosyaya şu satırı ekleyin (127.0.1.1 satırını silin ya da yorum satırına alın):
SUNUCU_IP_ADRESINIZ mail.sirketiniz.com mail
Doğrulamak için:
hostname -f
Çıktı tam olarak mail.sirketiniz.com olmalı. Kısa hostname veya localhost çıkıyorsa bir şeyleri gözden geçirin.
Güvenlik Duvarı ve Port Ayarları
Zimbra’nın ihtiyaç duyduğu portları açın. UFW kullanıyorsanız:
sudo ufw allow 22/tcp
sudo ufw allow 25/tcp
sudo ufw allow 80/tcp
sudo ufw allow 110/tcp
sudo ufw allow 143/tcp
sudo ufw allow 443/tcp
sudo ufw allow 465/tcp
sudo ufw allow 587/tcp
sudo ufw allow 993/tcp
sudo ufw allow 995/tcp
sudo ufw allow 7071/tcp
sudo ufw enable
Port 7071, Zimbra’nın yönetim paneline erişim için kullanılıyor. Üretim ortamında bunu sadece yönetim IP’lerine açmanızı öneririm; herkese açık bırakmak gereksiz risk.
Gerekli Paketler
sudo apt install -y libgmp10 libexpat1 libstdc++6 libperl5.34
libaio1 libncurses5 libldap-2.5-0 libsasl2-2
libsasl2-modules libsasl2-modules-db wget curl unzip net-tools dnsutils
Ubuntu 22.04’te bazı kütüphane isimleri farklı olabilir; hata alırsanız apt search ile doğru versiyonu bulabilirsiniz.
Zimbra’yı İndirmek ve Kurulum Paketini Hazırlamak
Zimbra’nın resmi indirme sayfasından en güncel sürümü alın. Bu yazıyı yazarken 10.x sürümü aktifti. Aşağıdaki komutları kendi versiyonunuza göre uyarlayın.
cd /tmp
wget https://files.zimbra.com/downloads/10.0.0_GA/zcs-10.0.0_GA.UBUNTU22_64.tgz
tar xzvf zcs-10.0.0_GA.UBUNTU22_64.tgz
cd zcs-10.0.0_GA.UBUNTU22_64
Dosyaları açtıktan sonra kurulum betiğini çalıştırıyoruz. Burada interaktif bir süreç başlıyor; dikkatli okuyun, seçeneklere gelişigüzel Enter basmayın.
sudo ./install.sh
Kurulum Adımları
Kurulum betiği bir dizi soru soruyor. Sıkça karşılaşılan durumları şöyle özetleyeyim:
Lisans anlaşması: Y ile kabul edin.
Paket seçimi: Varsayılan seçimler çoğunlukla doğru. Bir mail sunucusu için şu bileşenler seçili olmalı:
- zimbra-ldap
- zimbra-logger
- zimbra-mta
- zimbra-snmp
- zimbra-store
- zimbra-apache
- zimbra-spell
- zimbra-memcached
- zimbra-proxy
DNS kontrolü: Kurulum script’i MX kaydınızı kontrol eder. DNS henüz propagasyonu tamamlamamışsa uyarı verir ama devam etmenize izin verir. Prod ortamında DNS tamamen hazır olana kadar bekleyin.
Kurulumun büyük kısmı otomatik ilerler. Sonunda konfigürasyon menüsü karşınıza çıkacak.
Admin Şifresini Ayarlamak
Konfigürasyon menüsünde en önemli adım admin şifresini belirlemek. Menüde şöyle bir ekran göreceksiniz:
Address unconfigured (**) items (? - help)
Bu menüden 6 numaralı seçenek olan “zimbra-store” altına girin ve admin şifresini ayarlayın. Şifre en az 6 karakter olmalı; ama tabii ki güçlü bir şifre kullanın.
Tüm ayarları yaptıktan sonra a tuşuyla uygulayın ve kurulumu tamamlayın. Bu aşama 15-30 dakika sürebilir, sisteminizin gücüne bağlı olarak değişir. Kafayı yemeden bekleyin.
Kurulum Sonrası Kontroller
Kurulum tamamlandıktan sonra servislerin düzgün çalışıp çalışmadığını kontrol etmek gerekiyor.
sudo su - zimbra
zmcontrol status
Çıktıda tüm servislerin “Running” durumunda olması bekleniyor:
Host mail.sirketiniz.com
antispam Running
antivirus Running
ldap Running
logger Running
mailbox Running
memcached Running
mta Running
proxy Running
snmp Running
spell Running
stats Running
zmconfigd Running
Eğer bir servis “Stopped” görünüyorsa:
zmcontrol restart
Yeniden başlatmak işe yaramazsa o servisin loglarına bakın:
tail -f /opt/zimbra/log/mailbox.log
tail -f /opt/zimbra/log/zimbra.log
Admin Paneline İlk Giriş
Kurulum tamamlandıktan sonra admin paneline şu adresten ulaşabilirsiniz:
https://mail.sirketiniz.com:7071/zimbraAdmin
Kullanıcı adı: [email protected] Şifre: Kurulum sırasında belirlediğiniz şifre
İlk girişte sertifika uyarısı alacaksınız; bu normal çünkü henüz self-signed sertifika var. Bunu kabul edin ve devam edin. SSL sertifikasını aşağıda anlatacağım.
Webmail arayüzü için:
https://mail.sirketiniz.com
Let’s Encrypt SSL Sertifikası
Self-signed sertifika ile çalışmak hem kullanıcıları ürkütür hem de mail deliverability’yi etkiler. Let’s Encrypt ile ücretsiz sertifika alabilirsiniz.
Önce certbot’u kurun (root kullanıcı olarak):
sudo apt install certbot -y
Zimbra’nın proxy servisini geçici olarak durdurun (80 portu boşalacak):
sudo su - zimbra -c "zmproxyctl stop"
sudo su - zimbra -c "zmmailboxdctl stop"
Sertifikayı alın:
sudo certbot certonly --standalone -d mail.sirketiniz.com
Sertifikayı Zimbra formatına dönüştürüp yükleyin:
sudo cp /etc/letsencrypt/live/mail.sirketiniz.com/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key
sudo chown zimbra:zimbra /opt/zimbra/ssl/zimbra/commercial/commercial.key
sudo su - zimbra
Şimdi sertifikayı doğrulayın ve dağıtın:
/opt/zimbra/bin/zmcertmgr deploycrt comm /etc/letsencrypt/live/mail.sirketiniz.com/cert.pem /etc/letsencrypt/live/mail.sirketiniz.com/chain.pem
Tüm servisleri yeniden başlatın:
zmcontrol restart
Sertifika Yenileme Otomasyonu
Let’s Encrypt sertifikaları 90 günde bir yenilenmesi gerekiyor. Bunu otomatikleştirmek için bir cron job veya systemd timer hazırlayın. Root kullanıcısı için crontab’a şunu ekleyebilirsiniz:
0 3 * * * certbot renew --quiet --pre-hook "su - zimbra -c 'zmproxyctl stop; zmmailboxdctl stop'" --post-hook "su - zimbra -c 'zmcontrol start'"
Bunu her gün gece 3’te çalıştırmak, 90 günlük limiti rahatlıkla karşılar.
Kullanıcı ve Domain Yönetimi
Admin panelinden grafik arayüzle kullanıcı ekleyebilirsiniz ama komut satırını tercih edenlere:
sudo su - zimbra
# Yeni kullanıcı oluşturma
zmprov ca [email protected] SifreBelirleyin displayName "Ad Soyad"
# Kullanıcı listesi
zmprov gaa
# Kullanıcı bilgisi görüntüleme
zmprov ga [email protected]
# Kullanıcı şifre değiştirme
zmprov sp [email protected] YeniSifre
Toplu kullanıcı eklemek için bir bash scripti hazırlamak mantıklı. CSV’den okuyup kullanıcı oluşturan basit bir script hayat kurtarıyor:
#!/bin/bash
# kullanici_ekle.sh
# CSV format: [email protected],sifre,Ad Soyad
while IFS=',' read -r email sifre isim; do
echo "Ekleniyor: $email"
/opt/zimbra/bin/zmprov ca "$email" "$sifre" displayName "$isim"
if [ $? -eq 0 ]; then
echo "$email basariyla eklendi."
else
echo "HATA: $email eklenemedi!"
fi
done < kullanicilar.csv
Spam ve Antivirus Ayarları
Zimbra, SpamAssassin ve ClamAV entegrasyonu ile geliyor. Varsayılan ayarlar çoğu senaryo için yeterli, ama bazı ince ayarlar yapılabilir.
sudo su - zimbra
# Spam skoru ayarı (varsayılan 6.6)
zmprov mcf zimbraSpamIsSpamScore 6.6
zmprov mcf zimbraSpamKillScore 10.0
# Antivirus güncellemesi
freshclam
# MTA ayarlarını görüntüleme
postconf | grep spam
Spam filtresini sıkılaştırmak istiyorsanız skoru düşürün, gevşetmek istiyorsanız yükseltin. Çok sıkı ayar, meşru maillerin spam kutusuna düşmesine yol açar; dengeyi iyi kurun.
Sistem İzleme ve Log Yönetimi
Zimbra’nın kendi izleme araçları var ama bunlar genellikle yetmez. Aşağıdaki log dosyalarını düzenli takip etmenizi öneririm:
- /opt/zimbra/log/mailbox.log: Mailbox servisi logları
- /opt/zimbra/log/audit.log: Giriş denemeleri ve güvenlik olayları
- /opt/zimbra/log/zimbra.log: Genel sistem logları
- /var/log/zimbra.log: MTA ve delivery logları
Disk kullanımını takip etmek için:
sudo su - zimbra
zmdisklog -v
Sistemi Zabbix veya Prometheus ile izliyorsanız Zimbra için hazır şablonlar mevcut; bunları kullanmak detaylı metrik toplamayı kolaylaştırır.
Yedekleme Stratejisi
Zimbra’nın kendi yedekleme aracı mevcut:
sudo su - zimbra
# Tam yedek alma
zmbackup -f -a all
# Artımlı yedek
zmbackup -i
# Yedek durumu kontrol
zmbackupquery
Ben üretim ortamlarında Zimbra’nın kendi yedeğinin yanı sıra harici bir çözüm daha kullanmayı tercih ederim. /opt/zimbra/backup dizinini düzenli olarak uzak bir sunucuya rsync ile kopyalamak basit ama etkili bir yöntem:
rsync -avz --delete /opt/zimbra/backup/ yedek-sunucu:/yedekler/zimbra/
Bu işlemi crontab’a ekleyin ve her gece çalıştırın. Yedek almak kadar yedekten geri dönmeyi de test etmeyi unutmayın; bunu yapmayan sysadminlerin acı hikayelerini hepimiz duymuşuzdur.
Sık Karşılaşılan Sorunlar
Servisler başlamıyor: Genellikle hostname tutarsızlığından kaynaklanıyor. hostname -f çıktısını kontrol edin.
Mail gönderilemiyor: PTR kaydı yoksa büyük mail sağlayıcıları (Gmail, Hotmail) maillerinizi reddeder. Hosting sağlayıcınızdan PTR kaydı tanımlamasını isteyin.
Disk dolduğunda sistem kitlendi: Zimbra disk dolunca servisler çöküyor. Syslog’u /var altında tutan sunucularda bazen log dosyaları şişiyor. /opt/zimbra/log altındaki eski logları temizlemek için:
sudo find /opt/zimbra/log -name "*.log.*" -mtime +30 -delete
LDAP başlamıyor: /opt/zimbra/data/ldap altındaki lock dosyası kalabilir. Dikkatli bir şekilde kaldırın:
sudo su - zimbra
ldap stop
find /opt/zimbra/data/ldap -name "*.lock" -delete
ldap start
Webmail yavaş: memcached ve mailbox servislerinin aldığı RAM miktarını artırabilirsiniz. Admin panelinden “Global Settings > Advanced” altında ayarlanabilir.
Performans İyileştirmeleri
Zimbra için JVM heap size ayarı önemli. Özellikle çok kullanıcılı ortamlarda varsayılan değerler yetersiz kalabiliyor:
sudo su - zimbra
zmlocalconfig -e mailboxd_java_heap_size=2048
zmcontrol restart
Bu değeri sunucunuzun toplam RAM’inin yaklaşık %40-50’si olarak ayarlayın; 8 GB RAM’de 3-4 GB makul bir değer.
Sonuç
Zimbra kurulumu ilk bakışta karmaşık görünebilir, ama adımları sırayla takip ederseniz birkaç saat içinde çalışan bir mail sunucusuna sahip olabilirsiniz. Açık kaynak sürüm ticari lisans gerektirmeden güçlü özellikler sunuyor; küçük ve orta büyüklükteki organizasyonlar için Exchange’e iyi bir alternatif.
Kurulumdan sonra en kritik konular şunlar: DNS kayıtlarınızın eksiksiz olması, SSL sertifikanızın güncel kalması, düzenli yedek almanız ve disk doluluk oranını takip etmeniz. Bu dört konuyu halledirseniz Zimbra sizi genellikle rahat bırakır.
Sorularınızı yorumlara bırakabilirsiniz; özellikle Ubuntu 22.04 üzerinde yaşanan sürüm uyumsuzluklarını birlikte çözelim.
