Как установить почтовый сервер Mailu на Ubuntu 20.04
Mailu — простой, но мощный почтовый сервер, работающий на контейнерах докеров. Это бесплатное программное обеспечение, открытое для предложений и дополнений. Он предназначен для обеспечения простой настройки почтового сервера. Образы Mailu должны запускаться на любом облачном сервере, на котором запущен Docker (> = 1.11), и вы можете выбирать между Docker compose, Kubernetes и Rancher для запуска своего почтового сервера Mailu. Это руководство было написано, чтобы помочь пользователям установить и настроить почтовый сервер Mailu на сервере Ubuntu 20.04.
Особенности почтового сервера Mailu
Ожидается, что, как и любой другой почтовый сервер, mailu будет отвечать требованиям отправки и получения электронных писем. Ниже приведены некоторые из наиболее важных функций почтового сервера Mailu:
- Стандартный почтовый сервер, IMAP и IMAP +, SMTP и отправка
- Расширенные функции электронной почты, псевдонимы, псевдонимы домена, настраиваемая маршрутизация
- Доступ в Интернет, несколько сообщений электронной почты и интерфейс администрирования
- Функции пользователя, псевдонимы, автоответчик, автопересылка, полученная учетная запись
- Функции администратора, глобальные администраторы, объявления, делегирование для каждого домена, квоты
- Безопасность, принудительный TLS, Letsencrypt !, исходящий DKIM, антивирусный сканер
- Антиспам, автообучение, серые списки, DMARC и SPF
- Свобода, все компоненты FOSS, без трекера
Настройте почтовый сервер Mailu на Ubuntu 20.04
Обновите системные пакеты перед установкой
sudo apt-get update
sudo apt-get upgrade
Нам необходимо убедиться, что в нашей системе есть действующий IP-адрес и полное доменное имя. Также должна быть действующая запись mx для нашего домена. Чтобы установить IP-адрес сервера и имя хоста, выполните следующие команды:
sudo hostnamectl set-hostname mail.example.com
Также добавьте полное доменное имя и IP-адрес сервера в файл /etc/hosts .
$ sudo vim /etc/hosts
62.15.116.167 mail.example.com
После установки перезагрузите вашу систему
sudo reboot
Следующие порты должны быть разрешены через брандмауэр вашей системы, поскольку они критически важны для электронной почты. Вы можете открыть порты с помощью ufw, как показано ниже:
sudo ufw allow proto tcp from any to any port 25,80,443,110,143,465,587,993,995
Установите Docker и Docker compose в Ubuntu
Чтобы установить docker и docker compose в Ubuntu 20.04, ознакомьтесь с нашими руководствами ниже.
Установите Docker Compose в Ubuntu
Создать каталог Mailu
После установки Docker и Docker Compose перейдите к созданию каталога, в котором mailu будет хранить свои данные.
sudo mkdir /mailu
Mailu использует файл docker-compose.yml, а также полагается на mailu.env для различных настроек. Вам необходимо сгенерировать конфигурацию Mailu для вашей среды с помощью онлайн-утилиты настройки mailu. Генератор предоставит вам как файл docker-compose.yml, так и файл mailu.env. После создания конфигурации вы получите ссылки для загрузки файлов. Убедитесь, что вы загружаете файлы в каталог mailu. Вы должны получить такую страницу при создании файлов.
Для моего случая установки я сгенерировал и получил файл со следующим содержимым:
$ vim mailu.env
# Mailu main configuration file
#
# This file is autogenerated by the configuration management wizard for compose flavor.
# For a detailed list of configuration variables, see the documentation at
# https://mailu.io
###################################
# Common configuration variables
###################################
# Set to a randomly generated 16 bytes string
SECRET_KEY=YPQAFO2THH5WSM7I
# Subnet of the docker network. This should not conflict with any networks to which your system is connected. (Internal and external!)
SUBNET=192.168.203.0/24
# Main mail domain
DOMAIN=example.com
# Hostnames for this server, separated with comas
HOSTNAMES=mailu.example.com
# Postmaster local part (will append the main mail domain)
POSTMASTER=admin
# Choose how secure connections will behave (value: letsencrypt, cert, notls, mail, mail-letsencrypt)
TLS_FLAVOR=letsencrypt
# Authentication rate limit (per source IP address)
AUTH_RATELIMIT=10/minute;1000/hour
# Opt-out of statistics, replace with "True" to opt out
DISABLE_STATISTICS=False
###################################
# Optional features
###################################
# Expose the admin interface (value: true, false)
ADMIN=true
# Choose which webmail to run if any (values: roundcube, rainloop, none)
WEBMAIL=roundcube
# Dav server implementation (value: radicale, none)
WEBDAV=radicale
# Antivirus solution (value: clamav, none)
ANTIVIRUS=clamav
###################################
# Mail settings
###################################
# Message size limit in bytes
# Default: accept messages up to 50MB
# Max attachment size will be 33% smaller
MESSAGE_SIZE_LIMIT=50000000
# Networks granted relay permissions
# Use this with care, all hosts in this networks will be able to send mail without authentication!
RELAYNETS=
# Will relay all outgoing mails if configured
RELAYHOST=
# Fetchmail delay
FETCHMAIL_DELAY=600
# Recipient delimiter, character used to delimiter localpart from custom address part
RECIPIENT_DELIMITER=+
И файл docker-compose выглядит следующим образом:
$ docker-compose.yml
# This file is auto-generated by the Mailu configuration wizard.
# Please read the documentation before attempting any change.
# Generated for compose flavor
version: '2.2'
services:
# External dependencies
redis:
image: redis:alpine
restart: always
volumes:
- "/mailu/redis:/data"
# Core services
front:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
logging:
driver: json-file
ports:
- "62.15.116.167:80:80"
- "::1:80:80"
- "62.15.116.167:443:443"
- "::1:443:443"
- "62.15.116.167:25:25"
- "::1:25:25"
- "62.15.116.167:465:465"
- "::1:465:465"
- "62.15.116.167:587:587"
- "::1:587:587"
- "62.15.116.167:110:110"
- "::1:110:110"
- "62.15.116.167:995:995"
- "::1:995:995"
- "62.15.116.167:143:143"
- "::1:143:143"
- "62.15.116.167:993:993"
- "::1:993:993"
volumes:
- "/mailu/certs:/certs"
- "/mailu/overrides/nginx:/overrides"
admin:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/data:/data"
- "/mailu/dkim:/dkim"
depends_on:
- redis
imap:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/mail:/mail"
- "/mailu/overrides:/overrides"
depends_on:
- front
smtp:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/overrides:/overrides"
depends_on:
- front
antispam:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/filter:/var/lib/rspamd"
- "/mailu/dkim:/dkim"
- "/mailu/overrides/rspamd:/etc/rspamd/override.d"
depends_on:
- front
# Optional services
antivirus:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}clamav:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/filter:/data"
webdav:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/dav:/data"
fetchmail:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}fetchmail:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
# Webmail
webmail:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}roundcube:${MAILU_VERSION:-1.7}
restart: always
env_file: mailu.env
volumes:
- "/mailu/webmail:/data"
depends_on:
- imap
networks:
default:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.203.0/24
Когда закончите с настройками, запустите mailu с docker compose, как показано ниже, в каталоге mailu
$ sudo docker-compose up -d
Recreating mailu_webdav_1 ... done
Recreating mailu_fetchmail_1 ... done
Recreating mailu_front_1 ... done
Recreating mailu_antivirus_1 ... done
Recreating mailu_admin_1 ... done
Recreating mailu_antispam_1 ... done
Recreating mailu_imap_1 ... done
Recreating mailu_smtp_1 ... done
Recreating mailu_webmail_1 ... done
Установите пользователя с правами администратора, выполнив следующую команду:
$ docker-compose -p mailu exec admin flask mailu admin admin example.com PASSWORD
created admin user
This creates a user called [email protected] with admin rights.
Настройте Mailu Mail Server в Ubuntu 20.04
После этого войдите в веб-портал Mailu, используя свое имя хоста: https://mailu.example.com . Вы должны получить страницу для входа с паролем администратора. После входа в систему вы должны увидеть страницу, как показано ниже. Не забудьте обновить свой пароль на более надежный, нажав « обновить пароль ».
Создание доменов Mailu
Чтобы добавить домен, нажмите домен → новый домен.
Создать пользователей Mailu
Чтобы создать пользователей, щелкните Почтовые домены . В разделе « Управление» щелкните значок почтового ящика, чтобы перейти к списку пользователей. Нажмите на Добавить пользователя.
Mailu Webmail
Для своей установки я решил использовать roundcube для веб-почты. Получите доступ к веб-почте, чтобы начать отправлять электронные письма. Нажмите на веб- почту, которая затем направит вас на страницу входа в roundcube .
Вот и все, что касается настройки почтового сервера Mailu на Ubuntu 20.04. Я надеюсь, что это будет вам полезно.