Инструкция по развертыванию почтового сервера для интернационализированных адресов на CentOS 7

Материал из вики.поддерживаю.рф
Перейти к навигации Перейти к поиску

Инструкция по развертыванию почтового сервера для интернационализированных адресов на CentOS 7

Почтовый сервер для интернационализированных адресов

С помощью данной инструкции вы сможете установить почтовый сервер для использования тайских электронных адресов или для интернационализации адресов электронной почты (EAI) с помощью ПО с открытым исходным кодом. Почтовый сервер можно развивать далее с помощью другого ПО. С помощью данной инструкции вы сможете протестировать и установить почтовый сервер для использования тайских электронных адресов или для интернационализации адресов электронной почты (EAI) с помощью ПО с открытым исходным кодом. Вы узнаете, как работает сервер и как оптимизировать его работу.

Необходимое ПО

  1. Centos 7.4
  2. Postfix 3.2.3
  3. Dovecot 2.2.10
  4. MariaDB 10.3.11
  5. Squirrelmail 5.5.56

Примечания: В данной инструкции не разъясняется, как установить Centos 7.4 Версия Postfix 3.x.x и выше поддерживает EAI в реальных условиях. Сервер DNS также необходим. putty и winscp используются для подключения к серверу.

Установка почтового сервера для интернационализированных адресов

1. Задайте имя хоста

1. Обновите пакеты почтового сервера до последней версии

 # yum -y update

2. Задайте имя хоста (например, mail.eai.in.th) с помощью команды

 # hostnamectl set-hostname mail.eai.in.th

3. Добавьте имя хоста в файл hosts

Пример файла hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 mail.eai.in.th

1 localhost localhost.localdomain localhost6 localhost6.localdomain6 mail.eai.in.th
  • В зависимости от среды установки CentOS вам может понадобиться установить дополнительные сервисы (например, может быть недоступна команда «vi»)

4. Установите wget для скачивания дополнительного ПО

5. Установите telnet для тестирования работы почтового сервера

2. Настройте файрвол

1. Проверьте, что у почтового сервиса имеется статус «защищен файрволом»


Пример

2. Проверьте открытые зону файрвола и интерфейс сети

Пример

3. Проверьте сервисы файрвола в публичной зоне

Пример

4. Откройте сервисы файрвола в публичной зоне почтового сервера (на необходимых сервисах) # firewall-cmd --permanent --zone=public --add-service=http

  1. firewall-cmd --permanent --zone=public --add-service=https
  2. firewall-cmd --permanent --zone=public --add-service=mysql # firewall-cmd --permanent --zone=public --add-service=smtp
  3. firewall-cmd --permanent --zone=public --add-service=smtps # firewall-cmd --permanent --zone=public --add-service=imap
  4. firewall-cmd --permanent --zone=public --add-service=imaps # firewall-cmd --reload

