Zimbra’da İlk Domain ve Yönetici Hesabı Oluşturma

Zimbra kurulumu tamamlandı, servisler ayağa kalktı ve artık önünüzde boş bir sistem var. Peki şimdi ne yapacaksınız? İlk domain’i oluşturmak ve yönetici hesabını doğru yapılandırmak, sonraki tüm adımların temelini oluşturduğu için bu aşamada yapılan hatalar ileride ciddi baş ağrısına dönüşebiliyor. Bu yazıda hem CLI hem de web arayüzü üzerinden bu süreci adım adım anlatacağım; ayrıca “neden böyle yapıyoruz” sorularını da atlamamaya çalışacağım.

Başlamadan Önce: Ortamı Kontrol Edin

Zimbra servislerinin düzgün çalışıp çalışmadığını doğrulamadan domain ve hesap oluşturmaya geçmek, sağlam olmayan bir temele duvar örmek gibi. İlk iş olarak zimbra kullanıcısına geçin ve servislerin durumunu kontrol edin:

su - zimbra
zmcontrol status

Çıktıda tüm servislerin Running görünmesi gerekiyor. Eğer antispam, antivirus veya mta gibi kritik bir servis Stopped durumdaysa önce onu düzeltin. Ben genellikle şu komutu da arka arkaya çalıştırırım:

zmcontrol stop
zmcontrol start
zmcontrol status

Temiz bir başlangıç için küçük ama etkili bir alışkanlık bu. Özellikle kurulum sonrası ilk boot’ta bazı servisler bazen tam olarak kalkmıyor.

DNS tarafını da atlamamak gerekiyor. Domain’iniz için A kaydı, MX kaydı ve PTR kaydının doğru yapılandırılmış olması lazım. Zimbra’yı ayağa kaldırmadan önce bunları yapmış olmanız gerekiyor ama yine de kontrol etmek zarar vermez:

host -t MX mail.sirketniz.com
host -t A mail.sirketniz.com
dig +short MX sirketniz.com

Bu kontrolleri sıklıkla atlandığını görüyorum. Sonra “mail gitmiyor” diye saatler harcanıyor ama sorun Zimbra’da değil, DNS’te oluyor.

İlk Domain’i Oluşturma

Zimbra’da her şey domain bazında organize ediliyor. Kullanıcılar, dağıtım listeleri, kaynaklar hepsi bir domain’e ait. Bu yüzden ilk adım domain oluşturmak.

CLI Üzerinden Domain Oluşturma

zmprov aracı Zimbra yönetiminin kalbi sayılır. Neredeyse her şeyi bu araçla yapabilirsiniz. Domain oluşturmak için:

zmprov cd sirketniz.com zimbraAuthMech zimbra

Burada cd “create domain” anlamına geliyor. zimbraAuthMech zimbra parametresi ise kullanıcı doğrulamasının Zimbra’nın kendi mekanizmasıyla yapılacağını söylüyor. LDAP veya Active Directory entegrasyonu planlamıyorsanız bu değer doğru seçim.

Domain’in başarıyla oluşturulduğunu doğrulamak için:

zmprov gd sirketniz.com

gd “get domain” anlamında. Bu komut domain’in tüm özelliklerini listeler. Çıktı uzun olabiliyor ama önemli olan zimbraId satırını görmeniz, bu domain’in artık sistemde var olduğunu gösteriyor.

Eğer birden fazla domain oluşturuyorsanız hepsini listelemek için:

zmprov gad

“get all domains” kısaltması bu. Çıktı sadece domain isimlerini verir, sade ve hızlı.

Domain Özelliklerini Yapılandırma

Domain oluşturduktan sonra bazı temel özellikleri ayarlamak gerekiyor. Özellikle posta kutusu kotası, maksimum mesaj boyutu ve domain durumu gibi ayarlar üretim ortamında mutlaka yapılandırılmalı.

# Varsayılan posta kutusu kotasını 5GB olarak ayarla (byte cinsinden)
zmprov md sirketniz.com zimbraMailQuota 5368709120

# Maksimum mesaj boyutunu 25MB olarak ayarla
zmprov md sirketniz.com zimbraMailContentMaxSize 26214400

# Domain açıklaması ekle
zmprov md sirketniz.com description "Şirket Ana Domain"

