Пост

Установка почтового сервера iRedMail на CentOS 7. Часть 3. Алиасы, вэб-интерфейс для работы с алиасами

Алиас - короткое, удобное для запоминания имя, использующееся вместо более длинного и сложного имени; наиболее часто используется в приложениях электронной почты.

Включаем возможность отправлять письма через алиас

Редактируем конфиг Postfix /etc/postfix/main.cf, удаляем строчку:

1
reject_sender_login_mismatch

в версии iRedMail 0.9.9 этой строки уже не было

Перезагружаем postfix

1
$ sudo systemctl restart postfix

Редактируем конфиг iRedAPD /opt/iredapd/settings.py, добавляем строку:

1
reject_sender_login_mismatch

в версии iRedMail 0.9.9 эта строка уже была добавлена

Перезагружаем iRedAPD

1
$ sudo systemctl restart iredapd

Установка phpMyAdmin и настройка NGINX

Устанавливаем phpMyAdmin:

1
$ sudo yum install phpmyadmin

Делаем линк

1
$ sudo ln -s /usr/share/phpMyAdmin /var/www/html/pma

Ограничиваем доступ к phpMyAdmin по ip

1
2
3
4
5
6
$ sudo nano /etc/nginx/templates/misc.tmpl
...
location ~ ^/pma/$ {
    allow %ip%;
    deny all;
}

где

  • %ip% - ip-адрес, которому разрешен доступ к phpMyAdmin

Перезагружаем Nginx

1
$ sudo systemctl restart nginx

WEB-интерфейс для управления алиасами

Мне не захотелось устанавливать громоздкий postfixadmin для возможности управлением алиасами, по-этому быстренько набросал свою админку

Из мануала iRedMail, алиасы добавляются SQL-запросом

1
2
INSERT INTO alias (address, domain, active) VALUES ('[email protected]', 'mydomain.com', 1);
INSERT INTO forwardings (address, forwarding, domain, dest_domain, is_list, active) VALUES ('[email protected]', '[email protected]', 'mydomain.com', 'test.com', 1, 1);

Возможности админки:

  • Добавлять алиас
  • Редактировать алиас
  • Удалять алиас

В дальнейшем добавлю возможность активировать/деактивировать активность алиаса

Скачать (github)

Для установки вэб-интерфейса создаем директорию:

1
$ sudo mkdir /var/www/html/alias

Распаковываем в эту директорию файлы из архива, редактируем файлы:

  • в файле index.php - отредактировать строки 225, 226
  • в файле server.php - отредактировать строку 3 (прописать пароль к базе между пустых кавычек)

Где находится пароль от базы Mysql для пользователя vmailadmin: После установки почтового сервера на почтовый ящик [email protected] падает письмо со всеми паролями. Либо пароль можно найти в конфигах

Ограничиваем доступ к вэб-интерфейсу управлением алиасами по ip

1
2
3
4
5
6
$ sudo nano /etc/nginx/templates/misc.tmpl
...
location ~ ^/alias/$ {
    allow %ip%;
    deny all;
}

где

  • %ip% - ip-адрес, которому разрешен доступ к phpMyAdmin

Перезагружаем Nginx

1
$ sudo systemctl restart nginx

UPD 27.03.2019

Обновил вэб-админку, добавил следующие возможности:

  • Делать алиас активным / не активным при добавлении записи
  • Делать алиас активным / не активным при редактировании записи
  • При редактировании записи сделал активным поле “алиас” и добавил проверку, есть ли редактируемый алиас в базе
Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.