Встановлення і налаштування поштового сервера iRedMail

post thumbnail

В певний момент ви можете дійти до висновку, що вашій компанії терміново знадобився поштовий сервер – простір зі збором та управлінням електронними листами. Тільки от невдача: займатися повною установкою і налаштуванням немає можливості і бажання, що тоді? На допомогу приходить готова збірка iRedMail для організації поштового сервера. Головна перевага – швидкий і простий процес установки.

Поштовий сервер “з коробки” оптимально налаштований для зручного управління та користування електронною поштою. Всі листи надійно зберігатимуться на сервері, і вам не варто турбуватися про приватності листування, як в разі, якби ви використовували підписні сервіси по типу Outlook або GSuite.

У даній статті ми розглянемо як встановити поштовий сервер iRedMail на VPS. Для установки буде потрібно сервер з чистою операційною системою і доступом по SSH з правами суперкористувача root. Підтримується CentOS, Debian, Ubuntu, FreeBSD, OpenBSD.

Купити хостинг для сайту від Hostpro

Системні вимоги

iRedMail призначений для установки на чистий сервер, що означає, що на вашому сервері НЕ встановлено жодних компонентів, пов’язаних із поштою, наприклад, MySQL, OpenLDAP, Postfix, Dovecot, Amavisd і т. д. Скрипт установки iRedMail автоматично встановить і налаштує їх для вас . Якщо що-небудь із зазначених компонентів вже встановлено, ваші конфігураційні файли будуть перезаписані, а iRedMail надалі може працювати не так, як очікувалося.

Рекомендується хоча б 2ГБ оперативної пам’яті для мало навантажених систем. У разі використання антиспаму і антивірусу буде використовуватися велика частина ресурсів.

Підготовка до встановлення

Налаштуйте правильне ім’я вашого сервера

Ім’я сервера (hostname) має бути повністю певним доменним іменем (FQDN), неважливо, налаштовуєте ви робочий або тестовий сервер. Перевірити ім’я сервера можна, виконавши команду:

$ hostname -f
mx.site.com

Якщо отримане в результаті команди ім’я сервера не є FQDN, то його потрібно змінити. Ім’я сервера для Centos 7 задається у файлі /etc/hostname. Відкрийте файл вашим улюбленим текстовим редактором і вкажіть туди потрібне ім’я сервера.

А також додайте ім’я сервера в файлі /etc/hosts, щоб воно було на початку рядка, відразу після IP-адреси, приблизно так:

127.0.0.1 mx.site.com mx localhost localhost.localdomain

Перевірте ім’я сервера командою hostname -f знову. Якщо воно не змінилося на нове значення – перезавантажте сервер для застосування налаштувань.

Вимкнення SELinux

iRedMail не працює з SELinux, тому вимкніть його, встановивши таке значення в своєму файлі конфігурації /etc/selinux/config. Після перезавантаження сервера SELinux буде повністю відключений.

SELINUX=disabled

Щоб відключити SELinux для поточної сесії без перезавантаження запустіть команду з правами суперкористувача:

setenforce 0

Вимкнення сторонніх репозиторіїв

Для CentOS увімкніть офіційні репозиторії yum CentOS-Base і ВІДКЛЮЧІТЬ все сторонні репозиторії yum, щоб уникнути конфлікту пакетів.

Завантаження останнього актуального релізу iRedmail

Перейдіть на сторінку завантаження останнього стабільного релизу iRedmail и скопіюйте посилання на інсталятор:

Купить хостинг для сайта от Hostpro

Отримане посилання завантажте на ваш сервер за допомогою wget. Може знадобитися встановлення пакета wget, якщо він не встановлений:

yum install wget -y 

Завантажуємо інсталятор:

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.9.tar.bz2

Встановлюємо архіватор bzip2 для розпакування архіва:

yum install bzip2 -y

Розпаковуємо архів:

tar xjf iRedMail-0.9.9.tar.bz2

Припускаємо, що ви завантажили архів в папку /root/ (ви потрапляєте в неї за замовчуванням одразу після підключення до сервера по SSH від імені root). Тоді розпакований архів буде в папці /root/iRedMail-0.9.9/ (цифри номера версії можуть відрізнятися, в залежності від номера актуального релізу, замініть їх на свої за необхідності).

Процесс встановлення iRedMail

Для початку установки потрібно перейти в папку з розпакованим архівом і запустити скрипт iRedMail.sh

cd /root/iRedMail-x.y.z/
bash iRedMail.sh

Початковий екран:

Купити хостинг для сайту від Hostpro

Для переходу до наступного кроку потрібно натиснути клавішу Enter. На другому кроці потрібно вибрати директорію для зберігання пошти. Можна залишити значення за замовчуванням або вказати потрібну. Для переходу на наступний крок натисніть Tab для перемикання курсору на кнопку Next, а потім – Enter.