md burada “modify domain” anlamında. Bu üç ayarı baştan yapmak, sonradan “neden kota aşıldı” veya “neden büyük ekler gitmiyor” sorularının önüne geçiyor.

Kota değerini byte cinsinden girmeniz gerekiyor. 5GB için hesap şu: 5 x 1024 x 1024 x 1024 = 5368709120. Bu dönüşümü sürekli yaparken Python’u kısa yol olarak kullanıyorum:

python3 -c "print(5 * 1024 * 1024 * 1024)"

Küçük bir detay ama pratikte işe yarıyor.

Yönetici Hesabı Oluşturma

Domain hazır, şimdi sıra yönetici hesaplarına geliyor. Burada önemli bir ayrım var: global yönetici ve domain yöneticisi farklı şeyler. Global yönetici tüm sistemi yönetebilirken, domain yöneticisi sadece kendi domain’i üzerinde yetki sahibi.

Global Yönetici Oluşturma

Kurulum sırasında bir admin hesabı oluşturulmuş olsa da, üretim ortamında kişisel yönetici hesapları kullanmak iyi bir pratik. Ortak bir “admin” hesabı yerine her yöneticinin kendine ait hesabı olması, audit log takibini çok kolaylaştırıyor.

zmprov ca [email protected] GuvenliSifre123! 
  displayName "Ahmet Yılmaz" 
  givenName "Ahmet" 
  sn "Yılmaz" 
  zimbraIsAdminAccount TRUE

ca “create account” demek. zimbraIsAdminAccount TRUE parametresi bu hesaba global admin yetkisi veriyor.

Hesabın oluşturulduğunu ve admin yetkisini doğrulayalım:

zmprov ga [email protected] | grep zimbraIsAdminAccount

Çıktıda zimbraIsAdminAccount: TRUE görünüyorsa her şey yolunda.

Domain Yöneticisi Oluşturma

Büyük yapılarda tüm domain yönetimini global admin’e bırakmak tercih edilmiyor. Her domain için kendi yöneticisini atamak daha güvenli ve yönetilebilir bir yaklaşım:

zmprov ca [email protected] DomainSifre456! 
  displayName "Domain Yöneticisi" 
  givenName "Domain" 
  sn "Admin" 
  zimbraIsDomainAdminAccount TRUE

zimbraIsDomainAdminAccount TRUE ile global yönetici yerine domain yöneticisi oluşturmuş oluyoruz. Bu hesap sadece sirketniz.com domain’ini yönetebilecek, diğer domain’lere veya sistem ayarlarına dokunamayacak.

Şimdi bu yönetici hesabını ilgili domain’e bağlayalım:

zmprov md sirketniz.com zimbraDomainAdminModifyACL "[email protected] usr +domainAdminConsoleRights"

Bu adımı atlayan çok oluyor. Domain yöneticisi hesabı oluşturulmuş ama domain ile ilişkilendirilmemiş oluyor, sonra yönetici login olabiliyor ama hiçbir şeyi göremiyorum diye geri dönüyor.

Admin Konsolu Üzerinden İşlemler

CLI her zaman tercihim olsa da, görsel olarak da görmek isteyenler için Admin Konsol’dan nasıl yapıldığını anlatalım. Tarayıcınızdan https://mail.sirketniz.com:7071 adresine gidin.

Web Arayüzünden Domain Oluşturma

Admin konsoluna global admin hesabınızla giriş yaptıktan sonra:

  • Sol menüden Home > Configure > Domains yolunu izleyin
  • Sağ üst köşedeki New butonuna tıklayın
  • Domain adını girin: sirketniz.com
  • Finish ile tamamlayın

Domain wizard’ı sizi birkaç adımdan geçirecek. MX kayıtları, kimlik doğrulama yöntemi gibi ayarları burada da yapabilirsiniz ama benim önerim temel domain’i CLI’dan oluşturup detay ayarları için arayüzü kullanmak. Nedeni basit: CLI ile yaptıklarınız script’e dönüşüyor, tekrarlanabilir hale geliyor.

Web Arayüzünden Hesap Oluşturma

Home > Manage > Accounts bölümüne gidin, New butonuna tıklayın. Açılan form’da:

  • Name alanına e-posta adresini girin
  • Last Name ve First Name alanlarını doldurun
  • Password bölümünde şifreyi belirleyin
  • Admin sekmesine geçerek zimbraIsAdminAccount veya zimbraIsDomainAdminAccount seçeneğini işaretleyin

