Table of Contents

Mailcow pašto serveris - pradžios vadovas

Šiame serveryje įdiegtas Mailcow – visiškai Docker konteineriuose veikiantis pašto serverio rinkinys su laiškų siuntimu ir gavimu, žiniatinklio paštu (SOGo), antišlamšto (Rspamd), antivirusine programa (ClamAV) ir administravimo skydeliu. Pašto domenas ir administratoriaus slaptažodis sukonfigūruojami automatiškai pagal užsakant nurodytus duomenis.


1 žingsnis – Patikrinkite, ar Mailcow veikia

Jūsų serverio IP adresas ir root slaptažodis nurodyti kliento skydelio puslapyje Server Details. Atidarykite https://your.server.ip naršyklėje. Naršyklė parodys saugumo įspėjimą dėl savarankiškai pasirašyto sertifikato – tai normalu, tęskite į svetainę.

Prisijungimo puslapio apačioje spustelėkite „Log in as administrator” . Įveskite administratoriaus prisijungimo duomenis:

  • Naudotojo vardas: admin
  • Slaptažodis: administratoriaus slaptažodis, kurį įvedėte užsakydami

Svarbu: Numatytasis prisijungimo puslapis skirtas pašto dėžučių naudotojams (prisijungimas el. paštu). Administravimo skydelis turi atskirą prisijungimą – naudokite nuorodą puslapio apačioje.

Jei matote Mailcow administravimo skydelį, viskas veikia teisingai.

Jei serverį patalpinote už VyOS maršrutizatoriaus privačiame tinkle, nustatykite 22 (SSH), 25 (SMTP), 80 (HTTP), 443 (HTTPS), 587 (Submission), 993 (IMAP) ir 995 (POP3) prievadų peradresavimą. Pašto serveris turi būti pasiekiamas iš interneto, kad galėtų siųsti ir gauti laiškus.


2 žingsnis – DNS įrašų konfigūravimas

Tinkama DNS konfigūracija yra itin svarbi laiškų pristatymui. Be teisingų įrašų jūsų laiškai bus atmesti arba pažymėti kaip šlamštas. Eikite į domeno registratoriaus DNS nustatymus ir pridėkite šiuos įrašus (pakeiskite your.server.ip savo tikruoju serverio IP, o example.com – savo domenu):

Tipas Pavadinimas Reikšmė
A mail your.server.ip
MX @ mail.example.com (prioritetas 10)
TXT @ v=spf1 mx a -all
TXT _dmarc v=DMARC1; p=quarantine; rua=mailto:postmaster@example.com
CNAME autodiscover mail.example.com
CNAME autoconfig mail.example.com

DKIM įrašas: Prisijungę prie administravimo skydelio, eikite į Configuration → ARC/DKIM keys , kad gautumėte DKIM raktą. Tada pridėkite:

Tipas Pavadinimas Reikšmė
TXT dkim._domainkey (nukopijuokite iš Mailcow administravimo skydelio)

Atvirkštinis DNS (PTR įrašas): Susisiekite su palaikymu, kad jūsų serverio IP PTR įrašas būtų nustatytas į mail.example.com. Tai būtina patikimam laiškų pristatymui.

DNS pakeitimai paprastai įsigalioja per kelias minutes, bet gali užtrukti iki 24 valandų. Būseną galite patikrinti dnschecker.org.


3 žingsnis – Pašto dėžučių kūrimas

Administravimo skydelyje:

  1. Eikite į E-Mail → Mailboxes
  2. Spustelėkite Add mailbox
  3. Įveskite naudotojo vardą (pvz., info), nustatykite slaptažodį ir spustelėkite Pridėti
  4. Nauja pašto dėžutė (pvz., info@example.com) paruošta naudoti

Naudotojai žiniatinklio paštą (SOGo) pasiekia adresu https://your.server.ip/SOGo – prisijungia visu el. pašto adresu ir pašto dėžutės slaptažodžiu.


Po įdiegimo

SSL su Let’s Encrypt

Mailcow turi integruotą Let’s Encrypt palaikymą. Kai jūsų A įrašas (mail.example.com) nukreiptas į serverį ir DNS išplito, įsitikinkite, kad SKIP_LETS_ENCRYPT=n faile mailcow.conf, ir paleiskite iš naujo:

cd /opt/mailcow-dockerized
docker compose down && docker compose up -d

Mailcow automatiškai gaus ir atnaujins sertifikatą.

El. pašto kliento konfigūravimas

El. pašto klientui (Outlook, Thunderbird, mobiliajam) prijungti naudokite šiuos nustatymus:

Protokolas Serveris Prievadas Saugumas
IMAP mail.example.com 993 SSL/TLS
SMTP mail.example.com 587 STARTTLS
POP3 mail.example.com 995 SSL/TLS

Naudotojo vardas yra visas el. pašto adresas (pvz., info@example.com). Jei sukonfigūravote autodiscover ir autoconfig DNS įrašus, dauguma el. pašto klientų šiuos nustatymus aptiks automatiškai.