Купити хостинг для сайту від Hostpro

Тут можна вибрати спосіб зберігання облікових даних користувачів. Ми рекомендуємо MySQL (MariaDB). Для перемикання за допомогою клавіш стрілок, для вибору варіанту клавішу Пробіл. Для переходу до наступного кроку – Tab і Enter.

Купити хостинг для сайту від Hostpro

Вкажіть пароль адміністратора сервера баз даних. Це повинен бути довгий набір символів з букв, цифр і розділових знаків. Надалі вам, швидше за все, не буде потрібно його використовувати, тому його можна не запам’ятовувати. А також вся необхідна інформація, в тому числі і паролі, буде записана в одному документі, який буде доступний адміністратору.

Купити хостинг для сайту від Hostpro

Вкажіть ім’я домену, з якого ви будете відправляти пошту. Після установки можна буде додати інші домени при необхідності. Зверніть увагу, потрібно прописати ім’я домену, на якому надалі будуть створюватися email-адреси, а не hostname сервера.

Купити хостинг для сайту від Hostpro

Далі потрібно встановити пароль на обліковий запис адміністратора поштового сервера, вона ж ваша email-адреса за замовчуванням, куди після установки буде відправлена вся інформація по подальшому налаштуванню сервера. Пароль повинен бути довгим і складним (від 12 символів) і містити латинські букви різного регістра і цифри. Для цього пароля не можна використовувати спец-символи і знаки пунктуації. Цей пароль вам потрібно запам’ятати або зберегти в надійному місці, оскільки він буде постійно використовуватися для входу в веб-інтерфейс iRedAdmin.

Купити хостинг для сайту від Hostpro

На наступному кроці потрібно вибрати компоненти, які будуть встановлені. Можна вибрати все, або виключити деякі. Обов’язково встановіть iRedAdmin – інтерфейс управління обліковими записами.

Купити хостинг для сайту від Hostpro

Це був останній крок налаштувань. Після цього потрібно підтвердити установку компонентів (натиснути клавішу Y і Enter) і дочекатися завершення установки всіх необхідних пакетів. В кінці на екрані терміналу буде такий текст:

Купити хостинг для сайту від Hostpro

На екран будуть виведені всі основні посилання для переходу в веб-інтерфейс і дані доступу облікового запису адміністратора.

Отримання безкоштовного SSL-сертифікату від Let’s Encrypt для iRedMail

Що потрібно з’ясувати перед отриманням сертифіката