5. Еще раз проверьте список сервисов на файрволе в публичной зоне, вы увидите только открытые сервисы *Дополнительно: задайте конфигурацию сервисов файрвола для почтового сервера (https://spalinux.com/2015/06/centos-7-basic-configure-firewallby-firewall-cmd)

Пример

6. В этом примере откройте SELinux для удобства настройки (не рекомендуется для рабочего сервера)

Пример Перезапустите сервер Пример

3. Создайте SSL-сертификат

 Как создать SSL-ключ для использования с postfix и dovecot

1. Создайте индивидуальный ключ

Пример

2. Удалите кодовые фразы из созданного ключа

Пример

3. Создайте csr

Пример umask 77 ; \ /usr/bin/openssl req -utf8 -new -key eai.key -out eai.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank.


Country Name (2 letter code) [XX]:TH #country State or Province Name (full name) []:Bangkok #state Locality Name (eg, city) [Default City]:Dusit #city Organization Name (eg, company) [Default Company Ltd]:EAI #company Organizational Unit Name (eg, section) []:IT #department Common Name (eg, your name or your server's hostname) []:mail.eai.in.th #server's FQDN

Email Address []:xxx@eai.in.th #email address

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: #Enter An optional company name []: #Enter 4. Сгенерируйте ключ

Пример


Getting Private key

4. Установите mariadb, Postfix и Dovecot

1. Установите mariadb , Postfix , Dovecot и необходимые пакеты

2. Обновите postfix с версии 2.x.x до версии 3.x.x На CentOS 7 версия postfix 2.x.x стоит по умолчанию. Необходимо ее снести и обновить до версии 3.х.х. или выше Создайте файл репозитория gf.repo для установки postfix версии 3.х.х или выше


Пример Загрузите ключ для использования с репозиторием, вставьте в строку: /etc/pki/rpm-gpg/ Установите postfix версию 3.х.х Проверьте postfix версию 3.х.х


3. Настройте mariadb, postfix, dovecot для запуска автоматически

4. Проверьте статус mariadb, postfix, dovecot

5. Настройка MariaDB

1. Установите UTF8 в mysql для приема Unicode, добавив следующую команду к /etc/my.cnf.d/maridb-server.cnf under[mysqld]

Пример

2. Перезапустите MariaDB

3. Настройте безопасный доступ к mysql, установив пароль для пользователя с правами root (* задайте только новый пароль, остальное пропустите, нажав клавишу enter)

4. Зайдите в аккаунт mysql с новым паролем

5. Создайте новую базу данных для хранения записей об использовании почтового сервера

Создайте пользователя с правами доступа к базе интернационализированных адресов

  1. GRANT SELECT, INSERT, UPDATE, DELETE ON eaimail.* TO 'yourdbuser'@'localhost' IDENTIFIED BY 'yourdbpassword';
  2. GRANT SELECT, INSERT, UPDATE, DELETE ON eaimail.* TO 'yourdbuser'@'localhost.localdomain' IDENTIFIED BY

'yourdbpassword'; # FLUSH PRIVILEGES; 7. Проверьте созданного пользователя

8. Создайте таблицы для доменов, пересылки (для пересылки почты с интернационализированных адресов на адреса в кодировке ASCII) и пользователей для создания почтовых ящиков

8.Создайте таблицы для доменов, пересылки (для пересылки почты с интернационализированных адресов на адреса в кодировке ASCII) и пользователей для создания почтовых ящиков

8. Создайте таблицы для доменов, пересылки (для пересылки почты с интернационализированных адресов на адреса в кодировке ASCII) и пользователей для создания почтовых ящиков

9. Перезапустите MariaDB

10. Настройте домен и пользователя в базе данных интернационализированных адресов Зайдите в mariadb и выберите базу данных интернационализированных адресов, введите домен в ASCII и IDN, введите почтовый аккаунт в ASCII и EAI с паролем, чтобы начать Настройте правило пересылки для всех писем с интернационализированного адреса на адрес ASCII, так как сервер может создавать почтовые ящики в Unicode


6. Настройка Postfix

Создайте файл связывания между Postfix и MariaDB 1. Создайте файл-скрипт, чтобы получить значение домена из базы данных

Пример

2. Создайте файл mysql-virtual_forwardings.cf для извлечения пересланной почты из базы данных Пример

3. Создайте файл-скрипт для создания почтового ящика и использования для входа Пример

4. Создайте файл-скрипт для пересылки всей почты на другой сервер SMTP (если хост выступает IP-адресом) Пример

5. Установите права доступа к созданному скрипту

6. Создайте пользователя и группу для почтового ящика 7. Измените /etc/postfix/main.cf

Пример

8. Измените /etc/postfix/master.cf , добавив команду в конце файла

Пример

9. Измените /etc/postfix/master.cf , чтобы разрешить команды ниже (у остальных в начале должен стоять #)

Пример

10. Перезапустите postfix Пример

11. Назначьте почтовый адрес-псевдоним, изменив файлы-псевдонимы Добавьте 2 строки

12. Обновите псевдонимы и перезапустите postfix

7. Настройка Dovecot

1. Сохраните существующую конфигурацию

2. Настройте конфигурацию dovecot

Пример


3. Создайте скрипт, чтобы dovecot мог работать с SQL

Пример

4. Разрешите пользователям в группе dovecot использовать

5. Перезапустите dovecot

6. Проверьте журнал почтового сервера /var/log/maillog

Пример Mar 18 17:10:26 localhost postfix/postfix-script[3274]: starting the Postfix mail system Mar 18 17:10:26 localhost postfix/master[3276]: daemon started -- version 2.10.1, configuration /etc/postfix Mar 18 17:12:28 localhost dovecot: master: Dovecot v2.2.10 starting up for imap, pop3 (core dumps disabled)

8. Протестируйте почтовый сервер EAI

1. Протестируйте pop3

Пример

2. Протестируйте SMTP

Пример

3. Протестируйте отправку и получение почты mailx


Пример

4. Проверьте журнал, чтобы увидеть результат отправки в Dovecot /home/vmail/dovecot-deliver.log, Примерный результат:

5. Проверьте почтовый ящик. При отправке и получении писем вы увидите следующий результат:

Пример

6. Проверьте почтовый ящик с помощью почтового клиента mutt, чтобы увидеть письма в почтовом ящике 7. Проверьте отправку писем с интернационализированного адресов


9. Установите SquirrelMail

1. Установите squirrelmail

2. Если у вас не установлен Apache, установите Apche

3. Скопируйте/перенесите squirrelmail в /var/www/html/

(скопируйте squirrelmail в /var/www/html/ , мы используем для копирования winscp) 4. Создайте каталог данных для squirrelmail

5. Протестируйте логин для доступа через веб-браузеры. Введите IP сервера, затем /squirrelmail Например, http://119.59.113.240/squirrelmail/