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. Для навигации используйте клавиши со стрелками вверх и вниз. Для выбора языка нажмите пробел. Звездочка обозначает, что язык уже выбран.
Затем вам будет предложено создать новый список. Нажмите на ОК, а затем выполните следующую команду для создания списка 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.
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.
Конфигурация сервера 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 с Nginx на Ubuntu 16.04.

