Установка GNU Mailman на Ubuntu 16.04 с использованием Postfix, Nginx и FastCGI

GNU Mailman представляет собой бесплатный и открытый менеджер для рассылки электронных писем с веб-интерфейсом, разработанный на Python. Его часто применяют в проектах с открытым исходным кодом. В данном руководстве мы рассмотрим процесс установки GNU Mailman на Ubuntu 16.04 с использованием Nginx и FastCGI.

Mailman предлагает лишь веб-интерфейс для управления. Он не занимается отправкой и получением электронной почты самостоятельно, а использует внешний SMTP-сервер, например, Postfix.

Предполагается, что Postfix уже установлен на вашем устройстве. В противном случае, пожалуйста, ознакомьтесь с приведенным ниже руководством.

Инсталляция GNU Mailman

Мы можем установить GNU Mailman прямо из репозитория.

sudo apt update

sudo apt install mailman

В процессе установки вам нужно будет выбрать языки для Mailman. Для навигации используйте клавиши со стрелками вверх и вниз. Для выбора языка нажмите пробел. Звездочка обозначает, что язык уже выбран.

Читайте также:  Раскрыть все табы в пробелы в Linux

Затем вам будет предложено создать новый список. Нажмите на ОК, а затем выполните следующую команду для создания списка mailman.

sudo newlist mailman

Введите электронный адрес администратора списка и задайте пароль. После этого откройте для редактирования файл /etc/aliases.

sudo nano /etc/aliases

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

## список рассылки mailman

mailman: "|/var/lib/mailman/mail/mailman отправить mailman"

mailman-admin: "|/var/lib/mailman/mail/mailman администратор mailman"

mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"

mailman-подтверждение: "|/var/lib/mailman/mail/mailman подтверждение mailman"

mailman-join: "|/var/lib/mailman/mail/mailman присоединиться к mailman"

mailman-leave: "|/var/lib/mailman/mail/mailman отписка mailman"

mailman-владелец: "|/var/lib/mailman/mail/mailman admin mailman"

mailman-request: "|/var/lib/mailman/mail/mailman запрос mailman"

mailman-подписка: "|/var/lib/mailman/mail/mailman подписаться на mailman"

mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Сохраните изменения и закройте файл. После этого введите следующую команду для обновления индекса файлов с псевдонимами.

sudo newaliases

Перезапустите SMTP-сервер Postfix.

sudo systemctl restart postfix

Запустите приложение Mailman.

sudo systemctl start mailman

Инсталляция FCGIWrap

Чтобы корректно отобразить веб-интерфейс Mailman, необходимо установить пакет fcgiwrap, обеспечивающий запуск CGI-приложений с использованием FastCGI и Nginx.

Читайте также:  Как установить файл “.deb” в Ubuntu и Debian

sudo apt install fcgiwrap

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

systemctl status fcgiwrap

fcgiwrap.service - Простой CGI-сервер

Загружен: (/lib/systemd/system/fcgiwrap.service; косвенно; предустановленный параметр: включен)

Active: действует с понедельника, 12 декабря 2016 года, 01:25:20 по восточному времени; 4 минуты и 27 секунд назад

Основной PID: 27780 (fcgiwrap)

CGroup: /system. slice/fcgiwrap.service

└─27780 /usr/sbin/fcgiwrap — f

Необходимо убедиться, что FCGI и Nginx функционируют под одним и тем же пользователем (www-data). Для этого внесите изменения в скрипт /etc/init. d/fcgiwrap.

sudo nano /etc/init.d/fcgiwrap

Обнаружьте переменные FCGI_USER и FCGI_GROUP. Их значения должны составлять www-data. Если они отличаются, внесите необходимые изменения.

FCGI_USER="www-data"

FCGI_GROUP=»www-data»

После этого выполните перезапуск службы fcgiwrap.

sudo systemctl restart fcgiwrap

По умолчанию fcgiwrap принимает запросы на сокете, расположенном по адресу /var/run/fcgiwrap. socket.

Читайте также:  Как установить PIP в Linux

Конфигурация сервера Nginx

Установите Nginx, используя следующую команду:

sudo apt install nginx

Для того чтобы получить доступ к Mailman из подкаталога вашего текущего веб-сайта, необходимо внести изменения в файл конфигурации сервера вашего сайта.

sudo nano /etc/nginx/conf.d/your-site.conf

Поместите указанные строки в раздел server.

location /cgi-bin/mailman < root /usr/lib/; fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/fcgiwrap. socket; >местоположение /изображения/mailman< alias /usr/share/wp-content/uploads/2025/05/mailman; >местоположение /pipermail< alias /var/lib/mailman/archives/public; autoindex on; >

Сохраните файл и закройте его. После этого проверьте настройки Nginx и выполните перезагрузку.

sudo nginx -t sudo systemctl reload nginx

Теперь у вас есть возможность перейти на страницу администрирования Mailman по следующему URL и создавать новые списки для рассылки.

www. your-site.com/cgi-bin/mailman/admin/

Gnu Mailman

Надеюсь, этот материал был полезен для вас при установке GNU Mailman с Nginx на Ubuntu 16.04.