Arayüz burada biraz kafa karıştırıcı olabiliyor. “Admin” sekmesinde iki ayrı checkbox var: biri global admin, diğeri domain admin için. İkisini birden seçmeyin, yetki çakışması sorunlara yol açabiliyor.

Şifre Politikaları ve Güvenlik Ayarları

Hesapları oluşturdunuz ama iş bitmedi. Şifre politikalarını da yapılandırmak gerekiyor. Özellikle yönetici hesapları için güçlü şifre politikaları hayat kurtarıyor.

# Domain genelinde şifre politikası
zmprov md sirketniz.com 
  zimbraPasswordMinLength 10 
  zimbraPasswordMaxLength 64 
  zimbraPasswordMinUpperCaseChars 1 
  zimbraPasswordMinLowerCaseChars 1 
  zimbraPasswordMinNumericChars 1 
  zimbraPasswordMinSpecialChars 1 
  zimbraPasswordEnforceHistory 5 
  zimbraPasswordMaxAge 90

Bu ayarların ne anlama geldiğini açıklayayım:

  • zimbraPasswordMinLength: Minimum şifre uzunluğu, burada 10 karakter
  • zimbraPasswordMaxLength: Maximum şifre uzunluğu
  • zimbraPasswordMinUpperCaseChars: En az 1 büyük harf zorunluluğu
  • zimbraPasswordMinLowerCaseChars: En az 1 küçük harf zorunluluğu
  • zimbraPasswordMinNumericChars: En az 1 rakam zorunluluğu
  • zimbraPasswordMinSpecialChars: En az 1 özel karakter zorunluluğu
  • zimbraPasswordEnforceHistory: Son 5 şifre tekrar kullanılamaz
  • zimbraPasswordMaxAge: Şifre 90 günde bir değiştirilmeli (gün cinsinden)

Yönetici hesapları için daha katı politika uygulamak istiyorsanız bunu hesap bazında da yapabilirsiniz:

zmprov ma [email protected] 
  zimbraPasswordMinLength 16 
  zimbraPasswordMaxAge 60

ma “modify account” anlamında. Hesap bazındaki ayarlar domain ayarlarını eziyor, yani bir hesap için özel politika tanımladığınızda o hesap domain politikasından değil kendi politikasından etkileniyor.

İlk Login Testi ve Doğrulama

Her şeyi yapılandırdıktan sonra test etmek şart. Hem admin konsoluna hem de webmail’e giriş deneyin.

Admin konsolu testi için:

# Hesabın var olduğunu ve özelliklerini doğrula
zmprov ga [email protected] | grep -E "zimbraIs|zimbraMailHost|zimbraId"

Bu komut size hesabın hangi sunucuda olduğunu, ID’sini ve yönetici yetkilerini gösteriyor.

Webmail’e giriş testi için tarayıcıdan https://mail.sirketniz.com adresine gidin ve yeni oluşturduğunuz hesap bilgileriyle giriş yapın. İlk girişte Zimbra genellikle şifre değişikliği istiyor, bu normal.

Eğer giriş başarısız oluyorsa log’lara bakın:

tail -f /opt/zimbra/log/mailbox.log | grep "authentication failed"

Çoğunlukla sorun yanlış şifre veya hesabın henüz aktif olmaması. Nadiren de olsa Kerberos veya LDAP yapılandırmasıyla çakışma olabiliyor.

Birden Fazla Domain Yönetimi

Gerçek dünya senaryolarında tek domain’le çalışmak pek yaygın değil. Grup şirketleri, farklı markalar veya test/production ayrımı için genellikle birden fazla domain olur.

İkinci domain eklemek için süreç aynı:

zmprov cd digerşirket.com zimbraAuthMech zimbra
zmprov md digerşirket.com zimbraMailQuota 3221225472

Ama şunu söylemek lazım: her domain için ayrı yönetici oluşturduğunuzda bunları takip etmek zorlaşıyor. Ben bu durumlar için küçük bir kontrol scripti kullanıyorum:

#!/bin/bash
# Tüm domain'lerin ve admin hesaplarının özet raporu

