10 زیمبرا (Zimbra Collaboration) یک سرور ایمیل و همکاری متنباز است که میلسرور، وبمیل، تقویم، دفترچهی مخاطبین، فهرستهای توزیع و اشتراک فایل را یکجا در اختیار شما میگذارد. در این آموزش، نصب زیمبرا روی اوبونتو 20.04 را قدم به قدم انجام میدهیم: از تنظیم hostname و DNS محلی تا اجرای نصبکننده، تعیین رمز مدیر و ورود به پنل مدیریت.
نسخهای که نصب میکنیم Zimbra 8.8.15 (نسخهی متنباز) است. پیش از شروع این را بدانید: پشتیبانی رسمی و وصلههای امنیتی این نسخه از ۳۱ دسامبر ۲۰۲۳ متوقف شده و پشتیبانی استاندارد Ubuntu 20.04 هم در مه ۲۰۲۵ به پایان رسیده است. این ترکیب برای محیط آزمایشی، یادگیری یا نگهداری سرورهای موجود مناسب است. برای یک میلسرور جدید در محیط عملیاتی، نسخهای را انتخاب کنید که هنوز بهروزرسانی امنیتی میگیرد؛ برای مثال Carbonio که بر پایهی Zimbra ساخته شده است.

پیشنیازهای نصب زیمبرا
پیش از نصب، این موارد را آماده کنید:
- یک سرور مجازی لینوکس یا سرور اختصاصی با Ubuntu 20.04 تازه نصبشده که سرویس دیگری مثل وبسرور یا میلسرور روی آن اجرا نمیشود.
- دستکم ۸ گیگابایت رم. مستندات Zimbra همین مقدار را حداقل نصب تکسروری اعلام کرده است.
- پردازندهی ۶۴ بیتی و حداقل ۱۰ گیگابایت فضای خالی برای نرمافزار و لاگها. فضای صندوقهای ایمیل را جداگانه حساب کنید.
- یک آدرس IP ثابت و دسترسی root.
- یک دامنه و یک نام کامل (FQDN) برای سرور، مثل
mail.your_domain_name. - اگر سرور قرار است با اینترنت ایمیل رد و بدل کند: رکورد A برای نام سرور و رکورد MX برای دامنه که در سرویس DNS دامنه ثبت شده باشند، رکورد PTR که ارائهدهندهی سرور برای IP تنظیم میکند، و پورت 25 خروجی باز.
در ادامه از این مقادیر نمونه استفاده میکنیم و شما باید مقادیر خودتان را جایگزین کنید: IP سرور 192.168.72.167، دامنه your_domain_name و نام کامل سرور mail.your_domain_name. همهی دستورها با کاربر root اجرا میشوند. اگر با کاربر عادی وارد شدهاید، اول دستور sudo -i را بزنید.
مرحله ۱: بهروزرسانی پکیجهای سیستم
فهرست پکیجها را بهروز کنید و پکیجهای نصبشده را ارتقا دهید:
apt update apt upgrade
اگر در این مرحله کرنل هم بهروز شد، یک بار سرور را reboot کنید.
مرحله ۲: تنظیم hostname و فایل hosts
Zimbra به یک hostname کامل نیاز دارد که به IP واقعی سرور اشاره کند. نام سرور را روی FQDN تنظیم کنید:
hostnamectl set-hostname mail.your_domain_name
سپس فایل hosts را باز کنید:
vi /etc/hosts
محتوای فایل را به این شکل تغییر دهید:
127.0.0.1 localhost 192.168.72.167 mail.your_domain_name mail # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
خط 127.0.1.1 ubuntu را که اوبونتو بهطور پیشفرض میسازد حذف کنید. Zimbra انتظار دارد FQDN سرور به IP واقعی آن resolve شود و اگر این نام روی آدرس loopback بماند، سرویسها روی آدرس اشتباه تنظیم میشوند.
برای ذخیره و خروج از vi، کلید Esc را بزنید، :wq را تایپ کنید و Enter بزنید. بعد نتیجه را بررسی کنید:
hostname -f
خروجی باید mail.your_domain_name باشد.
روی بعضی سرورهای مجازی، cloud-init فایل hosts را بعد از هر reboot از نو میسازد. اگر بالای فایل پیامی دربارهی manage_etc_hosts میبینید، همین تغییرات را در فایل الگوی /etc/cloud/templates/hosts.debian.tmpl هم اعمال کنید تا بعد از راهاندازی مجدد پاک نشوند.
مرحله ۳: راهاندازی DNS محلی با dnsmasq
نصبکنندهی Zimbra بررسی میکند که دامنه رکورد MX داشته باشد و نام سرور به IP آن برسد. در محیط آزمایشی یا شبکهی داخلی که DNS عمومی ندارید، dnsmasq این رکوردها را روی خود سرور جواب میدهد.
اگر دامنهی شما از قبل رکوردهای A و MX عمومی دارد که به همین سرور اشاره میکنند، میتوانید این مرحله را رد کنید. در آن صورت در مرحلهی نصب، بستهی zimbra-dnscache را هم نصب کنید.

