PowerMTA 4.5r11 + Debian + pmtahttp через nginx(авторизация)

Заготовка статьи

Распаковка RPM

rpm2cpio file.rpm | cpio -idmuv –no-absolute-filenames

Кратко:

apt update
apt upgrade
apt -y install mc unzip curl perl libarchive-zip-perl net-tools

все почему-то дальше идут в сторону Apache…

мы пойдем с nginx + php7-fpm

nginx устанавлтваем стандартно (apt install nginx), пока он нужен будет только для проксирования и авторизации в админку PMTA,

в конфиг nginx:

root@mailer#:cat /etc/nginx/sites-available/mailer
server {
listen 80;
server_name mailer.example.com;
#access_log /var/log/nginx/mailer.example.com-access.log;
#error_log /var/log/nginx/mailer.example.com-error.log;

location / {

auth_basic “Restricted Content”;
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:5555;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}

в config pmta:

http-mgmt-port 5555
http-access 127.0.0.1 admin
http-access 0/0 none

И по паролю доступа:

apt install apache2-utils
htpasswd -c /etc/nginx/.htpasswd user

если хочется, можно Nginx with Let’s Encrypt:
в /etc/apt/sources.list добавить

deb http://deb.debian.org/debian stretch-backports main contrib non-free
deb-src http://deb.debian.org/debian stretch-backports main contrib non-free
потом
apt update
apt install python-certbot-nginx -t stretch-backports
certbot –nginx -d mailer.example.com

ну и:

/etc/init.d/nginx reload

дальше по nginx пока пропустим, нам веб еще ни к чему, делаем просто надежный МТА,

если локаль utf8 не подключена, то:

update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8  и релогин
Погнали:
groupadd pmta
useradd pmta -g pmta
dpkg -i powermta_4.5r11_amd64.deb

Cмотрим что в автозапуске:

systemctl list-unit-files | grep enabled

И добавляем PMTA и PMTAHTTP:

systemctl enable pmta
systemctl enable pmtahttp

Дальше конфиги:

/etc/pmta

Генерация DKIM

pmtakeytool newdk k1 example.org 2048

получим k1.example.org.pem и k1.example.org.dns

k1.example.org.pem –> /etx/pmta/k1.example.org.pem

k1.example.org.dns –> ТХТ запись DNS вашего домена

Сворачиваем (объединяем) домены по их MX записям, полезно при отправке на основной домен + корпоративную почту этого домена.

Example:

<mx-rollup-list>
#mail.ru
mx *.mail.ru mailru.rollup rollup-by-ip

#yandex
mx *.yandex.net yandex.rollup
mx *.yandex.ru yandex.rollup
mx *.ya.ru yandex.rollup

#gmail
mx *.google.com google.rollup #rollup-by-ip
mx *.googlemail.com google.rollup #rollup-by-ip

#yahoo.com aol.com 20 February 2018 AOL and Yahoo will come together
mx mx-aol.mail.gm0.yahoodns.net yahoo-aol.rollup
</mx-rollup-list>

продолжение может и следует 🙂 …