سرور ایمیل خود را با Mailcow تنظیم کنید

مقدمه

در این آموزش شما میل سرور خود را که بر روی سرور اوبونتو در هتزنر کلود اجرا می شود، راه اندازی می کنید. با Mailcow می توانید سرور ایمیل خود را با دامنه سفارشی خود میزبانی کنید. Mailcow همچنین راهی برای همگام سازی مخاطبین و تقویم شما ارائه می دهد.

پیش نیازها
  • شما به یک نام دامنه نیاز دارید
  • کمی دانش در مورد نحوه کار داکر
  • سرورهای Hetzner Cloud به طور پیش‌فرض پورت 25 و 465 را برای محافظت در برابر هرزنامه‌ها مسدود می‌کنند. می توانید پس از پرداخت اولین فاکتور خود درخواست کنید که پورت ها از حالت انسداد خارج شوند. این اساساً به عنوان یک تأیید ساده عمل می کند که شما یک هرزنامه نیست.

مرحله 1 – یک سرور Cloud جدید ایجاد کنید

  • به کنسول Cloud وارد شوید
  • یک پروژه جدید ایجاد کنید و نام آن را هر چه می خواهید بگذارید
  • یک مکان سرور را انتخاب کنید و بسته به نیاز خود تایپ کنید. اگر مطمئن نیستید نکات زیر را ببینید.
  • روی افزودن سرور کلیک کنید و تصویر سرور خود را انتخاب کنید. این آموزش بر اساس اوبونتو 22.04 است، اما به راحتی می توان آن را با Debian 11 که پایدارتر و سبک تر است، تطبیق داد.
  • منابع مورد نیاز خود را از Type انتخاب کنید
  • روی فیلد Cloud config کلیک کنید این را وارد کنید: #include https://get.docker.com (با این کار docker نصب می شود)
  • کلید SSH خود را انتخاب کنید
  • نام میزبان سرور خود را در ورودی نام بنویسید (mail.example.com)
  • روی Create & Buy Now کلیک کنید

نحوه انتخاب مکان و نوع صحیح سرور

مکان سروری را انتخاب کنید که از نظر جغرافیایی به شما یا پایگاه کاربری شما نزدیکتر باشد. در مورد نوع سرور صحیح، به خاطر داشته باشید که Mailcow برای عملکرد صحیح به حداقل 7 گیگابایت رم نیاز دارد. Mailcow یک راه حل گروه افزاری با امکانات کامل است. با این اوصاف، پایین ترین نوع سرور موجود، CX31* یا CPX31 خواهد بود.

مرحله 2 – راه اندازی DNS

اساساً شما می خواهید یک رکورد DNS جدید به نام mail.example.com ایجاد کنید و IPv4 (یک رکورد) و IPv6 (رکورد AAAA) سرور خود را به آن اضافه کنید. سپس، می‌توانید رکورد MX دامنه‌های خود را طوری تنظیم کنید که به زیر دامنه mail.example.com خود که به تازگی ایجاد کرده‌اید اشاره کند. همچنین باید یک زیردامنه autodiscover.example.com و autoconfig.example.com راه اندازی کنید. هر دو باید از نوع CNAME باشند و به mail.example.com اشاره کنند.

پیکربندی DNS شما باید شبیه به این باشد:

# Name Type Value
mail IN A 10.0.0.1
mail IN AAAA 2001:db8:1234::1
autodiscover IN CNAME mail
autoconfig IN CNAME mail
@ IN MX 10 mail

برای راه اندازی پیشرفته تر، رکوردهای DNS بیشتری وجود دارد که باید در اسناد Mailcow مراقب آنها باشید.

مرحله 3 – به روز رسانی ها و Docker Compose را روی سرور نصب کنید

چند ثانیه صبر کنید تا سرور راه اندازی شود و سپس با استفاده از SSH و کلید خصوصی خود به آن متصل شوید. اکنون باید با اجرای:

apt update && apt upgrade -y

این زمان خوبی برای راه اندازی مجدد سرور پس از اتمام تمام ارتقاء است، به خصوص اگر به روز رسانی های هسته وجود داشته باشد.

مرحله 4 – مخزن Mailcow را شبیه سازی کنید

اکنون می‌خواهیم مخزن Mailcow GitHub را شبیه‌سازی کنیم، بنابراین ابتدا باید وارد به /opt شوید با:

cd /opt

هنگامی که در /opt هستید، می توانید اجرا کنید:

git clone https://github.com/mailcow/mailcow-dockerized

مرحله 5 – پیکربندی را ایجاد کنید، کانتینرهای Docker را بکشید و Mailcow را راه اندازی کنید

برای ایجاد پیکربندی، دایرکتوری کاری خود را با cd /opt/mailcow-dockerized به /opt/mailcow-dockerized تغییر دهید و ./generate_config.sh را اجرا کنید تا پیکربندی ایجاد شود. اکنون باید نام دامنه خود را وارد کنید (چیزی مانند mail.example.com). ما تقریباً تمام شده ایم. اکنون باید Docker compose pull را برای کشیدن تصاویر داکر اجرا کنید. برای شروع Mailcow، docker compose up -d را اجرا کنید.

مرحله 6 – ورودی های DNS معکوس را تنظیم کنید

برای تنظیم ورودی های DNS معکوس، مراحل زیر را انجام دهید:

  • به کنسول Hetzner Cloud بروید و روی پروژه خود کلیک کنید
  • سروری را که ایجاد کردید انتخاب کنید و به تب NETWORKING بروید
  • روی سه نقطه نزدیک آدرس IPv4 خود کلیک کنید، Edit Reverse DNS را انتخاب کنید، دامنه خود را وارد کنید (mail.example.com) و تغییر را تأیید کنید.
  • روی سه نقطه نزدیک زیرشبکه IPv6 خود کلیک کنید، Edit Reverse DNS را انتخاب کنید و ::1 را در فیلدی که IP زیر نام دامنه شما (mail.example.com) است تایپ کنید.

مرحله 7 – ابتدا به نمونه Mailcow خود وارد شوید

از نمونه Mailcow خود در https://mail.example.org دیدن کنید و با اعتبار پیش فرض وارد شوید:

  • نام کاربری: ادمین
  • رمز عبور: moohoo

مهم: رمز عبور خود را در اسرع وقت تغییر دهید، زیرا باقی گذاشتن آن به همان شکلی که هست سرور شما را در برابر نفوذ باز می کند.

مرحله 8 – دامنه(ها) را به Mailcow اضافه کنید

اکنون می توانید دامنه خود را به Mailcow اضافه کنید. به سادگی به Configuration -> Mail setup بروید. دامنه خود را در زیر تب “Domain” اضافه کنید.

مرحله 9 – DKIM را راه اندازی کنید

اکنون، وقتی به Configuration -> Configuration & Details بازگشتید، می توانید DKIM را تنظیم کنید. در شیر پیکربندی، DKIM را در نوار کناری انتخاب کنید. باید در بالا باشد. به پایین اسکرول کنید تا ماسکی را ببینید که می توانید دامنه خود را وارد کنید. کافی است میانبر Select domains with missing keys را کلیک کنید تا نام دامنه شما پر شود. اکنون یک کلید 2048 را انتخاب کرده و روی Add کلیک کنید. هنگامی که کلید اضافه شد، می توانید کلید عمومی را کپی کنید و یک ورودی DNS TXT به نام dkim._domainkey با محتوایی که به تازگی کپی کرده اید ایجاد کنید.

مرحله 10 – یک صندوق پستی ایجاد کنید

هنگامی که به Configuration -> Mail setup بازگشتید، می توانید یک صندوق پستی ایجاد کنید و با دسترسی به آن در https://mail.example.com/SOGo وارد SOGo شوید.

مرحله 11 – ایجاد پشتیبان

پشتیبان گیری برای اکثر تنظیمات سرور ضروری است. سرور ایمیل شما تفاوتی ندارد. Mailcow یک راه بسیار ساده برای ایجاد پشتیبان از داده های ایمیل شما ارائه می دهد.

یک نسخه پشتیبان دستی ایجاد کنید
  • با استفاده از کلید SSH به سرور خود متصل شوید.
  • به دایرکتوری Mailcow بروید که حاوی اسکریپت پشتیبان /opt/mailcow-dockerized/helper-scripts است.
  • اسکریپت پشتیبان را اجرا کنید./backup_and_restore.sh backup all –delete-days 7

بسته به اندازه نامه‌ها و نوع سرور، این فرآیند می‌تواند از چند دقیقه تا چند ساعت طول بکشد.

مرحله 12 – به‌روزرسانی نمونه Mailcow

به‌روزرسانی‌های Mailcow معمولاً یک بار در ماه توسط نویسندگان منتشر می‌شوند. اگر وصله‌های امنیتی یا اشکالات فوری وجود داشته باشد، به‌روزرسانی‌های بیشتری منتشر می‌شود. عاقلانه است که برای کسب اطلاعات در مورد تغییرات، صفحه انتشارات Mailcow را زیر نظر داشته باشید.

قبل از اجرای به روز رسانی، توصیه می شود بررسی کنید که آیا نسخه پشتیبان فعلی از اطلاعات خود دارید یا خیر. در کنسول ابری Hetzner، همچنین می‌توانید یک عکس فوری از سرور خود ایجاد کنید تا در صورت بروز مشکل، سریعاً به حالت کار برگردید.

اگر نمی‌خواهید از هتزنر اسنپ‌شات‌ها استفاده کنید، Mailcow یک روش داخلی برای عقب نشینی از به‌روزرسانی‌ها نیز دارد.

  • با استفاده از کلید SSH به سرور خود متصل شوید.
  • به پوشه Mailcow /opt/mailcow-dockerized بروید
  • ./update.sh را اجرا کنید
  • در پایان، Mailcow از شما می‌پرسد که آیا می‌خواهید اجزای بدون استفاده را حذف کنید. خیر را انتخاب کنید و بعداً به صورت دستی آنها را حذف کنید تا اگر مشکلی پیش آمد آماده شوید.
  • پس از انجام به‌روزرسانی، Mailcow همه سرویس‌ها را راه‌اندازی می‌کند و ارتقاهای داخلی را اجرا می‌کند. برای جلوگیری از خراب شدن داده ها، سرور یا ظروف docker خود را خاموش نکنید.
[تعداد: 1   میانگین: 5/5]
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شاید دوست داشته باشید