غیرفعال کردن systemd-resolved
سرویس systemd-resolved روی پورت 53 گوش میدهد و dnsmasq هم به همین پورت نیاز دارد. پس اول آن را غیرفعال و متوقف کنید:
systemctl disable systemd-resolved systemctl stop systemd-resolved
فایل /etc/resolv.conf در اوبونتو یک symlink به systemd-resolved است. آن را پاک کنید و یک فایل موقت با DNS عمومی بسازید تا apt بتواند پکیجها را دانلود کند:
rm /etc/resolv.conf sh -c 'echo nameserver 8.8.8.8 >> /etc/resolv.conf'
نصب و پیکربندی dnsmasq
apt install dnsmasq
بعد از نصب، فایل تنظیمات را باز کنید:
vi /etc/dnsmasq.conf
این خطوط را به انتهای فایل اضافه کنید و فایل را ذخیره کنید:
no-resolv server=8.8.8.8 server=1.1.1.1 domain=your_domain_name mx-host=your_domain_name,mail.your_domain_name,5 listen-address=127.0.0.1
کار هر خط:
no-resolv: dnsmasq سرورهای بالادستی را از resolv.conf نمیخواند و فقط خطوط server را در نظر میگیرد.server: DNS بالادستی برای بقیهی دامنهها. اگر 8.8.8.8 از سرورتان در دسترس نیست، DNS دیتاسنتر خودتان را بنویسید. این مقدار نباید IP خود سرور باشد، چون dnsmasq درخواستها را به خودش برمیگرداند.domain: دامنهی محلی سرور را مشخص میکند.mx-host: برای دامنه یک رکورد MX با اولویت 5 میسازد که بهmail.your_domain_nameاشاره میکند.listen-address: dnsmasq فقط به درخواستهای خود سرور جواب میدهد.
لازم نیست رکورد A را برای mail.your_domain_name جداگانه تعریف کنید. dnsmasq بهطور پیشفرض فایل /etc/hosts را میخواند و همان خطی را که در مرحلهی ۲ نوشتید برمیگرداند.
حالا dnsmasq را ریاستارت کنید و resolv.conf را طوری تغییر دهید که خود سرور از dnsmasq استفاده کند:
systemctl restart dnsmasq echo "nameserver 127.0.0.1" > /etc/resolv.conf
رکوردها را تست کنید. اگر دستور dig روی سرور نیست، اول apt install dnsutils را اجرا کنید.
dig MX your_domain_name +short dig A mail.your_domain_name +short
خروجی باید این شکلی باشد:
5 mail.your_domain_name. 192.168.72.167
تا وقتی این دو جواب درست برنگشتهاند سراغ نصب نروید، چون نصبکننده در همین نقطه خطا میدهد.
مرحله ۴: دانلود و اجرای نصبکنندهی Zimbra
فایل نصب Zimbra 8.8.15 مخصوص Ubuntu 20.04 را دانلود کنید. حجم آن حدود ۲۴۷ مگابایت است و گزینهی -c اگر دانلود قطع شد، آن را از همانجا ادامه میدهد:
wget -c https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_4179.UBUNTU20_64.20211118033954.tgz
فایل را از حالت فشرده خارج کنید، وارد پوشهی آن شوید و نصبکننده را اجرا کنید:
tar -xvzf zcs-8.8.15_GA_4179.UBUNTU20_64.20211118033954.tgz cd zcs-8.8.15_GA_4179.UBUNTU20_64.20211118033954 ./install.sh
انتخاب بستهها
نصبکننده چند سوال میپرسد. به این شکل جواب دهید:
- برای پذیرفتن توافقنامهی لایسنس،
yرا بزنید. - برای سوال
Use Zimbra's package repositoryهمyرا بزنید تا بستهها از مخزن رسمی Zimbra نصب شوند. - در فهرست بستهها برای همه
yرا بزنید، غیر ازzimbra-dnscacheکه جوابشnاست. این بسته هم روی پورت 53 کار میکند و با dnsmasq تداخل دارد. بستهیzimbra-imapdنسخهی آزمایشی است و پیشفرضشNاست؛ همان را نگه دارید. - وقتی نصبکننده اعلام کرد سیستم تغییر خواهد کرد، با
yادامه دهید.
اصلاح نام دامنه در خطای MX
نصبکننده بهطور پیشفرض hostname سرور را نام دامنه فرض میکند و برای mail.your_domain_name دنبال رکورد MX میگردد. چون MX را برای خود دامنه ساختهایم، این پیام را میبینید:
DNS ERROR resolving MX for mail.your_domain_name It is suggested that the domain name have an MX record configured in DNS Change domain name? [Yes] Yes Create domain: [mail.your_domain_name] your_domain_name
به سوال تغییر نام دامنه Yes بدهید و جلوی Create domain نام دامنهی اصلی را بدون mail وارد کنید. حساب مدیر هم با همین دامنه ساخته میشود: admin@your_domain_name.
تعیین رمز مدیر و اعمال تنظیمات
بعد از نصب بستهها، منوی اصلی پیکربندی باز میشود. مواردی که هنوز تنظیم نشدهاند با ستاره مشخص شدهاند و معمولاً فقط رمز مدیر در بخش zimbra-store باقی مانده است.
- عددی را که کنار
zimbra-storeنوشته شده وارد کنید. در مقالهی اصلی این عدد 7 است، اما چون zimbra-dnscache را نصب نکردهایم ممکن است یکی کمتر باشد؛ عدد را از روی منو بخوانید. - عدد
4را برایAdmin Passwordبزنید و رمز را وارد کنید. حداقل طول رمز ۶ کاراکتر است، ولی یک رمز طولانی و قوی انتخاب کنید. - با
rبه منوی اصلی برگردید. - کلید
aرا بزنید تا تنظیمات اعمال شود. سوال ذخیرهی تنظیمات در فایل را با Enter تایید کنید و وقتی پرسید سیستم تغییر میکند،yesرا بزنید. - پیکربندی چند دقیقه طول میکشد. در پایان پیام
Configuration completeرا میبینید؛ Enter بزنید تا از نصبکننده خارج شوید.
مرحله ۵: بررسی وضعیت سرویسهای Zimbra
سرویسهای Zimbra را با ابزار zmcontrol و از طریق کاربر zimbra مدیریت کنید. وضعیت همهی سرویسها را اینطور ببینید:
su - zimbra -c "zmcontrol status"
همهی سرویسها باید در وضعیت Running باشند. برای روشن کردن یا ریاستارت همهی سرویسها از این دستورها استفاده کنید:
su - zimbra -c "zmcontrol start" su - zimbra -c "zmcontrol restart"
مرحله ۶: باز کردن پورتها در فایروال
اگر فایروال UFW روی سرور فعال است، پورتهای ایمیل و وبمیل را باز کنید. پورت 7071 مربوط به پنل مدیریت است و بهتر است فقط برای IP خودتان باز باشد:
ufw allow OpenSSH ufw allow 25,80,110,143,443,465,587,993,995/tcp ufw allow from YOUR_ADMIN_IP to any port 7071 proto tcp
پورت 25 برای تبادل ایمیل بین سرورهاست، 465 و 587 برای ارسال از برنامههای ایمیل، 143 و 993 برای IMAP، 110 و 995 برای POP3 و 80 و 443 برای وبمیل.
ورود به پنل مدیریت و وبمیل Zimbra
پنل مدیریت را در مرورگر باز کنید:
https://mail.your_domain_name:7071
با نام کاربری admin@your_domain_name و رمزی که در مرحلهی ۴ تعیین کردید وارد شوید. اگر نام سرور هنوز از کامپیوتر شما resolve نمیشود، میتوانید آدرس را با IP سرور باز کنید.

