Zimbra Admin Console ile Temel Yönetim

Zimbra yönetimine yeni başlayanların çoğu aynı hatayı yapıyor: her şeyi komut satırından yapmaya çalışıyorlar. Oysa Zimbra Admin Console, doğru kullanıldığında günlük operasyonların büyük çoğunluğunu çok daha hızlı halledebileceğiniz güçlü bir arayüz sunuyor. Ama tabii ki admin console’un sınırlarını bilmek, ne zaman CLI’ye geçmeniz gerektiğini anlamak da en az console kullanmayı bilmek kadar önemli.

Bu yazıda Zimbra Admin Console’u gerçek bir production ortamında nasıl kullandığımı, hangi işlemlerde işe yaradığını ve nerede “bırak bunu, terminale geç” dediğimi paylaşacağım.

Admin Console’a Erişim ve İlk Yapılandırma

Zimbra Admin Console varsayılan olarak 7071 portunda çalışır ve HTTPS üzerinden erişilir. Kurulum sonrası ilk erişimde şunu yapın:

# Zimbra servislerinin çalışıp çalışmadığını kontrol edin
su - zimbra
zmcontrol status

Çıktıda tüm servislerin “Running” görünmesi gerekiyor. Eğer mailboxd veya mta servislerinden biri ayaktaysa ama admin console’a erişemiyorsanız, büyük ihtimalle port 7071’e firewall engeli var demektir.

# Firewall durumunu kontrol edin (RHEL/CentOS tabanlı sistemlerde)
firewall-cmd --list-ports
firewall-cmd --permanent --add-port=7071/tcp
firewall-cmd --reload

Admin console URL’si şu formatta olacak: https://mail.sirketniz.com:7071/zimbraAdmin

İlk girişte browser’ınız sertifika uyarısı verecek, bunu geçin. Production ortamında geçerli bir SSL sertifikası kurduysanız bu uyarıyı görmezsiniz, ama kurulum aşamasında self-signed sertifika ile çalışmak normaldir.

Kullanıcı Yönetimi: Hesap Oluşturma ve Düzenleme

Admin console’un en çok kullandığım bölümü kesinlikle Accounts (Hesaplar) bölümü. Sol menüden Manage > Accounts yolunu izleyerek kullanıcı listesine ulaşıyorsunuz.

Yeni kullanıcı oluştururken dikkat etmeniz gereken birkaç noktat var. “New Account” butonuna tıklayınca açılan wizard sizi adım adım götürüyor, ama bazı ayarları atlıyorsanız sonradan sorun çıkabiliyor.

Özellikle şu alanlara dikkat edin:

  • Account Name: Bu alan kullanıcının e-posta adresi oluyor, sonradan değiştirmek zahmetli
  • Last Name / First Name: Boş bırakmayın, bazı istemcilerde görüntüleme sorunu yaratıyor
  • Password: Minimum uzunluk ve complexity kurallarını önceden belirleyin
  • Account Status: Varsayılan “Active” geliyor, gerekmedikçe değiştirmeyin
  • COS (Class of Service): Kullanıcıya hangi COS’un atanacağını burada seçiyorsunuz

Toplu kullanıcı oluşturmak için admin console yeterli değil, CLI’ye geçmek gerekiyor:

# Toplu kullanıcı oluşturma scripti örneği
su - zimbra
while IFS=, read -r username displayname password; do
  zmprov ca "${username}@sirketniz.com" "${password}" 
    displayName "${displayname}" 
    zimbraPasswordMustChange TRUE
done < kullanicilar.csv

CSV dosyanız kullanici,Ad Soyad,sifre123 formatında olmalı. zimbraPasswordMustChange TRUE parametresi kullanıcının ilk girişte şifresini değiştirmesini zorunlu kılıyor, bunu mutlaka ekleyin.

Class of Service (COS) Yönetimi

COS, Zimbra’nın en güçlü özelliklerinden biri. Kullanıcı gruplarına farklı kota, özellik ve politikalar atamanızı sağlıyor. Küçük bir şirkette bile en az şu COS yapısını oluşturmanızı öneririm:

  • default: Standart kullanıcılar için (örneğin 2GB kota)
  • management: Yöneticiler için (5GB kota, tüm özellikler açık)
  • external: Dışarıdan gelen geçici kullanıcılar için (1GB kota, kısıtlı özellikler)

Admin console’da Configure > Class of Service altından mevcut COS’ları görebilir ve yenilerini oluşturabilirsiniz. COS’un en kritik ayarları:

  • Quota: Posta kutusu boyut limiti
  • Zimlets: Hangi zimlet’lerin aktif olacağı
  • Features: Web istemcisinde hangi özelliklerin görünüp görünmeyeceği
  • Preferences: Varsayılan tercihler

Bir kullanıcının COS’unu CLI’den değiştirmek bazen daha hızlı oluyor:

# Kullanıcının mevcut COS'unu öğrenme
zmprov ga [email protected] zimbraCOSId

