Для начала я следовал этому руководству до буквы: https://www.davd.eu/byecloud-building-a-mailserver-with-modern-webmail/
Я пытаюсь создать почтовый сервер для своего сервера, но я решил сначала протестировать вышеуказанную реализацию локально. Убедитесь, что я могу все запустить и запустить, по крайней мере, чтобы я мог видеть то, что я должен ожидать, прежде чем пробовать это на сервере. Вот что я сделал:
- Добавлен "127.0.0.1 mail.fancydomain.tld" в "/ etc / hosts" (я хотел начать с использования mail.fancydomain.tld, а не моего фактического домена, на котором будет работать почтовый сервер, чтобы минимизировать любые изменения во время следования руководство)
Я создал этот "docker-compose.yml":
version: "3"
services:
rainloop:
image: hardware/rainloop
links:
- mail
volumes:
- ./data/rainloop:/rainloop/data
mail:
image: tvial/docker-mailserver:latest
restart: always
hostname: mail
domainname: fancydomain.tld
container_name: mail
ports:
- "25:25"
- "143:143"
- "587:587"
- "993:993"
- "4190:4190"
volumes:
- ./data/mail/data:/var/mail
- ./data/mail/state:/var/mail-state
- ./mail/config:/tmp/docker-mailserver/
- ./data/entry/acme/acme-v01.api.letsencrypt.org/sites/mail.fancydomain.tld:/tmp/ssl:ro
environment:
- ENABLE_SPAMASSASSIN=1
- ENABLE_CLAMAV=1
- ENABLE_FAIL2BAN=1
- ENABLE_POSTGREY=1
- ONE_DIR=1
- DMS_DEBUG=0
- ENABLE_MANAGESIEVE=1
cap_add:
- NET_ADMIN
entry:
image: abiosoft/caddy:0.10.4
restart: always
privileged: true
links:
- rainloop
ports:
- "80:80"
- "443:443"
volumes:
- ./entry/Caddyfile:/etc/Caddyfile
- ./data/entry:/root/.caddy
Существует небольшая разница между этим "docker-compose.yml" и тем, который предоставлен ранее упомянутым сайтом. Все, что я сделал, это удалил переменные среды с префиксом «SSL_», как указано в руководстве для людей, которые просто запускают его локально.
Я создал каталог в текущем рабочем каталоге с именем «entry» и создал «Caddyfile» со следующим содержимым:
http://mail.fancydomain.tld {
proxy / rainloop:8888 {
transparent
}
}
Опять же, только небольшое отличие от того, который представлен на сайте. Я поставил перед доменом префикс "http://"" по той же причине, что и в шаге 2.
- Я успешно запустил контейнер с
docker-compose up -d
- Я запустил:
curl -o setup.sh https://raw.githubusercontent.com/tomav/docker-mailserver/master/setup.sh; chmod a+x ./setup.sh
, чтобы получить скрипт установки.
- Я запустил:
./setup.sh email add webmaster@fancydomain.tld fancypassword
с этими точными учетными данными, снова, чтобы свести к минимуму изменения для отслеживания.
- Я установил записи DKIM, запустив
./setup.sh config dkim
, но я не продолжил работу с этими записями ... Поскольку я не уверен, что делать с ними локально.
- Я успешно подключился к клиенту RainLoop Webmail через "http://mail.fancydomain.tld/" и перешел к" http://mail.fancydomain.tld/?admin" для входа с учетными данными: Login = пароль администратора = 12345
Я перешел к «Домены»> «Добавить домен» и использовал заполненную форму следующим образом:
Name: fancydomain.tld
IMAP
Server: mail
Port: 143
Secure: STARTTLS
SMTP
Server: mail
Port: 587
Secure: STARTTLS
Use short login: Checked
Use authentication: Checked
SIEVE
Allow sieve scripts: Checked
Server: mail
Port: 4190
Secure: STARTTLS
Отсюда я вернулся к "http://mail.fancydomain.tld" и попытался войти в клиент веб-почты с таким логином: Login=webmaster@fancydomain.tld Пароль = fancypassword
Здесь я получаю сообщение об ошибке: «Не удается подключиться к серверу»
Я не уверен, куда идти отсюда. Я не знаю, как устранить неполадки вообще. Могу ли я получить некоторую помощь о том, что я должен делать, чтобы устранить неполадки и выяснить, где ошибка?
Спасибо!
07/01/18 Обновление: Итак ... Я добавил "127.0.0.1 mail" в "/ etc / hosts", и это сработало! Теперь RainLoop может подключиться к моему почтовому серверу! Это поднимает новый вопрос, хотя. На шаге 9 вместо «mail» для трех полей «Server» я попытался «mail.fancydomain.tld», и согласно тесту соединение отклоняется. Почему будет отказано в соединении для всего домена, а не для короткого домена?