مقدمه:
با توجه به توسعه روزافزون کسبوکارهای اینترنتی و گسترش استفاده از پلتفرمهای تبلیغات و اهمیت حفظ شخصیت برند در ارتباط با مشتریان و همکاران اهمیت بسیار از خود نشان دادهاست.
به همین دلیل، متخصصان فنی برآن شدند تا سرویسهای ایمیل اختصاصی برای خود را بر روی زیرساخت خود ایجاد آورند.
در این مقاله قصد داریم چگونگی ساخت یک Mail Server بر روی یک سرور ابری بر پایه سیستمعامل Ubuntu 18.04 را بررسی کنیم.
قدم اول: ارائهدهنده سرویس خود را انتخاب کنید و یک دامین برای سرور خریداری شده تهیه کنید.
یکی از مهمترین قسمتهایی که به کیفیت سرویس شما کمک میکند، ارائهدهنده زیرساخت شماست؛ چیزی که بسیار باید برای شما اهمیت داشته باشد همیشه در دسترس بودن، هزینه و کیفیت سرویسی است که از بهره میبرید؛ خوبی و اهمیت استفاده از سرویس ابری خود را آنجا نشان میدهد که در هر زمان، نیاز بیشتری در استفاده از زیرساخت داشتید بتوانید تنها با چند کلیک زیرساخت خود را گسترشداده و پاسخگو درخواستهای روانه شده به روی کسبوکار خود باشید.
بعد از این که سرویس خود را از یکی از ارائه دهندگان سرویسهای ابری تهیه کردید، حال نوبت آن است که یک دامنه برای سرویس خود به سلیقه خودتان خریداری نمایید.
حالا میتوانید با دستور ssh به روش زیر به سرویس خود وصل شوید.
ssh root@<Server-IP>
که در دستور بالا به جای <Server-IP> از IP ارائه شده توسط ارائه دهنده سرویس خود استفاده کنید.
همچنین رمز عبور هم از همان ارائه دهنده برای شما ارسال خواهد شد.
قدم دوم: تنظیمات DNS
حال که سرور خود را ساختیم نوبت آن است که یک دامنه به IP آن اختصاص دهیم.
برای انجام آن کار در ارائه دهنده دامنه خود دامنه ای با مشخصات زیر میسازیم:
DNS Record Type (نوع): A
Name (آدرس رکورد): mail.<Domain-Name>
Value (مقدار): <Server-IP>
که در تنظیمات به جای <Domain-Name> از نام دامنه خریداری شده استفاده میکنیم و به جای <Server-IP> از آیپی سرور خریداری شده استفاده میشود.
در این قسمت نوبت آن است که رکورد جدیدی در DNS سرویس خود به وجود آوریم.
این رکورد در شرکت ارائهدهنده سرویس ابری تنظیم میشود، وظیفه آن است که میل سرور شما از آن برای مخابره و دریافت ایمیل استفاده میکند.
تنظیمات این قسمت بدین صورت است:
DNS Record Type (نوع): MX - Mail exchange
Name (آدرس رکورد): @
Value (مقدار): mail.<Domain-Name>
توجه: از این به بعد در آموزش پیشرو به جای Domain-Name از arazcloud.com استفاده میشود.
قدم سوم: تنظیم نام هاست
در این قسمت بعد از این که به سرور خریداری شده توسط ssh وصل شدیم دستورات زیر را اجرا میکنیم:
sudo apt update -y sudo apt upgrade -y
حال نوبت آن است که نام دلخواه برای هاست خود انتخاب کنیم؛ توجه داشته باشید که نام هاست باید بدین صورت تنظیم شود: mail.<Domain-Name> پس در این قسمت به صورت زیر عمل میکنیم:
sudo hostnamectl set-hostname mail.<Domain-Name>
در قدم بعد نیاز به آن داریم که تنظیماتی بر گزینیم تا به جای استفاده از IP در داخل سرور، از یک نام برای انجام تنظیمات استفاده کنیم.
تنظیمات این مرحله بدین صورت است که:
دستور زیر را اجرا میکنیم:
sudo vi /etc/hosts
سپس داخل این فایل، خط زیر را وارد میکنیم (برای شروع وارد کردن اطلاعات از دکمه i استفاده کنید):
<Server-IP> mail.<Domain-Name>
حال ابتدا دکمه Esc کیبورد را فشرده سپس عبارت زیر را تایپ کنید:
:wq
تا به الان تنظیمات مربوط به نام هاست انجام شده و سرور منتظر شروع عملیات نصب و راه اندازی میباشد.
با دستور زیر میتوانید نام هاست خود را یافته و از صحت عمل خود اطمینان حاصل نمایید.
hostname -f
قدم چهارم: نصب کردن و تنظیم میل سرور Ubuntu 18.04 با استفاده از iRedMail:
اسکریپتی که در سادهسازی نصب و راهاندازی این میل سرور ما را یاری میکند iRedMail نام دارد که به ما ابزار زیادی ارائه میدهد که به ما کمک شایانی در مدیریت، استفاده و راحتسازی نصب به ما ارائه میکند.
با استفاده از دستور زیر میتوانیم این اسکریپت را از GitHub استخراج کرده و مورد استفاده قرار دهیم:
wget https://github.com/iredmail/iRedMail/archive/1.3.2.tar.gz
با دستور زیر میتوانیم فایل دانلود شده را از حالت فشرده خارج نمایید:
tar xvf 1.3.2.tar.gz
وارد دایرکتوری زیر میشویم:
cd iRedMail-1.3.2/
حال دسترسی اجراپذیری فایل اسکریپت دانلود شده اهدا میکنیم:
chmod +x iRedMail.sh
الان اسکریپت آماده اجراست و میتوانیم با دستور زیر نصب را شروع کنیم:
bash iRedMail.sh
توجه: در این قسمت از نصب، هر جا از عبارت linuxbabe.com استفاده شد، لطفا نام دامنه خود را استفاده کنید هر جا از عبارت mail.linuxbabe.com استفاده شد، از عبارت mail.<Domain-Name> استفاده نمایید.
در قدم اول بعد از شروع نصب صفحه زیر برای شما نمایش داده خواهد شد که در آن از دکمه Yes استفاده میکنیم (با دکمه Enter گزینه مشخص شده، انتخاب میشود)
این قسمت نمایانگر مکان ذخیره سازی اتفاقات داخل ایمیل هاست که بهتر است آنرا تغییری ندهید.
در این قسمت شما میتوانید وب سرور پنل را انتخاب کنید. (انجینایکس پیشنهاد میشود.) (با استفاده از دکمه Space انتخاب شده و با استفاده از دکمه Enter تایید میگردد.)
در بین گزینههای دادهشده دیتابیسی که نیاز دارید تا اطلاعات سرویس در آن نگهداری شود را انتخاب کنید. (در این مقاله از MariaDB استفاده شدهاست.) (با استفاده از دکمه Space انتخاب شده و با استفاده از دکمه Enter تایید میگردد.)
در این قدم رمز دیتابیس MySQL خود را در یوزر root انتخاب میکنیم.
در این قدم در باکس نمایش داده شده Domain-Name مورد نظر را ارائه دهید.
در قدم بعد به صفحه زیر روبهرو خواهیدشد که نوبت آن است تا رمزعبور نامکاربری مدیریت پنل خود را انتخاب کنید (Admin Password)
در این قسمت هم اجزایی که به صورت اختیاری به شما عرضه میشوند را میتوانید انتخاب کرده و نصب نمایید.
در قسمتهای بعد که در کامند لاین انجام میشود جواب تمام سوالات را با y داده و نصب را ادامه دهید.
بعد از نصب کامل این صفحه به شما نمایش داده میشود که در وسط صفحه نام کاربری و رمز عبور این سرویس قرار دارد:
اکنون زمان آن است که دستگاه را راه اندازی مجدد کنید؛ برای این منظور از کامند زیر استفاده میکنیم:
sudo shutdown -r now
در حال حاضر پنل مدیریت شما در آدرس زیر در دسترس میباشد.
https://mail.<Domain-Name>/iredadmin/
قدم پنجم: نصب گواهینامه TLS با استفاده از Let's Encrypt:
به روش زیر certbot که وظیفه تولید گواهینامه و جلوگیری از انقضای آن را دارد را نصب میکنیم:
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot -y sudo apt install certbot -y
حال نوبت آن است که آدرس مورد نظر را با استفاده از دستور زیر تحت گواهینامه ببریم:
sudo certbot certonly --webroot --agree-tos --email you@example.com -d mail.your-domain.com -w /var/www/html/
باید در نظر داشته باشیم که بعد از مشاهده این سوال گزینه n را انتخاب کنیم:
در حال حاضر اطلاعات شما در آدرس /etc/letsencrypt/live/mail.<Domain-Name>/
در دسترس میباشد.
حال نوبت آن است که Nginx خود را برای گواهینامه امنیت تنظیم کنیم:
ابتدا وارد مسیر زیر میشویم:
sudo vim /etc/nginx/templates/ssl.tmpl
عبارتهای زیر را پیدا میکنیم:
ssl_certificate /etc/ssl/certs/iRedMail.crt; ssl_certificate_key /etc/ssl/private/iRedMail.key;
عبارتهای بالا را با عبارتهای پایین جایگزین میکنیم (حتما <Domain-Name> را تغییر دهید):
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 که ارائه دهندگان سرویسهای ایمیل ما هستند گواهینامه تنظیم میکنیم:
وارد آدرس زیر شوید:
sudo vim /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
سه خط بالا را با سه خط پایین تعویض کنید (حتما <Domain-Name> را تغییر دهید):
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
حال دوباره تنظیم شدن Postfix میباشد:
sudo systemctl reload postfix
وارد فایل زیر میشویم:
sudo vim /etc/dovecot/dovecot.conf
عبارات زیر را پیدا کنید:
ssl_cert = </etc/ssl/certs/iRedMail.crt ssl_key = </etc/ssl/private/iRedMail.key
و با عبارات زیر جایگزین کنید (حتما <Domain-Name> را تغییر دهید):
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/mail/
همچنین در صورت به مشکل خورد سرور خود میتوانید از فایل زیر اتفاقات افتاده شده در سرویس را مشاهده کنید:
/var/log/mail.log
اینچنین میتوانید سرویس Mail Server اختصاصی خود را داشته باشید و از آن استفاده کنید؛ امیدوارم این مقاله توانسته باشد کمک شایانی در زمینه ارائه آموزش به شما داشته باشد.
با به اشتراکگذاری و نشر نظرات خود میتوانید انرژی به ما داده تا از این قبیل مقالات بیشتر تولید کنیم.
با تشکر از شما.