# Kullanıcıya yeni COS atama
zmprov ma [email protected] zimbraCOSId "management_cos_id"

COS ID’sini bulmak için:

# Tüm COS listesi ve ID'leri
zmprov gac -v | grep -E "cn:|zimbraId:"

Domain Yönetimi ve Alias Oluşturma

Birden fazla domain yönetiyorsanız admin console bu konuda oldukça kullanışlı. Configure > Domains bölümünden yeni domain ekleyebilir, mevcut domainlerin ayarlarını düzenleyebilirsiniz.

Alias domain eklemek sık karşılaşılan bir senaryo. Diyelim ki sirketniz.com ana domaininiz, ama sirketniz.net adresine gelen mailler de size ulaşsın istiyorsunuz:

# Alias domain ekleme
zmprov cad sirketniz.net sirketniz.com

Bu komuttan sonra [email protected] adresine gelen mailler [email protected] hesabına düşecek.

Kullanıcı bazında alias eklemek de sık yapılan bir işlem. Örneğin bir çalışanınızın hem [email protected] hem de [email protected] adresini kullanmasını istiyorsanız:

# Kullanıcıya alias ekleme
zmprov aaa [email protected] [email protected]

# Alias'ları listeleme
zmprov ga [email protected] zimbraMailAlias

Admin console’dan da yapabilirsiniz: Accounts bölümünde kullanıcıyı açın, Aliases sekmesine gidin, oradan ekleyin. Ama 10’dan fazla işlem yapacaksanız CLI kesinlikle daha hızlı.

Dağıtım Listeleri (Distribution Lists)

Şirketteki departman gruplarını distribution list olarak tanımlamak e-posta yönetimini çok kolaylaştırıyor. Admin console’da Manage > Distribution Lists altından oluşturabilirsiniz.

Dikkat etmeniz gereken önemli bir nokta var: distribution list’in zimbraMailStatus özelliği. Varsayılan olarak “enabled” geliyor, yani dışarıdan da mail gönderilebiliyor. Sadece dahili kullanım içinse bunu kısıtlamanız gerekiyor:

# Sadece dahili göndericilere izin ver
zmprov mdl [email protected] zimbraMailStatus enabled
zmprov mdl [email protected] zimbraDistributionListSubscriptionPolicy REJECT

# Distribution list üyelerini listeleme
zmprov gdlm [email protected]

# Toplu üye ekleme
zmprov adlm [email protected] 
  [email protected] 
  [email protected] 
  [email protected]

Kota Yönetimi ve İzleme

Kota takibi yapmak Zimbra yöneticisinin en rutin işlerinden biri. Admin console’da Home > Search > Accounts kısmında kota kullanımına göre filtreleme yapabilirsiniz, ama benim tercihim CLI ile script yazmak:

# Kota kullanımı yüzde 80'i geçen hesapları listele
zmprov gqu sirketniz.com | awk '{
  if ($3 > 0 && ($2/$3)*100 >= 80)
    printf "%s: %dMB / %dMB (%%%d)n", $1, $2/1024/1024, $3/1024/1024, ($2/$3)*100
}'

Bu scripti cron’a koyup haftalık mail gönderecek şekilde ayarlayabilirsiniz. Kota dolmadan müdahale etmek, kullanıcıdan “maillerim gitmiyor” şikayeti almaktan çok daha az stresli.

Belirli bir kullanıcının kotasını admin console’dan değiştirmek için Accounts bölümünde kullanıcıyı bulun, Preferences sekmesinde Quota alanını güncelleyin. Ya da CLI:

# Kullanıcı kotasını 5GB olarak ayarla (byte cinsinden)
zmprov ma [email protected] zimbraMailQuota 5368709120

Posta Kutusu Bakımı: Mesaj Silme ve Arşivleme

Production ortamında zaman zaman belirli kriterlere uyan mailleri toplu silmek gerekebiliyor. Örneğin tüm kullanıcılara yanlışlıkla gönderilen bir mail, ya da virüslü bir ek içeren mesaj:

# Belirli bir konuya sahip mailleri tüm hesaplarda ara ve sil
# Önce arama yapın, sonra silme işlemini onaylayın
zmprov gaa sirketniz.com | while read account; do
  zmmailbox -z -m "$account" s -l 100 -t message "subject:'Yanlis Mail Konusu'" 2>/dev/null | 
  grep "Id:" | awk '{print $2}' | while read msgid; do
    echo "Siliniyor: $account - $msgid"
    zmmailbox -z -m "$account" dm "$msgid"
  done
done

Bu komutu çalıştırmadan önce küçük bir test hesabında deneyin ve echo ile önce ne silineceğini görün.

Log İzleme ve Sorun Giderme

Admin console’da Monitor > Mail Queues bölümü mail kuyruklarını görsel olarak gösteriyor. Postfix kuyruklarındaki tıkanıklıkları buradan tespit edebilirsiniz. Ama gerçek sorun giderme yine CLI’de:

# Mail loglarını gerçek zamanlı izleme
tail -f /var/log/zimbra.log | grep -E "ERROR|WARN|reject"

# Belirli bir adrese giden/gelen mailleri takip etme
grep "[email protected]" /var/log/zimbra.log | tail -50

# Mail kuyruğundaki mesajları listeleme
su - zimbra -c "postqueue -p"

# Kuyruktaki tüm mesajları yeniden göndermeye zorla
su - zimbra -c "postqueue -f"

Yaygın karşılaşılan bir senaryo: kullanıcı “mail gönderemiyorum” diyor. İlk kontrol noktalarım şunlar:

# Kullanıcı hesap durumu
zmprov ga [email protected] zimbraAccountStatus

# Son başarısız login denemeleri
grep "authentication failed" /var/log/zimbra.log | grep "kullanici" | tail -20

# SMTP auth logları
grep "sasl_username=kullanici" /var/log/zimbra.log | tail -20

SSL Sertifika Yönetimi

Admin console’dan SSL sertifikası yönetimi yapmak mümkün: Configure > Certificates bölümü. Ama ben Let’s Encrypt veya ticari sertifikaları CLI üzerinden kurmayı tercih ediyorum, çünkü admin console bazen sertifika dosyası formatı konusunda takılabiliyor.

# Mevcut sertifika bilgilerini görüntüleme
su - zimbra -c "zmcertmgr viewdeployedcrt"

# Sertifika geçerlilik süresini kontrol etme
echo | openssl s_client -connect mail.sirketniz.com:443 2>/dev/null | 
openssl x509 -noout -dates

Sertifika yenileme işlemini admin console’dan da yapabilirsiniz, Configure > Certificates > Install Certificate yolunu izleyin. Wizard oldukça kullanışlı, ama sertifika dosyalarınızın doğru formatta (PEM) olduğundan emin olun.

Backup ve Restore Temel İşlemleri

Zimbra’nın built-in backup mekanizması Network Edition’da tam özellikli geliyor, Open Source Edition’da ise daha kısıtlı. Admin console’da Home > Backup bölümünden backup durumunu görebilirsiniz.

Tek bir kullanıcının maillerini export etmek için admin console oldukça kullanışlı: Accounts bölümünde kullanıcıyı bulun, sağ tıklayın ve “Export Mailbox” seçeneğini kullanın. Bu TGZ formatında bir yedek oluşturuyor.

CLI üzerinden aynı işlem:

# Posta kutusunu dışa aktarma
zmmailbox -z -m [email protected] getRestURL 
  "//?fmt=tgz" > kullanici_backup.tgz

# Posta kutusunu içe aktarma
zmmailbox -z -m [email protected] postRestURL 
  "//?fmt=tgz&extract=1" kullanici_backup.tgz

Birisi yanlışlıkla klasörünü sildiğinde bu komut hayat kurtarıcı oluyor. Tabii daha önce backup almış olmanız şartıyla.

Admin Console’un Sınırları

Dürüst olmak gerekirse, admin console bazı konularda yetersiz kalıyor. Özellikle:

  • Toplu işlemler için çok yavaş ve zahmetli
  • Gelişmiş filtreleme ve arama özellikleri kısıtlı
  • Bazı Zimbra versiyonlarında (özellikle 8.x ve 9.x arasında) arayüz tutarsızlıkları var
  • LDAP özelliklerini tam olarak yönetmek için mutlaka CLI gerekiyor
  • Global konfigurasyon değişikliklerinin büyük kısmı CLI’den daha güvenilir şekilde yapılıyor

Benim genel kuralım şu: 5’ten az tekrarlanan, görsel doğrulama gerektiren işlemlerde admin console, toplu veya otomatize edilmesi gereken her şeyde CLI.

Sonuç

Zimbra Admin Console, doğru beklentiyle yaklaşıldığında gerçekten işlevsel bir yönetim aracı. Günlük kullanıcı işlemleri, kota takibi, distribution list yönetimi ve servis durumu izleme için yeterince güçlü. Ama ciddi bir Zimbra yöneticisi olmak istiyorsanız zmprov, zmmailbox ve zmcontrol komutlarını refleks haline getirmeniz gerekiyor.

Admin console CLI’nin yerini almıyor, ikisini birbirini tamamlayan araçlar olarak görün. Yeni başlayanlara tavsiyem: önce admin console’da bir işlemi yapın, sonra aynı işlemi CLI’den de yapın ve farkı görün. Bir süre sonra hangi durumlarda hangisini kullanmanız gerektiğini sezgisel olarak hisseder hale geliyorsunuz.

Son bir not: Admin console’a erişim loglarını düzenli takip edin. Kim, ne zaman, nereden bağlandı bilgisi hem güvenlik hem de sorun giderme açısından değerli. Bu loglar /opt/zimbra/log/ altında tutuluyor.

Bir yanıt yazın

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