iredmail چیست؟
یک Mail Server متنباز، رایگان است که System Administrator ها کمک میکند تا از پیچیدگیهای پیکربندی فاصله بگیرند. این Mail Server بر روی همه توزیعهای اصلی لینوکسی قابلیت نصب و پیادهسازی داشته و از Packageهای زیر نیز استفاده میکند.میل سروری که خیلی آسون راه اندازی میشه و پیچیدگی های خیلی از سیستم های مشابه رو نداره به همین دلیل امروز آموزش نصب و راه اندازی این میل سرور رو گذاشتم.
مشخصات مورد نیاز سیستم
در ابتدا سرور را بروز رسانی میکنیم.
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
حالا یکبار سرور رو ری استارت کنید.
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 " v=DMARC1; p=none "
6- spf record= TXT " v=spf1 ip4:... ~all "
خب دوتا رکورد دیگه مونده که برای ایجاد DKIM باید از سرور کمک بگیریم و دستور ذیل رو اجرا کنیم
بعد خروجی رو داخل cpnel قرار میدیم
amavisd-new showkeys
خروجی بعد داخل یه رکورد متنی قرار میدیم
dkim record= TXT v=DKIM1; p= without""
برای رکورد سرویس دهنده ام باید یه رکورد PTR باشه که میتونید تیکت بزنید با ادرس دامنه ایجاد کنه
برای چک کردن ام از ادرس زیر استفاده کنید
https://www.whatsmydns.net/dns-lookup/ptr-records
میتونید برای مانیتوریگ بیشتر 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/
امیداروم از این آموزش استفاده کنید :)