وبمیل کاربران روی https://mail.your_domain_name در دسترس است. Zimbra در نصب اولیه یک گواهی self-signed میسازد و به همین دلیل مرورگر هشدار امنیتی نشان میدهد. برای استفادهی واقعی، یک گواهی SSL معتبر روی سرور نصب کنید.
رفع خطاهای رایج نصب زیمبرا
خطای Port conflict detected: 53
متن کامل پیام Port conflict detected: 53 (zimbra-dnscache) است و یعنی zimbra-dnscache را انتخاب کردهاید در حالی که dnsmasq پورت 53 را گرفته است. این پیام بعد از انتخاب بستهها و پیش از شروع نصب ظاهر میشود. همانجا با Ctrl+C خارج شوید، install.sh را دوباره اجرا کنید و به zimbra-dnscache جواب n بدهید.
تکرار خطای DNS ERROR resolving MX
اگر بعد از تغییر نام دامنه هم این خطا تکرار شد، خروجی دو دستور dig در مرحلهی ۳ را دوباره بررسی کنید و مطمئن شوید /etc/resolv.conf فقط خط nameserver 127.0.0.1 را دارد.
گزارش MISSING برای پیشنیازها
نصبکننده قبل از هر کاری پکیجهای لازم سیستم را بررسی میکند. اگر کنار یکی از آنها MISSING نوشته شد، همان پکیج را با apt نصب کنید و install.sh را دوباره اجرا کنید:
apt install <package-name>
ایمیلها به Gmail و سرویسهای دیگر نمیرسند
اول ببینید پورت 25 خروجی سرور باز است یا نه؛ بعضی ارائهدهندهها آن را بهطور پیشفرض میبندند:
nc -vz -w 5 gmail-smtp-in.l.google.com 25
اگر اتصال برقرار شد، رکورد PTR آیپی سرور را بررسی کنید که باید به mail.your_domain_name اشاره کند. بعد برای دامنه رکوردهای SPF و DKIM و DMARC بسازید. کلید DKIM را خود Zimbra تولید میکند و مقدار رکورد TXT را در خروجی همین دستور نشان میدهد:
su - zimbra -c "/opt/zimbra/libexec/zmdkimkeyutil -a -d your_domain_name"
بدون این رکوردها، بیشتر ایمیلهای سرور در پوشهی اسپم مینشینند یا کلا رد میشوند.
جمعبندی
با این مراحل یک سرور Zimbra تکسروری روی Ubuntu 20.04 دارید که DNS محلیاش را dnsmasq تامین میکند. قدم بعدی ساختن حسابهای کاربری از پنل مدیریت، نصب گواهی SSL معتبر و تنظیم رکوردهای SPF و DKIM و DMARC است.
اگر فقط ایمیل سازمانی روی دامنهی خودتان میخواهید و نمیخواهید بهروزرسانی، امنیت و تحویلپذیری یک میلسرور را خودتان مدیریت کنید، هاست ایمیل گزینهی کمدردسرتری است.
سوالات متداول
حداقل رم لازم برای نصب زیمبرا چقدر است؟
مستندات Zimbra برای نصب تکسروری حداقل ۸ گیگابایت رم اعلام کرده است. فضای دیسک هم باید دستکم ۱۰ گیگابایت برای نرمافزار و لاگها باشد و فضای صندوقهای ایمیل جداگانه حساب شود.
چرا نصبکنندهی Zimbra خطای Port conflict روی پورت 53 میدهد؟
چون بستهی zimbra-dnscache و dnsmasq هر دو به پورت 53 نیاز دارند. اگر DNS محلی را با dnsmasq راه انداختهاید، هنگام انتخاب بستهها به zimbra-dnscache جواب n بدهید.
پنل مدیریت زیمبرا روی چه آدرسی باز میشود؟
روی پورت 7071، یعنی آدرس https://mail.your_domain_name:7071. نام کاربری admin@your_domain_name است و رمز همان است که در منوی نصب برای Admin Password تعیین کردهاید.
آیا Zimbra 8.8.15 هنوز پشتیبانی میشود؟
پشتیبانی و وصلههای امنیتی نسخهی متنباز Zimbra 8.8.15 از ۳۱ دسامبر ۲۰۲۳ متوقف شده است. این نسخه برای آزمایش و یادگیری مناسب است. برای سرور عملیاتی جدید، نسخهای را انتخاب کنید که هنوز بهروزرسانی امنیتی میگیرد.
چطور سرویسهای زیمبرا را ریاستارت کنم؟
با کاربر zimbra و ابزار zmcontrol. دستور su – zimbra -c “zmcontrol restart” همهی سرویسها را ریاستارت میکند و zmcontrol status وضعیت آنها را نشان میدهد.
اصلاحات فنی نسبت به مقاله اصلی
- hostname روی FQDN یعنی mail.your_domain_name تنظیم شد؛ مقالهی اصلی نام دامنهی خالی را گذاشته بود.
- علامت # از ابتدای دستورها حذف شد. در مقالهی اصلی خط فایل hosts با # شروع میشد و در عمل کامنت و بیاثر بود.
- فایل hosts مرتب شد: خط 127.0.1.1 و نگاشتهای اضافهی IP به دامنه و webmail حذف شد و خطوط استاندارد IPv6 برگشت.
- در dnsmasq، مقدار server که IP خود سرور بود و DNS را در حلقه میانداخت، به DNS بالادستی تغییر کرد و no-resolv اضافه شد.
- mx-host اضافه برای mail.your_domain_name حذف شد. آن خط باعث میشد نصبکننده دامنهی mail.your_domain_name را بسازد و آدرس مدیر admin@mail.your_domain_name شود.
- resolv.conf بعد از راهاندازی dnsmasq روی 127.0.0.1 تنظیم شد؛ در مقالهی اصلی روی 8.8.8.8 میماند و سرور اصلا از dnsmasq استفاده نمیکرد.
- zimbra-dnscache از فهرست نصب کنار گذاشته شد تا با dnsmasq روی پورت 53 تداخل نکند.
- مرحلهی تغییر نام دامنه در خطای MX و برگشت با r پیش از a اضافه شد.
- دستور systemctl start imap.service که در Zimbra وجود ندارد، با zmcontrol جایگزین شد.
- فهرست سیستمعاملهای قدیمی مقدمه (مثل Ubuntu 12.04 و 14.04) حذف شد و وضعیت پایان پشتیبانی Zimbra 8.8.15 و Ubuntu 20.04 اضافه شد.
- بخشهای پیشنیازها، فایروال، تست رکوردها با dig و رفع خطاهای رایج اضافه شد.

