الف رضا
الف رضا
خواندن ۵ دقیقه·۱ سال پیش

نصب و راه‌اندازیiredmail


iredmail چیست؟

یک Mail Server متن‌باز، رایگان است که System Administrator ها کمک می‌کند تا از پیچیدگی‌های پیکربندی فاصله بگیرند. این Mail Server بر روی همه توزیع‌های اصلی لینوکسی قابلیت نصب و پیاده‌سازی داشته و از Packageهای زیر نیز استفاده می‌کند.میل سروری که خیلی آسون راه اندازی میشه و پیچیدگی های خیلی از سیستم های مشابه رو نداره به همین دلیل امروز آموزش نصب و راه اندازی این میل سرور رو گذاشتم.

مشخصات مورد نیاز سیستم

  • سرور لینوکسی (در این اموزش از اوبنتو 22.04 استفاده شده )
  • ماشین مجازی حداقل با 4 گیگ رم ، دو هسته cpu
  • ثبت دامنه و ایجاد رکورد MX برای میل سازمانی



در ابتدا سرور را بروز رسانی می‌کنیم.

sudo apt update -y sudo apt upgrade -y

در گام بعد انتخاب نام ماشین مجازی است؛ نام هاست باید بصورت انتخاب شود: mail.Domain-Name

sudo hostnamectl set-hostname mail.<Domain-Name>

در بخش بعد تنظیمات dns را انجام می‌دهیم با ویرایش فایل /etc/hosts

sudo nano /etc/hosts <Server-IP> mail.<Domain-Name>

تا این قسمت تنظیمات اولیه سرور به پایان رسید

حالا باید فایل اسکریپت مربوطه را دانلود کنیم(پیشنهاد می‌کنم مستقیم از خود وب سایت اخرین نسخه رو دریافت کنید.) از لینک زیر می‌تونید اخرین نسخه رو دریافت کنین.

wget https://www.iredmail.org/download.html

یه فایل با پسوند tar.gz هست که بعد دانلود در سرور باید استخراجش کنین با دستور زیر و بعد وارد دایرکتوری ایجاد شده می‌شویم.

tar xvf X.tar.gz cd iRedMail-X/

در قدم بعدی به اسکریپت دسترسی داده و اجرا می‌کنیم :

chmod +x iRedMail.sh bash iRedMail.sh



ورود به بخش نصب
ورود به بخش نصب
مکان پیش فرض لاگ ها این دایرکتوری هست که برای امنیت میشه تغییر داد
مکان پیش فرض لاگ ها این دایرکتوری هست که برای امنیت میشه تغییر داد
انتخاب دیتابیس مورد نظر که بهتره برای سازمان های متوسط MySQL  و سازمان های بزرگ  Postgres  توصیه میشه   و اگه میخواین با LDAP ارتباط برقرار کنه OpenLDAP  گزنیه مناسب تریه .
انتخاب دیتابیس مورد نظر که بهتره برای سازمان های متوسط MySQL و سازمان های بزرگ Postgres توصیه میشه و اگه میخواین با LDAP ارتباط برقرار کنه OpenLDAP گزنیه مناسب تریه .
برای ارتباط با LDAP  باید دامین رو وارد کنید
برای ارتباط با LDAP باید دامین رو وارد کنید
اضافه کردن اولین دامنه مورد نظر
اضافه کردن اولین دامنه مورد نظر
ایمیل پیش فرض برای مدیریت postmaster  هست که باید رمز رو انتخاب کنین
ایمیل پیش فرض برای مدیریت postmaster هست که باید رمز رو انتخاب کنین
در قسمت آخر هم به صورت اختیاری برخی ویژگی به شما ارائه میشه که می‌توانید انتخاب کرده و نصب نمایید.(توصیه میشه از fail2ban  و sogo  حتما استفاده کنین)و iredadmin  هم برای مدیریت خود میل سرور بصورت گرافیکی هست که حتما نصب بشه
در قسمت آخر هم به صورت اختیاری برخی ویژگی به شما ارائه میشه که می‌توانید انتخاب کرده و نصب نمایید.(توصیه میشه از fail2ban و sogo حتما استفاده کنین)و iredadmin هم برای مدیریت خود میل سرور بصورت گرافیکی هست که حتما نصب بشه


در آخر یه تاییده نصب از شما میخواد که با y  پاسخ بدید و تمام :)
در آخر یه تاییده نصب از شما میخواد که با y پاسخ بدید و تمام :)



حالا یکبار سرور رو ری استارت کنید.

sudo shutdown -r now

فقط یه نکته برای سوال زیر این n را انتخاب کنیم:



در بخش دوم باید تنظیمات مربوط به certificatie انجام داد که با دستور های ذیل میشه یه certificatie رایگان برای خودمون بگیریم.

sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot -y sudo apt install certbot -y

با دستور زیر هم certificatie ایجاد میشه:

sudo certbot certonly --webroot --agree-tos --email you@example.com -d mail.your-domain.com -w /var/www/html/


فقط یه نکته برای سوال زیر این n را انتخاب کنیم:


چیزی نمونده فقط باید certificatie ایجاد شده در Nginx قرار بدیم

فایل رو ویرایش می‌کنیم و مقادیر رو جابه جا میشن

sudo nano /etc/nginx/templates/ssl.tmpl ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;
--------------------Replcae---------------------
ssl_certificate /etc/letsencrypt/live/mail.<Domain-Name>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.<Domain-Name>/privkey.pem;

و nginx ری استارت بشه

sudo nginx -t sudo systemctl reload nginx

خب سرور هم ارتباط امن داره حالا

در قدم بعد دو سرویس Postfix و Dovecot ارائه دهنده ایمیل باید certificatie رو دریافت کنن :

فایل مربوطه رو ادیت می‌کنیم و مقادیر جدید تعویض میشن

sudo nano /etc/postfix/main.cf smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt
--------------------Replcae---------------------
smtpd_tls_key_file = /etc/letsencrypt/live/mail.<Domain-Name>/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.<Domain-Name>/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.<Domain-Name>/chain.pem

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

sudo systemctl reload postfix

حالا تنظیم شدن Postfix مونده:

sudo nano /etc/dovecot/dovecot.conf ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key
--------------------Replcae---------------------
ssl_cert = </etc/letsencrypt/live/mail.<Domain-Name>/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.<Domain-Name>/privkey.pem

و dovecot ری استارت بشه

sudo systemctl reload dovecot

تبریک تامام !!

برای ورود به میل سرور از آدرس های زیر استفاده کنین.

https://mail.your-domain.com/iredadmin/ https://mail.your-domain.com/sogo/ https://mail.your-domain.com/mail/

اما یه نکته مونده dns ها چی میشن؟؟؟؟

در سناریویی که من دارم وب سایت با cpanel میزبانی میشه اما میل سرور در مکانی دیگه است.

خب برای این کار باید چندتا رکورد مختلف در cpanel ایجاد کنیم و بیشتر این رکورد ها برای اینکه ایمیل ها معتبر باشن و در اسپم نرن و یک رکورد باید توسط سرویس دهنده ایجاد شه

1- A record= mail server ip
2-MX record= X.com / Priority: 0/ Destination: X.com
3-MX record= autodiscover / Priority: 0/ Destination: mail.X.com
4-MX record= autoconfig / Priority: 0/ Destination: mail.X.com
5-DMARC record= TXT _dmarc &quot v=DMARC1; p=none &quot
6- spf record= TXT &quot v=spf1 ip4:... ~all &quot

خب دوتا رکورد دیگه مونده که برای ایجاد DKIM باید از سرور کمک بگیریم و دستور ذیل رو اجرا کنیم

بعد خروجی رو داخل cpnel قرار میدیم

amavisd-new showkeys

خروجی بعد داخل یه رکورد متنی قرار می‌دیم

dkim record= TXT v=DKIM1; p= without&quot&quot

برای رکورد سرویس دهنده ام باید یه رکورد PTR باشه که میتونید تیکت بزنید با ادرس دامنه ایجاد کنه

برای چک کردن ام از ادرس زیر استفاده کنید

https://www.whatsmydns.net/dns-lookup/ptr-records



  • دیگه چیزی نمونده هم سرور امن شده و هم dns ها ست شدن از میل سرور لذت ببرید.
  • پورت 25 ,465 ,587 برای دریافت ایمیل باز باشه



می‌تونید برای مانیتوریگ بیشتر netdata رو نصب کنین فقط یه مشکلی داره authentication نداره و روی سرور های پابلیک میتونه خطرناک باشه دستور اول برای نصب دستور دوم برای ویرایش ip که سرویس رو ببینه و دستور سوم برای ری استارت سرویس

sudo apt install netdata
/etc/netdata/netdata.conf >>>>>>>>>>>>bind socket to IP = YourSeverIPAddress
sudo systemctl restart netdata



خب برای حسن ختام می‌تونید با وب سایت زیر ایمیل سرور رو چک کنین و بهتون امتیاز میده که بدونید درست پیکربندی شده یا نه و اینکه چه مشکلاتی داره

https://www.mail-tester.com/

امیداروم از این آموزش استفاده کنید :)

ماشین مجازیایمیل سرورiredmail
دنبال کننده شبکه های کامپیوتری
شاید از این پست‌ها خوشتان بیاید