echo "=== Domain Listesi ==="
zmprov gad

echo ""
echo "=== Admin Hesapları ==="
zmprov -l gaa | grep "@"

echo ""
echo "=== Domain Admin Hesapları ==="
zmprov -l gada | grep "@"

Bu script’i /opt/zimbra/scripts/admin_report.sh olarak kaydedip haftada bir çalıştırmak, kimin neye erişimi olduğunu takip etmenizi kolaylaştırıyor. gaa “get all admins”, gada ise “get all domain admins” anlamında.

Yaygın Sorunlar ve Çözümleri

Yıllar içinde bu süreçte tekrar tekrar karşılaştığım sorunları paylaşmak istiyorum.

Sorun 1: Domain oluşturduktan sonra mail kabul edilmiyor

MTA yapılandırmasının yeni domain’i tanıması için genellikle postfix yeniden başlatılması gerekmiyor ama zaman zaman:

zmmtactl restart

komutu işe yarıyor. Zimbra postfix’i sarmaladığı için direkt systemctl restart postfix yerine her zaman Zimbra’nın kendi araçlarını kullanın.

Sorun 2: Admin hesabı oluştu ama konsoluna erişemiyor

zmprov ga [email protected] zimbraIsAdminAccount

Bu komutun çıktısında TRUE görünmüyorsa hesap admin değil demek. zmprov ma ile düzeltin:

zmprov ma [email protected] zimbraIsAdminAccount TRUE

Sorun 3: Domain admin tüm hesapları göremez

Bu ACL sorunu. Domain admin’in hesapları listeyebilmesi için:

zmprov ma [email protected] zimbraAdminConsoleUIComponents accountListView

Bu ayar olmadan domain admin login olabiliyor ama hesap listesi boş görünüyor. Zimbra dokümantasyonunda bu detay biraz gömülü kaldığı için sıklıkla atlanıyor.

Backup Alma Alışkanlığı: İlk Adımdan İtibaren

Domain ve yönetici hesaplarını oluşturduktan hemen sonra yapılandırmanın yedeğini almak iyi bir alışkanlık. Zimbra’da hesap düzeyinde yedek şöyle alınır:

zmprov ga [email protected] > /root/zimbra_admin_backup_$(date +%Y%m%d).txt
zmprov gd sirketniz.com > /root/zimbra_domain_backup_$(date +%Y%m%d).txt

Bu komutlar hesap ve domain özelliklerinin metin çıktısını alıyor. Tam yedek değil ama bir şeyler ters gittiğinde hangi ayarların yapıldığını görmenizi sağlıyor.

Bir projenin ilk kurulumunda bu adımı atlamıştım. Birkaç hafta sonra yapılandırmada bir şeyler bozuldu ve neyi nasıl ayarladığımı hatırlamakta güçlük çektim. O günden sonra her önemli değişiklik sonrası bu özet yedekleri almak rutinim haline geldi.

Sonuç

Zimbra’da ilk domain ve yönetici hesabını oluşturmak teknik olarak karmaşık değil ama dikkat gerektiren detaylar var. Özetleyecek olursam:

  • Servisleri ve DNS’i doğrulamadan domain oluşturmaya geçmeyin
  • Global admin ile domain admin arasındaki farkı iyi anlayın ve buna göre hesapları yapılandırın
  • Şifre politikalarını baştan ayarlayın, sonradan uygulamak mevcut hesaplara yansımıyor
  • Her değişiklikten sonra test edin ve kısa da olsa not alın
  • zmprov aracını tanıyın; arayüzden her şey yapılabiliyor ama CLI çok daha hızlı ve script’lenebilir

CLI üzerinden yapılan işlemleri script haline getirmek, özellikle benzer yapılandırmaları tekrar etmek durumunda kalındığında büyük zaman kazandırıyor. Birden fazla domain kuracaksanız veya periyodik yeni domain ekliyorsanız bu adımları bir bash script’ine dökmek için birkaç saat harcamanız, uzun vadede çok daha fazla zamanı size geri veriyor.

Bir sonraki yazıda Zimbra’da kullanıcı hesaplarını toplu oluşturma ve LDAP entegrasyonu konularına gireceğim. Bu yazıda anlattıklarını kavramış olmanız o konuyu çok daha kolay hale getirecek.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir