sunscript12
Вот третья часть инструкции с комментариями.
---
### Полная инструкция по установке, настройке и тестированию системы Sunscript (Часть 3)
#### Шаг 5: Настройка почтового сервера
1. **Postfix**
```bash
sudo nano /etc/postfix/main.cf
# Открытие основного конфигурационного файла Postfix
```
```
myhostname = mail.sunscript.org # Имя хоста почтового сервера
mydomain = sunscript.org # Домен почты
myorigin = $mydomain # Источник отправки писем
mydestination = $myhostname, localhost.$mydomain, localhost # Адреса назначения
mynetworks = 127.0.0.0/8 # Доверенные сети
inet_interfaces = all # Слушать все интерфейсы
virtual_mailbox_domains = sunscript.org # Виртуальные домены
virtual_mailbox_base = /var/mail/vhosts # База хранения почты
virtual_mailbox_maps = hash:/etc/postfix/virtual # Карта виртуальных ящиков
virtual_uid_maps = static:5000 # UID для виртуальных пользователей
virtual_gid_maps = static:5000 # GID для виртуальных пользователей
smtpd_sasl_auth_enable = yes # Включение SASL-аутентификации
smtpd_sasl_type = dovecot # Использование Dovecot для SASL
smtpd_sasl_path = private/auth # Путь к SASL-сокету
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination # Ограничения получателей
smtpd_milters = inet:localhost:8891 # Подключение OpenDKIM
non_smtpd_milters = $smtpd_milters # Милтеры для не-SMTP
```
```bash
sudo nano /etc/postfix/virtual
# Создание файла виртуальных ящиков
```
```
user1@sunscript.org user1 # Пример: почтовый ящик user1
```
```bash
sudo postmap /etc/postfix/virtual
# Создание хэш-таблицы для виртуальных ящиков
sudo mkdir -p /var/mail/vhosts/sunscript.org
# Создание директории для хранения почты
sudo chown -R 5000:5000 /var/mail/vhosts
# Установка прав для виртуального пользователя
sudo systemctl restart postfix
# Перезапуск Postfix
```
2. **Dovecot**
```bash
sudo nano /etc/dovecot/dovecot.conf
# Открытие основного конфигурационного файла Dovecot
```
```
protocols = imap # Поддержка протокола IMAP
mail_location = maildir:/var/mail/vhosts/%d/%n # Формат и путь хранения почты
auth_mechanisms = plain login # Механизмы аутентификации
!include conf.d/* # Подключение дополнительных настроек
```
```bash
sudo nano /etc/dovecot/conf.d/10-auth.conf
# Настройка аутентификации
```
```
auth_mechanisms = plain login # Поддерживаемые методы аутентификации
!include auth-system.conf.ext # Подключение системной аутентификации
```
```bash
sudo nano /etc/dovecot/conf.d/10-master.conf
# Настройка мастер-процесса
```
```
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0660 # Права доступа к сокету
user = postfix # Владелец сокета
group = postfix # Группа сокета
}
}
```
```bash
sudo systemctl restart dovecot
# Перезапуск Dovecot
```
3. **OpenDKIM**
```bash
sudo mkdir -p /etc/opendkim/keys
# Создание директории для ключей DKIM
sudo opendkim-genkey -s mail -d sunscript.org
# Генерация ключей DKIM с селектором "mail"
sudo mv mail.private /etc/opendkim/keys/mail.private
sudo mv mail.txt /etc/opendkim/keys/mail.txt
# Перемещение сгенерированных ключей
sudo nano /etc/opendkim.conf
# Настройка OpenDKIM
```
```
Domain sunscript.org # Домен для подписи
Selector mail # Селектор DKIM
KeyFile /etc/opendkim/keys/mail.private # Путь к приватному ключу
Socket inet:8891@localhost # Сокет для связи с Postfix
```
```bash
sudo nano /etc/opendkim/TrustedHosts
# Список доверенных хостов
```
```
127.0.0.1 # Локальный хост
sunscript.org # Домен
```
```bash
sudo nano /etc/opendkim/SigningTable
# Таблица подписывания
```
```
*@sunscript.org mail._domainkey.sunscript.org # Подпись для всех отправителей
```
```bash
sudo nano /etc/opendkim/KeyTable
# Таблица ключей
```
```
mail._domainkey.sunscript.org sunscript.org:mail:/etc/opendkim/keys/mail.private # Связь селектора и ключа
```
```bash
sudo systemctl restart opendkim postfix
# Перезапуск OpenDKIM и Postfix
```
---
#### Шаг 6: Настройка rsyslog
1. **Установка rsyslog-mysql**
```bash
sudo apt install rsyslog-mysql
# Установка модуля для записи логов в MySQL
```
2. **Конфигурация**
```bash
sudo nano /etc/rsyslog.d/sunscript.conf
# Создание конфигурации для перенаправления логов
```
```
*.* :ommysql:localhost,sunscript,rsyslog_user,rsyslog_password # Все логи в MySQL
local0.info :ommysql:localhost,sunscript,rsyslog_user,rsyslog_password # Логи Apache (доступ)
local0.error :ommysql:localhost,sunscript,rsyslog_user,rsyslog_password # Логи Apache (ошибки)
```
```bash
sudo systemctl restart rsyslog
# Перезапуск rsyslog
```
---
Жду вашего "прочитал" для отправки следующей части!