Main > Abyss > Mailu: Http Basic Auth для WebMail

Mailu: Http Basic Auth для WebMail

25.09.2022 4 comments » Views: 73

Потребовалось мне настроить почтовый сервер для собственных нужд, и в этот раз я решил не заморачиваться с "ручной" настройкой Exim+Dovecot+Roundcube, а воспользоваться готовым решением. В качестве такого решения я выбрал докер сборку Mailu (https://mailu.io). И все бы хорошо, но из коробки нельзя включить Http Basic Auth для WebMail (страницы логина в почту). А оставлять торчащую наружу форму входа мне тоже не хотелось..

Решение оказалось довольно простое, но без детального описания.

Итак, открываем конфиг docker-compose.yml, который находится в папке установки (у меня /opt/mailu/docker-compose.yml) и видим там что папка "/opt/mailu/overrides/nginx" прокидывается внутрь контейнера в папку "/overrides"

Далее илем в контейнер и внутри конфига nginx-а видим, что конфиги из этой папки подключаются в основной конфиг

Т.е. достаточно просто сгенерировать файл пароля и подключить его, так я и сделал. В папке mailu создал файл .htpasswd

и там же конфиг для Nginx

Дальше перезагружаем сборку и все начинает работать

Теперь перед попаданием на страницу входа в почту, мы получим дополнительный слой авторизации

Author: | Rating: 4/5 | Tags:

4 comments.

Write a comment
  1. Alexander Reply
    26.09.2022 в 7:59 am
    Тоже пользуюсь это сборкой. Не могу понять о чём речь. Что значит Http Basic Auth для WebMail?
    После запуска есть возможность заходить как в почту так и в панель администратора. Этого недостаточно?
    • Vitaliy Orlov Reply
      26.09.2022 в 8:38 am
      Привет, это еще один слой защиты. Т.е. когда ты все настроил, с доступом через веб-интерфейс, то пользователь видит форму логина. С Basic HTTP Authentication (можешь загуглить по этим словам), еще до загрузки формы логина, в браузере появится окно, в котором попросят ввести логин или пароль. Таким образом, боты и все остальные не смогут получить доступ к форме и соответственно не будут знать что там находится интерфейс доступа к почте.
      • Alexander Reply
        28.09.2022 в 8:49 am
        А! Понял. У меня так работает запрос логина/пароля к веб-интерфейсу Transmission.
        Может быть ты уже сталкивался с вопросом продления сертификата в почте? У меня он не хочет обновляться автоматически. Не могу понять из-за чего. Из-за этого при входе через клиенты сообщает о просроченном сертификате.
        • Vitaliy Orlov Reply
          03.10.2022 в 10:55 am
          Пока не сталкивался. Попробуй вручную обновить и посмотреть что будут за ошибки, сертификаты судя по nginx лежат в "front" контейнере в

          ssl_certificate /certs/letsencrypt/live/mailu/fullchain.pem;
          ssl_certificate /certs/letsencrypt/live/mailu-ecdsa/fullchain.pem;
          там же внутри есть "certbot" которым это все всего скорее и менеджится.

          У меня когда-то были проблемы с certbot и IPv6, но по мануалу Mailu не рекомендуют использовать IPv6, поэтому я его отключил еще при инстале.

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>