Domenų pridėjimas

Viename Mailcow serveryje galite talpinti kelis pašto domenus:

  1. Eikite į Configuration → Mail Setup → Domains
  2. Spustelėkite Add domain ir įveskite naujo domeno pavadinimą
  3. Sukonfigūruokite naujo domeno DNS įrašus (MX, SPF, DKIM, DMARC) taip pat kaip 2 žingsnyje
  4. Sukurkite pašto dėžutes naujam domenui

Fail2Ban – apsauga nuo slaptažodžių spėjimo atakų

Jūsų serveryje įdiegta Fail2Ban iš anksto sukonfigūruotas apsaugoti SSH nuo slaptažodžių spėjimo atakų. Mailcow taip pat turi savo vidinę apsaugą nuo slaptažodžių spėjimo SMTP, IMAP, POP3 ir administravimo skydeliui – ją sukonfigūruosite administravimo sąsajoje skiltyje System → Configuration → Fail2ban parameters.

Taisyklė Maks. bandymų Blokavimo trukmė
SSH (host)5 nesėkmingi prisijungimai10 minučių

Naudingos komandos:

# Check banned IPs
fail2ban-client status sshd

# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4

Jei netyčia užsiblokavote, prisijunkite per VNC konsolę kliento skydelyje ir atblokuokite savo IP.

Paslaugų valdymas

# Check status
cd /opt/mailcow-dockerized && docker compose ps

# Restart all services
docker compose down && docker compose up -d

# View logs
docker compose logs -f --tail=100

Atsarginės kopijos

Mailcow turi integruotą atsarginių kopijų scenarijų:

# Create a backup
cd /opt/mailcow-dockerized
./helper-scripts/backup_and_restore.sh backup all --delete-days 7

# Automated daily backups (add to crontab -e)
0 3 * * * cd /opt/mailcow-dockerized && ./helper-scripts/backup_and_restore.sh backup all --delete-days 7

Pagal numatytuosius nustatymus atsarginės kopijos saugomos /var/backups/mailcow .

Atnaujinimai

Mailcow ir sistemos paketų atnaujinimas:

# Update Mailcow
cd /opt/mailcow-dockerized && sudo ./update.sh

# Update system packages
apt update && apt upgrade -y

Įdiegta programinė įranga

Komponentas Išsami informacija
Ubuntu24.04 LTS
Docker CENaujausia
MailcowNaujausia (Docker)
PostfixSMTP serveris
DovecotIMAP / POP3 serveris
SOGoŽiniatinklio pašto klientas
ClamAVAntivirusinė
RspamdAntišlamštas
Fail2BanApsauga nuo slaptažodžių spėjimo atakų

Trikčių šalinimas

Problema Sprendimas
Nepavyksta pasiekti žiniatinklio skydelio Patikrinkite, ar veikia konteineriai: cd /opt/mailcow-dockerized && docker compose ps. Jei reikia, paleiskite iš naujo: docker compose down && docker compose up -d
Prisijungimo puslapis prašo el. pašto Numatytasis puslapis skirtas pašto dėžučių naudotojams. Spustelėkite „Log in as administrator” puslapio apačioje, kad pasiektumėte administratoriaus prisijungimą
Laiškai patenka į šlamštą Patikrinkite DNS įrašus: SPF, DKIM ir DMARC turi būti teisingai sukonfigūruoti. PTR įrašą patikrinkite su dig -x your.server.ip. Išbandykite mail-tester.com
Nepavyksta siųsti ar gauti laiškų Patikrinkite MX įrašą: dig MX example.com. Įsitikinkite, kad jūsų teikėjas neblokuoja 25 prievado. Patikrinkite žurnalus: cd /opt/mailcow-dockerized && docker compose logs postfix-mailcow
Let’s Encrypt sertifikatas neišduotas Įsitikinkite, kad MAILCOW_HOSTNAME faile mailcow.conf atitinka jūsų DNS A įrašą ir SKIP_LETS_ENCRYPT=n. Žurnalų tikrinimas: docker compose logs acme-mailcow
ClamAV nepasiruošęs / didelis atminties naudojimas ClamAV per pirmąjį paleidimą atsisiunčia virusų duomenų bazes (~300 MB). Tai gali užtrukti kelias minutes. Patikrinkite: docker compose logs clamd-mailcow
Pamiršote administratoriaus slaptažodį Atkūrimas per SSH:
cd /opt/mailcow-dockerized && docker compose exec -T mysql-mailcow mysql -umailcow -p$(grep DBPASS mailcow.conf | cut -d= -f2) mailcow -e "UPDATE admin SET password='{SSHA256}' WHERE username='admin';"
Tada prisijunkite bet kokiu slaptažodžiu ir pakeiskite jį administravimo skydelyje
Užblokavo Fail2Ban Atblokuokite savo IP per VNC konsolę kliento skydelyje
Pamiršote root slaptažodį Atkurkite jį per VNC konsolę kliento skydelyje