ساختن Mail-Server در Ubuntu 18.04

مقدمه:با توجه به توسعه روز‌افزون کسب‌و‌کار‌های اینترنتی و گسترش استفاده از پلتفرم‌های تبلیغات و اهمیت حفظ شخصیت برند در ارتباط با مشتریان و همکاران اهمیت بسیار از خود نشان داده‌است.به همین دلیل، متخصصان فنی بر‌آن شدند تا سرویس‌های ایمیل اختصاصی برای خود را بر روی زیرساخت خود ایجاد آورند.در این مقاله قصد داریم چگونگی ساخت یک Mail Server بر روی یک سرور ابری بر پایه سیستم‌عامل Ubuntu 18.04 را بررسی کنیم.قدم اول: ارائه‌دهنده سرویس خود را انتخاب کنید و یک دامین برای سرور خریداری شده تهیه کنید.یکی از مهم‌ترین قسمت‌هایی که به کیفیت سرویس شما کمک می‌کند، ارائه‌دهنده زیرساخت شماست؛ چیزی که بسیار باید برای شما اهمیت داشته باشد همیشه در دسترس بودن، هزینه و کیفیت سرویسی است که از بهره می‌برید؛ خوبی و اهمیت استفاده از سرویس ابری خود را آنجا نشان می‌دهد که در هر زمان، نیاز بیشتری در استفاده از زیر‌ساخت داشتید بتوانید تنها با چند کلیک زیر‌ساخت خود را گسترش‌داده و پاسخ‌گو درخواست‌های روانه شده به روی کسب‌و‌کار خود باشید.حداقل سرویس مورد نیاز ساخت میل سرور:۲ هسته پردازنده۲ گیگابایت حافظه رم۵۰ گیگابایت حافظه ذخیره‌سازی.سیستم عامل مورد نیاز در این آموزش:سیستم عامل لینوکس توزیع Ubuntu 18.04بعد از این که سرویس خود را از یکی از ارائه دهندگان سرویس‌های ابری تهیه کردید، حال نوبت آن است که یک دامنه برای سرویس خود به سلیقه خودتان خریداری نمایید.حالا می‌توانید با دستور ssh به روش زیر به سرویس خود وصل شوید. ssh root@<Server-IP> که در دستور بالا به جای <Server-IP> از IP ارائه شده توسط ارائه دهنده سرویس خود استفاده کنید.همچنین رمز عبور هم از همان ارائه دهنده برای شما ارسال خواهد شد.قدم دوم: تنظیمات DNSحال که سرور خود را ساختیم نوبت آن است که یک دامنه به ‌IP آن اختصاص دهیم.برای انجام آن کار در ارائه دهنده دامنه خود دامنه ای با مشخصات زیر می‌سازیم:DNS Record Type (نوع): AName (آدرس رکورد): mail.<Domain-Name>Value (مقدار): <Server-IP>که در تنظیمات به جای <Domain-Name> از نام دامنه خریداری شده استفاده می‌کنیم و به جای <Server-IP> از آیپی سرور خریداری شده استفاده می‌شود.در این قسمت نوبت آن است که رکورد جدیدی در DNS سرویس خود به وجود آوریم.این رکورد در شرکت ارائه‌دهنده سرویس ابری تنظیم می‌شود، وظیفه آن است که میل سرور شما از آن برای مخابره و دریافت ایمیل استفاده می‌کند.تنظیمات این قسمت بدین صورت است:DNS Record Type (نوع): MX - Mail exchangeName (آدرس رکورد): @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 اختصاصی خود را داشته باشید و از آن استفاده کنید؛ امیدوارم این مقاله توانسته باشد کمک شایانی در زمینه ارائه آموزش به شما داشته باشد.با به اشتراک‌گذاری و نشر نظرات خود می‌توانید انرژی به ما داده تا از این قبیل مقالات بیشتر تولید کنیم.با تشکر از شما.