Poste.io - Instalacja serwera email na systemie Debian 10

Poradniki
zarządzanie, mail, poradnik-miesiąca
Jakub
Jakub

Co to Poste.IO?

PosteIO to gotowe oprogramowanie serwera pocztowego w dockerze.

Sprawdź czy twoje IP nie jest na czarnych listach!

Możesz to zrobić np. tutaj.

1. Wstęp

Cześć, zapewne dużo osób z Was chciało mieć skrzynkę pocztową na własnym serwerze VPS/DEDYKU ale nie chciało się Wam bawić w ręczną konfigurację postfix'a itd.

2. Wymagania

  • Wirtualizacja KVM bądź kontener LXC odpalony z parametrem nesting.
  • Domena z możliwością zarządzania rekordami
  • Publiczny adres IP
  • Możliwość zmiany revDNS'A na serwerze VPS/DEDYKOWANYM
  • 1vCPU
  • 2GB ramu(jeśli wyłączymy ClamAV to wystarczy ok. 512MB.
  • 5GB miejsca wolnego na dysku(na oprogramowanie + wiadomości).

ClamAV - są to narzędzia antywirusowe - ja osobiście mam to wyłączone.

3. Konfiguracja domeny

  • Dodajemy rekord A(jeśli posiadamy ipv6 dodajemy również rekord AAA) wskazujący na adres IP naszego serwera na którym będzie skrzynka pocztowa.

  • Jeśli nasza domena zarządzana jest za pomocą CloudFlare'a odznaczamy pomarańczową chmurkę przy rekordzie - czyli wyłączamy proxowanie ruchu.

Powinno wyglądać to tak:

po1|690x166

  • Dodajemy rekord TXT który powinien wyglądać tak: v=spf1 a mx ip4:nasze_ip_v4 ip6:nasze_ip_v6 -all

4. Zmiana revDNS'A Przechodzimy do ustawień naszego adresu IP i ustawiamy revDNS'A który jest zgodny z domeną na której będzie serwer pocztowy.

po9|690x147

5. Instalacja docker'a

  • Instalujemy potrzebne pakiety:

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

  • Dodajemy klucz GPG docker'a(Jeśli wszystko pójdzie dobrze to powinno nam wypluć: "OK"):

sudo curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

  • Dodajemy repo docker'a

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

  • Aktualizujemy pakiety:

sudo apt update

  • Instalujemy docker'a

sudo apt-get install docker-ce docker-ce-cli containerd.io

6. Instalacja PosteIO

Ja domyślnie wyłączam ClamAV, jeśli ktoś chce jednak to zostawić uruchomione należy usunąć parametr:

-e "DISABLE_CLAMAV=TRUE"

Jeśli ktoś chce można również zmienić porty działania serwera SMTP etc.. Więcej informacji na ten temat znajduje się tutaj.

My jednak odpalamy wszystko na domyślnych portach :nosacz:.

Tworzymy kontener:

docker run --net=host -e TZ=Europe/Warsaw -e "DISABLE_CLAMAV=TRUE" -v /mailserver/data:/data --name "mailserver" -h "bspeak.pl" -t analogic/poste.io

Ok, jeśli wszystko utworzyło się pomyślnie, powinno wyglądać to tak: po2|658x416

Teraz klikamy CTRL+C aby zakończyć działanie kontenera. Jeśli wszystko przebiegnie pomyślnie powinno wyglądać to tak: po3|659x414

7. Automatyczny start PosteIO po restarcie serwera

  • Odpalamy crontab'a:

crontab -e

  • Dodajemy wpis:

@reboot docker start mailserver

Jeśli zmienialiśmy nazwę kontenera to należy ją podmienić w cronie.

8. Pierwsza konfiguracja PosteIO

Wcześniej wyłączyliśmy kontener to teraz trzeba go odpalić.

  • Włączamy kontener za pomocą komendy:

docker start mailserver

Następnie wchodzimy na stronę z panelem zarządzania:

https://nasza_domena.pl/admin/

po4|690x416

W pierwszym polu nic nie zmieniamy. W drugim polu podajemy jaki chcemy mieć adres jako administratorzy systemu, w moim przypadku to będzie admin@bspeak.pl W trzecim polu należy podać hasło do konta administratora. Następnie klikamy Sumbit.

9. Tworzenie DKIM'A Jeśli już jesteśmy w panelu admina to przechodzimy do zakładki "Virtual domains" i wybieramy naszą domenę klikając na nią.

po5|690x263

Jeśli już wygenerowaliśmy DKIM'A to przechodzimy do zarządzania strefą DNS naszej domeny, i dodajemy rekord TXT który powinien wyglądać tak:

po6|690x299

10. Generowanie certyfikatu SSL

Okej, zostało nam jeszcze wygenerować certyfikat SSL dla serwera email, żeby to wykonać przchodzimy pod adres:

https://nasza_domena.pl/admin/settings/#certificate

Następnie klikamy zielone pole z napisem "issue free letsencrypt.org certificate".

po7|690x388

Zaznaczamy pole "Enabled" aby certyfikat nam się automatycznie odnawiał i go generujemy. Klikamy "Save changes".

11. Skrzynka pocztowa

Teraz możesz tworzyć dowolną ilość kont i dodawać dowolną ilość domen do twojego serwera pocztowego.

Aby przejść do roundcub'a czyli skrzynki pocztowej wchodzimy pod poniższy link i się logujemy.

https://nasza_domena.pl/webmail/

12. Porty na których działają usługi

Wszystkie używane porty przez PosteIO znajdziesz tutaj.

Gotowe 🎉

|84x126Poradnik miesiąca: sierpień 2020

Mespi
Mespi

Gdybym miał ocenić trudność poradnika, to 3/5 LVLUPki. Co do czasu konfiguracji, to 15-30 minut.

(Info dla szanownej moderacji, gdy będzie przyznawać poziomy trudności)

Bardzo pomocny poradnik :)

Wright
Wright

Jakub:

  • Dodajemy rekord SRV który powinien wyglądać tak: v=spf1 a mx ip4:nasze_ip_v4 ip6:nasze_ip_v6 -all

Mogę się mylić, ale nie czasami rekord TXT?

anon95087592
anon95087592

A pytanie, co gdy użytkownik ma np. serwer nginx na takim VPS ? :thinking:

Timo
Timo Moderator forum.lvlup.pro

Możesz użyć reverse proxy w nginx, a w poste.io ustawić samo http na jakimś porcie. Wtedy nginx będzie pośredniczył w ruchu, obsługując https.

anon95087592
anon95087592

Wiem lecz fajnie jakby autor zrobił next część poradnika z takim przypadkiem 😉

Jakub
Jakub

Pomyliłem się , dzięki za wskazanie błędu ;)

Jakub
Jakub

Pojawi się niedługo 😛

anon95087592
anon95087592

I fajnie 😉