Для яких доменних імен потрібні сертифікати?

  1. Ім’я сервера (hostname) – це ім’я зазвичай використовується при налаштуванні з’єднання з поштовими клієнтами (Outlook, Thunderbird та ін.) У нашому прикладі – iredmail.mytestsite.co.ua
  2. Імена, за якими буде здійснюватися веб-доступ до панелей адміністрування (https://iredmail.mytestsite.co.ua/iredadmin/, https://iredmail.mytestsite.co.ua/mail/)
  3. Для домену, на якому будуть створюватися поштові скриньки (mytestsite.co.ua), сертифікат не потрібен, якщо він не використовується для веб-інтерфейсів.

Один сертифікат для всіх доменних імен або декілька сертифікатів?

Nginx і Dovecot можуть використовувати різні сертифікати для різних доменних імен (SNI), але Postfix – ні. Тому ми рекомендуємо використовувати один SSL-сертифікат, який покриває відразу всі необхідні імена.

Перевірте DNS-записи для ваших доменних імен

Переконайтеся, що всі використовувані домени (субдомени) спрямовані А-записами на IP-адресу вашого сервера. Можна перевірити це за допомогою команди dig:

dig +short iredmail.mytestsite.co.ua
194.28.87.18

Якщо у відповідь на команду ви отримаєте IP-адресу сервера – все налаштовано правильно.

Отримання сертифікату Let’s Encrypt SSL

Спочатку встановимо пакет certbot, призначений для випуску і автоматичного оновлення сертифікатів від Let’s Encrypt:

yum install certbot

Далі запускаємо отримання SSL-сертифіката:

certbot certonly --webroot -w /var/www/html -d iredmail.mytestsite.co.ua 

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-staging-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for iredmail.mytestsite.co.ua
Using the webroot path /var/www/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Resetting dropped connection: acme-staging-v02.api.letsencrypt.
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/iredmail.mytestsite.co.ua/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/iredmail.mytestsite.co.ua/privkey.pem
   Your cert will expire on 2019-05-08. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

В процесі вводимо email-адресу для реєстрації в сервісі і підтверджуємо згоду з умовами використання.

Сертифікат був отриманий і його файли збережені в папці /etc/letsencrypt/live/iredmail.mytestsite.co.ua/. Якщо ви хочете отримати сертифікати для кількох доменів одночасно, то потрібно перерахувати їх в команді випуску сертифіката через опцію -d:

certbot certonly --webroot -w /var/www/html -d site1.com -d site2.com ...

Змінюємо права доступу на папку з сертифікатами, щоб інші користувачі системи мали право читання:

chmod 0644 /etc/letsencrypt/{live,archive}

Для автоматичного оновлення сертифікатів налаштовуємо cron-завдання:

crontab -e

і додаємо в редакторі, що відкрився, текст:

1 3 * * 0 certbot renew --post-hook 'service postfix restart; service nginx restart; service dovecot restart'

За цієї задачею щотижня в 3:01 буде запускатися скрипт поновлення сертифікатів, який оновить всі сертифікати, термін дії яких закінчується менш, ніж через 30 днів.

Підключення сертифікатів Let’s Encrypt

Під час установки iRedMail були створені самоподпісані сертифікати, які були підключені до всіх сервісів (dovecot, postfix, nginx). Для підключення сертифікатів Let’s Encrypt замість них найпростіше буде створити символічні посилання з папки сертифікатів Let’s Encrypt в папку сертифікатів iRedMail. При цьому не потрібно редагувати будь-які конфігураційні файли служб.

Створюємо символьні посилання, попередньо перейменувавши оригінальні файли сертифікатів:

mv /etc/pki/tls/certs/iRedMail.crt{,.bak} # Backup. Rename iRedMail.crt to iRedMail.crt.bak

mv /etc/pki/tls/private/iRedMail.key{,.bak} # Backup. Rename iRedMail.key to iRedMail.key.bak

ln -s /etc/letsencrypt/live/iredmail.mytestsite.co.ua/fullchain.pem /etc/pki/tls/certs/iRedMail.crt

ln -s /etc/letsencrypt/live/iredmail.mytestsite.co.ua/privkey.pem /etc/pki/tls/private/iRedMail.key

Перезавантажуємо служби:

service postfix restart
service dovecot restart
service nginx restart
service mariadb restart

Початкові налаштування iRedMail

Відкрийте в браузері посилання виду https://mail.site.com/mail/ (адреса, за якою ви задали розташування веб-інтерфейсу пошти), авторизуйтесь з вашим обліковим записом адміністратора – [email protected]. Ви побачите в папці вхідних листів кілька листів з інформацією про розташування важливих файлів конфігурації в системі, ключ DKIM, який потрібно додати в DNS-зону, посилання на всі веб-інтерфейси, рекомендації по налаштуванню поштових клієнтів і іншу важливу інформацію. Також вся ця інформація розташовується на сервері у файлі /root/iRedMail-0.9.9/iRedMail.tips.

Купити хостинг для сайту від Hostpro

Для створення і налаштування поштових скриньок потрібно перейти в панель iRedAdmin, розташовану за посиланням виду https://mail.site.com/iredadmin. Для входу використовуємо email адміністратора ([email protected]) і його пароль.

Купити хостинг для сайту від Hostpro

Для створення поштового аккаунта потрібно натиснути Додати – Користувач

Купить хостинг для сайта от Hostpro

Для створення доменів, з яких буде відправлятися пошта, потрібно натиснути Додати – Домен.

Переглянути список доменів і поштових скриньок можна в розділі Домени.

Купити хостинг для сайту від Hostpro

Ось і все, на цьому основні налаштування завершені. І наостанок – налаштувати даний сервер ви можете на нашому тарифі Linux VPS.  Якщо ж у вас виникають будь-які питання щодо налаштування iRedMail і не тільки – сміливо звертайтеся в нашу підтримку

Telegram Hostpro

Наш телеграм

з важливими анонсами, розіграшами й мемами

Приєднатися

Можливо, вас зацікавить

Як отримати бекап сайту і відновити дані?

Як отримати бекап сайту і відновити дані?

Про те, що може призвести до втрати даних сайту, про всі нюанси бекапів та...

Diana Honcharenko | Оновлено: 15.03.2024

Що таке PIN-код підтримки в HostPro?

Що таке PIN-код підтримки в HostPro?

При зверненні до техпідтримки Hostpro нам може знадобитися підтвердження вашого облікового запису, перш ніж...

Diana Honcharenko | Оновлено: 14.03.2024

Як додати фавікон на WordPress сайт

Як додати фавікон на WordPress сайт

У цій статті ми розглянемо найактуальнішу інформацію, станом на початок 2024 року, як просто...

Diana Honcharenko | Оновлено: 22.02.2024

Як встановити WP-CLI. Шпаргалка з основними командами

Як встановити WP-CLI. Шпаргалка з основними командами

WP-CLI (WP Command Line Interface) – утиліта для роботи із сайтами на WordPress, яка...

Diana Honcharenko | Оновлено: 23.01.2024