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

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


== '''Инструкция по развертыванию почтового сервера для интернационализированных адресов на CentOS 7''' ==
=== Необходимое ПО
===
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 используются для подключения к серверу.''


'''Почтовый сервер для интернационализированных адресов'''
=== Установка почтового сервера для интернационализированных адресов
С помощью данной инструкции вы сможете установить почтовый сервер для использования тайских электронных адресов или для интернационализации адресов электронной почты (EAI) с помощью ПО с открытым исходным кодом. Почтовый сервер можно развивать далее с помощью другого ПО.
===
* список 1
* список 2
==== 1. Задайте имя хоста ====
* список 3
1. Обновите пакеты почтового сервера до последней версии
2. Задайте имя хоста (например, 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
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --permanent --zone=public --add-service=mysql # firewall-cmd --permanent --zone=public --add-service=smtp
# firewall-cmd --permanent --zone=public --add-service=smtps # firewall-cmd --permanent --zone=public --add-service=imap
# 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. Создайте новую базу данных для хранения записей об использовании почтового сервера
Создайте пользователя с правами доступа к базе интернационализированных адресов  
# GRANT SELECT, INSERT, UPDATE, DELETE ON eaimail.* TO 'yourdbuser'@'localhost' IDENTIFIED BY 'yourdbpassword';
# 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/

Версия от 15:00, 10 июня 2022

== Инструкция по развертыванию почтового сервера для интернационализированных адресов на 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. Обновите пакеты почтового сервера до последней версии

2. Задайте имя хоста (например, 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/