Instalacja własnego serwera pocztowego z Modoboa na Debianie
Instalator Modoboa stawia Postfix, Dovecot, webmail i SSL w jednym przebiegu. Tak zainstalujesz własny serwer pocztowy na Debianie i ustawisz potrzebne rekordy DNS.
Nie chcesz, żeby twoja poczta leżała u darmowego dostawcy, tylko na własnym serwerze i pod własną domeną? Modoboa jest do tego jednym z najwygodniejszych rozwiązań. Dołączony instalator konfiguruje w jednym przebiegu Postfix, Dovecot, bazę danych, filtr antyspamowy, webmail oraz panel administracyjny.
Ten poradnik opisuje instalację na Debianie 12 oraz Debianie 11. Debian 10 nie jest już wspierany i nie powinien być używany do nowego serwera pocztowego.
Wymagania
- Własny VPS albo serwer root ze świeżą instalacją Debiana. Zalecamy (to nie obowiązek, ale rozsądne podejście), żeby przeznaczyć mały serwer wyłącznie na pocztę, ponieważ nazwa hosta i Reverse DNS zostaną dopasowane do domeny pocztowej.
- Dostęp roota przez SSH.
- Własna domena, w której samodzielnie ustawisz rekordy DNS.
- Stały adres IPv4, dla którego możesz utworzyć wpis Reverse DNS.
- Porty pocztowe muszą być osiągalne: 25 (SMTP), 587 i 465 (wysyłka przez twoich użytkowników), 143 i 993 (IMAP) oraz 80 i 443 dla webmaila i wystawienia certyfikatu.
Ważne: instalację przeprowadź na świeżo postawionym systemie. Działający już serwer WWW albo istniejąca baza danych regularnie przerywają pracę instalatora.
Przygotowanie systemu
Najpierw zaktualizuj listę pakietów i wszystkie zainstalowane pakiety:
apt update && apt upgrade -y
Następnie zainstaluj pakiety, których oczekuje instalator:
apt-get install sudo git python3 mariadb-server -y
Zakończ konfigurację bazy danych i odpowiedz na pytania kreatora. Nadaj przy tym bezpieczne hasło administratorowi bazy danych:
sudo mysql_secure_installation
Ustawienie nazwy hosta
Serwer potrzebuje pełnej nazwy hosta, która pasuje do późniejszej domeny pocztowej. Bez tego kroku instalacja się nie powiedzie:
hostnamectl set-hostname mail.<DOMENA>.<ROZSZERZENIE>
Rekord A dla dokładnie tej nazwy najlepiej ustaw w DNS już teraz. Instalator wystąpi później o certyfikat Let's Encrypt, a to uda się tylko wtedy, gdy nazwa wskazuje już na IP twojego serwera.
Pobranie instalatora Modoboa
cd /tmp
git clone https://github.com/modoboa/modoboa-installer
cd modoboa-installer
Utworzenie i dostosowanie pliku konfiguracyjnego
Najpierw pozwól instalatorowi utworzyć sam plik konfiguracyjny i zatrzymać się na tym etapie:
python3 ./run.py --stop-after-configfile-check <DOMENA>.<ROZSZERZENIE>
Otwórz utworzony plik:
nano installer.cfg
Dostosuj poniższe sekcje. Dzięki temu serwer dostanie darmowy certyfikat SSL od Let's Encrypt i połączy się z lokalną bazą danych:
[certificate]
generate = true
type = letsencrypt
[letsencrypt]
email = admin@<DOMENA>.<ROZSZERZENIE>
[database]
engine = mysql
host = 127.0.0.1
install = true
Jako adres e-mail wpisz taki, który faktycznie czytasz. Let's Encrypt wysyła tam powiadomienia, jeśli odnowienie certyfikatu nie dojdzie do skutku.
Uruchomienie instalacji
python3 ./run.py mail.<DOMENA>.<ROZSZERZENIE>
Cały przebieg trwa kilka minut. Wykorzystaj ten czas na ustawienie rekordów DNS.
Ustawienie rekordów DNS
Rekord A i rekord MX
Rekord A wskazuje na IP twojego serwera, a rekord MX mówi światu, który host przyjmuje pocztę dla twojej domeny. Priorytet „10” to typowa wartość, gdy serwer pocztowy jest tylko jeden:
Rekord 1:
Subdomena: mail
Typ: A (IPv4)
Cel: <IP-Serwera>
Wynik powinien wyglądać tak: mail.<DOMENA>.<ROZSZERZENIE> IN A <IP-Serwera>
Rekord 2:
(Subdomena: @)
Typ: MX
Cel: mail.<DOMENA>.<ROZSZERZENIE>
Wynik powinien wyglądać tak: @ IN MX 10 mail.<DOMENA>.<ROZSZERZENIE>
SPF, DKIM i DMARC
Bez tych trzech rekordów twoje wiadomości z dużym prawdopodobieństwem wylądują w folderze spamu odbiorców. Duzi dostawcy wymagają ich dziś wprost.
SPF określa, które serwery mogą wysyłać pocztę w imieniu twojej domeny. Zapisujesz go jako rekord TXT na domenie głównej:
Typ: TXT
Nazwa: @
Wartość: v=spf1 mx -all
DKIM podpisuje kryptograficznie twoje wychodzące wiadomości. Modoboa potrafi samo wygenerować klucze dla każdej domeny. Klucz publiczny znajdziesz po instalacji w panelu administracyjnym, w ustawieniach danej domeny. Tę wartość wpisujesz w DNS jako rekord TXT.
DMARC mówi odbiorcom, jak mają traktować wiadomości, które nie przechodzą kontroli SPF albo DKIM. Zacznij od ustawienia obserwacyjnego, a zaostrzysz je później:
Typ: TXT
Nazwa: _dmarc
Wartość: v=DMARC1; p=none; rua=mailto:postmaster@<DOMENA>.<ROZSZERZENIE>
Reverse DNS (PTR)
Rekord PTR rozwiązuje twój adres IP z powrotem na nazwę hosta. Wiele serwerów pocztowych wprost odrzuca połączenia bez pasującego rekordu PTR. U nas ustawisz go samodzielnie w panelu klienta:
"Moje usługi" -> "wybierz serwer" -> "kliknij przycisk Reverse DNS" -> mail.<DOMENA>.<ROZSZERZENIE>
Ważne jest to, żeby rekord PTR i nazwa hosta zgadzały się co do znaku.
Pierwsze kroki po instalacji
Jeśli instalacja się powiodła, zrestartuj raz serwer:
reboot
Po restarcie panel administracyjny znajdziesz pod adresem https://mail.<DOMENA>.<ROZSZERZENIE>. Zaloguj się na konto administratora, które utworzył instalator, i na samym początku zmień hasło. Następnie załóż swoją domenę oraz potrzebne skrzynki pocztowe.
Potem przetestuj pocztę w obie strony: wyślij wiadomość ze swojego nowego serwera na zewnętrzną skrzynkę oraz wiadomość z zewnątrz na swój nowy adres. To, czy SPF, DKIM, DMARC i PTR działają poprawnie, najszybciej sprawdzisz jednym z darmowych testerów poczty dostępnych w sieci.
Typowe błędy
- Instalacja przerywa się od razu: nazwa hosta nie jest pełną nazwą domenową. Sprawdź ją poleceniem
hostname -f. - Certyfikat nie zostaje wystawiony: rekord A dla mail.twojadomena nie wskazuje na serwer albo port 80 jest zablokowany. Let's Encrypt sprawdza domenę przez port 80.
- Wiadomości lądują w spamie: najczęściej brakuje rekordu PTR albo nie są ustawione SPF i DKIM. Sprawdź wszystkie cztery rekordy, zanim uruchomisz serwer produkcyjnie.
- Wychodzące wiadomości są odrzucane: adres IP być może figuruje na liście blokad. Większość operatorów udostępnia sposób na sprawdzenie wpisu i wniosek o jego usunięcie.
- Instalator zgłasza błąd bazy danych: MariaDB nie przeszła jeszcze konfiguracji poleceniem
mysql_secure_installationalbo w pliku installer.cfg nie zgadza się sekcja bazy danych. - Po restarcie nic już nie działa: sprawdź powiązane usługi poleceniem
systemctl status postfix dovecot nginx.
Własny serwer pocztowy wymaga więcej opieki niż inne usługi: aktualizacji, kopii zapasowych skrzynek i pilnowania dostarczalności. Jeśli to na siebie weźmiesz, dostaniesz w zamian pełną kontrolę nad swoją komunikacją.
Autor: XEfnexX (pseudonim)
Najczęstsze pytania
Której wersji Debiana potrzebuję do Modoboa?
Dlaczego moje wiadomości lądują w folderze spamu?
Czy mogę zainstalować Modoboa na serwerze z istniejącą stroną WWW?
Które porty muszę otworzyć?
Jak ustawić wpis Reverse DNS?
2023-2026 KernelHost GmbH. Wszelkie prawa zastrzeżone. Ten poradnik jest chroniony prawem autorskim. Publikowanie go w innych serwisach, w całości, we fragmentach lub w zmienionej formie, wymaga naszej pisemnej zgody. Cytaty z podaniem źródła i z linkiem są jak najbardziej mile widziane.

