Self Hosted

Követelmények

A telepítő szkript futtatása előtt győződjön meg arról, hogy rendelkezik a következőkkel:

  • Operációs rendszer: Linux alapú szerver (pl. Ubuntu 22.04+).
  • Erőforrások: 1 vCPU és 2 GB RAM
  • Root Access: Adminisztrátori jogosultságok parancsok végrehajtásához.
  • Domain név: Egyéni tartomány, amely készen áll a DNS-konfigurációra.
  • Tiszta IP: A feketelisták ellenőrzésével győződjön meg arról, hogy szervere tiszta IP-címmel rendelkezik, és nincs előzetes spam hírnév. További információ itt.

[!TIPP] Tekintse meg a listánkat fantasztikus levelezőszerver-szolgáltatók

Cloud-init / Felhasználói adatok

A legtöbb felhőszolgáltató támogatja a felhő-init konfigurációt a virtuális magánkiszolgáló (VPS) kiépítéséhez. Ez nagyszerű módja annak, hogy bizonyos fájlokat és környezeti változókat idő előtt beállítson a szkriptek kezdeti beállítási logikájának használatára, amely megkerüli a további információk kérését, miközben a szkript fut.

Opciók

  • EMAIL - EMAIL certbot lejárati emlékeztetőkhöz használt környezeti változó
  • DOMAIN - egyéni tartomány az önálló hosting beállításhoz
  • AUTH_BASIC_USERNAME - az első alkalommal használt felhasználónév a webhely védelme érdekében
  • AUTH_BASIC_PASSWORD - az első beállításnál használt passward a webhely védelme érdekében
  • /root/.cloudflare.ini - (Csak Cloudflare felhasználók)cloudflare konfigurációs fájl, amelyet a certbot használ a DNS-konfigurációhoz. Ehhez be kell állítania az API tokent a következőn keresztül dns_cloudflare_api_token. Olvass tovább itt.

Példa:

#cloud-config
write_files:
  - path: /root/.cloudflare.ini
    content: |
      dns_cloudflare_api_token = "xxx"
    owner: root:root
    permissions: '0600'
  - path: /etc/profile.d/env.sh
    content: |
      export EMAIL="test@myemail.com"
      export DOMAIN="mydomain.com"

runcmd:

  • chmod +x /etc/profile.d/env.sh

Telepítés

Futtassa a következő parancsot a kiszolgálón a telepítőszkript letöltéséhez és végrehajtásához:

bash <(curl -fsSL https://raw.githubusercontent.com/forwardemail/forwardemail.net/master/self-hosting/setup.sh)

Telepítési szkript hibakeresése

Adja hozzá a DEBUG=true értéket a telepítési szkript elé a részletes kimenethez:

DEBUG=true bash <(curl -fsSL https://raw.githubusercontent.com/forwardemail/forwardemail.net/master/self-hosting/setup.sh)

Kéri

1. Initial setup
2. Setup Backups
3. Setup Auto Upgrades
4. Renew certificates
5. Restore from Backup
6. Help
7. Exit
  • Kezdeti beállítás: Töltse le a legfrissebb továbbítási e-mail kódot, konfigurálja a környezetet, kérje le egyéni tartományát, és állítsa be az összes szükséges tanúsítványt, kulcsot és titkot.
  • Biztonsági mentés beállítása: Beállít egy cron-t a mongoDB biztonsági mentéséhez, és egy S3-kompatibilis tároló használatával újraindítja a biztonságos, távoli tárolást. Külön-külön, az sqlite biztonsági mentése bejelentkezéskor történik, ha a biztonságos, titkosított biztonsági mentések módosítása történik.
  • Frissítés beállítása: Állítson be egy cront az éjszakai frissítések kereséséhez, amelyek biztonságosan újraépítik és újraindítják az infrastruktúra-összetevőket.
  • Tanúsítványok megújítása: A Certbot / lets encrypt SSL-tanúsítványokhoz használatos, és a kulcsok 3 havonta lejárnak. Ez megújítja a domain tanúsítványait, és elhelyezi azokat a szükséges mappába, ahol a kapcsolódó összetevők felhasználhatók. Lásd fontos fájl útvonalak
  • Visszaállítás biztonsági másolatból: Elindítja a mongodb-t és a redis-t a biztonsági másolatból való visszaállításhoz.

Kezdeti beállítás (1. lehetőség)

Válasszon opciót 1. Initial setup kezdeni.

Ha elkészült, egy sikerüzenetet kell látnia. Még futni is tudsz docker ps látni a felpörögtek az alkatrészek. További információ a komponensekről alább.

Szolgáltatások

Szolgáltatás neveAlapértelmezett portLeírás
Web443Webes felület minden adminisztrátori interakcióhoz
API4000Api réteg absztrakt adatbázisokhoz
BreeEgyik semHáttér munka és feladat futó
SMTP465/587SMTP szerver a kimenő e-mailekhez
SMTP BreeEgyik semSMTP háttérmunka
MX2525Levélváltás bejövő e-mailekhez és e-mail-továbbításhoz
IMAP993/2993IMAP szerver a bejövő e-mailek és postafiókok kezeléséhez
POP3995/2995POP3 szerver a bejövő e-mailek és postafiókok kezelésére
SQLite3456SQLite szerver az sqlite adatbázis(ok)kal való interakcióhoz
SQLite BreeEgyik semSQLite háttérmunka
CalDAV5000CalDAV szerver naptárkezeléshez
MongoDB27017MongoDB adatbázis a legtöbb adatkezeléshez
Redis6379Redis gyorsítótárazáshoz és állapotkezeléshez
SQLiteEgyik semSQLite adatbázis(ok) titkosított postafiókokhoz

Fontos fájl elérési utak

Jegyzet: Gazda útvonala alább relatív /root/forwardemail.net/self-hosting/.

ÖsszetevőGazda útvonalaKonténer útvonala
MongoDB./mongo-backups/backups
Redis./redis-data/data
Sqlite./sqlite-data/mnt/{SQLITE_STORAGE_PATH}
Env fájl./.env/app/.env
SSL-tanúsítványok/kulcsok./ssl/app/ssl/
Privát kulcs./ssl/privkey.pem/app/ssl/privkey.pem
Teljes lánc tanúsítvány./ssl/fullchain.pem/app/ssl/fullchain.pem
CA tanúsítványok./ssl/cert.pem/app/ssl/cert.pem
DKIM privát kulcs./ssl/dkim.key/app/ssl/dkim.key

[!FONTOS] Mentse el a .env fájl biztonságosan. Kritikus a helyreállításhoz hiba esetén. Ezt megtalálod itt /root/forwardemail.net/self-hosting/.env.

Konfiguráció

Kezdeti DNS-beállítás

A választott DNS-szolgáltatóban konfigurálja a megfelelő DNS-rekordokat. Ne jegyezzen semmit zárójelben (<>) dinamikus, és frissíteni kell az Ön értékével.

típusNévTartalomTTL
A"@", "." vagy üres<ip_cím>auto
CNAMEapi<domain_name>auto
CNAMEcaldav<domain_name>auto
CNAMEfe-pattan<domain_name>auto
CNAMEimap<domain_name>auto
CNAMEmx<domain_name>auto
CNAMEpop3<domain_name>auto
CNAMEsmtp<domain_name>auto
MX"@", "." vagy üresmx.<domain_name> (0. prioritás)auto
TXT"@", "." vagy üres"v=spf1 a -all"auto
Fordított DNS / PTR rekord

A fordított DNS (rDNS) vagy a fordított mutató rekordok (PTR rekordok) elengedhetetlenek az e-mail szerverek számára, mert segítenek ellenőrizni az e-mailt küldő szerver legitimitását. Minden felhőszolgáltató ezt másképp csinálja, ezért meg kell keresnie, hogyan adhatja hozzá a "Reverse DNS"-t, hogy a gazdagépet és az IP-t a megfelelő gazdagépnévhez rendelje. Valószínűleg a szolgáltató hálózati szakaszában.

A 25-ös port blokkolva

Egyes internetszolgáltatók és felhőszolgáltatók blokkolják a 25-öt, hogy elkerüljék a rossz szereplőket. Előfordulhat, hogy támogatási jegyet kell benyújtania a 25-ös port megnyitásához az SMTP / kimenő e-mailek számára.

Felvétel

  1. Nyissa meg a céloldalt Lépjen a https://<tartománynév> oldalra, és cserélje ki a <domain_name> helyére a DNS-beállításokban konfigurált tartományt. Látnia kell az E-mail továbbítása céloldalt.

  2. Jelentkezzen be, és lépjen be a domainbe

  • Jelentkezzen be érvényes e-mail címmel és jelszóval.
  • Adja meg a beállítani kívánt tartománynevet (ennek meg kell egyeznie a DNS-konfigurációval).
  • Kövesse az utasításokat a szükséges hozzáadásához MX és TXT feljegyzések ellenőrzésére.
  1. Teljes telepítés
  • Az ellenőrzés után nyissa meg az Aliasok oldalt az első alias létrehozásához.
  • Opcionálisan konfigurálja SMTP a kimenő e-mailekhez ban,-ben Domain beállítások. Ehhez további DNS-rekordokra van szükség.

[!JEGYZET] A szerveren kívülre nem küldenek információt. A saját hosztolt opció és a kezdeti fiók csak az adminisztrátori bejelentkezéshez és webes nézethez használható a tartományok, álnevek és kapcsolódó e-mail-konfigurációk kezeléséhez.

Tesztelés

Az első alias létrehozása

  1. Lépjen az Aliasok oldalra Nyissa meg az alias kezelési oldalt:
https://<domain_name>/en/my-account/domains/<domain_name>/aliases
  1. Új alias hozzáadása
  • Kattintson Adjon hozzá álnevet (jobbra fent).
  • Adja meg az álnév nevét, és szükség szerint módosítsa az e-mail beállításokat.
  • (Opcionális) Engedélyezés IMAP/POP3/CalDAV támogatást a jelölőnégyzet bejelölésével.
  • Kattintson Alias létrehozása.
  1. Állítson be egy jelszót
  • Kattintson Jelszó generálása biztonságos jelszó létrehozásához.
  • Ez a jelszó szükséges az e-mail kliensbe való bejelentkezéshez.
  1. E-mail kliens konfigurálása
  • Használjon olyan levelezőprogramot, mint a Thunderbird.
  • Adja meg az álnév nevét és a generált jelszót.
  • Konfigurálja a IMAP és SMTP ennek megfelelő beállításokat.
E-mail szerver beállításai

Felhasználónév: <alias name>

típusGazdanévKikötőKapcsolatbiztonságHitelesítés
SMTPsmtp.<domain_name>465SSL / TLSNormál jelszó
IMAPimap.<domain_name>993SSL / TLSNormál jelszó

Az első e-mail küldése / fogadása

A konfigurálás után képesnek kell lennie arra, hogy e-maileket küldjön és fogadjon az újonnan létrehozott és saját e-mail címére!

Karbantartás

How do I backup my data

Kövesse a script telepítése és válassz option 2 a promptban.

How do I renew my certificates

Kövesse a script telepítése és válassz option 3 a promptban.

How do I upgrade to the latest forward email code

Kövesse a script telepítése és válassz option 4 a promptban.

How do I restore from a backup

Kövesse a script telepítése és válassz option 6 a promptban.

Hibaelhárítás

Why is the certbot acme challenge failing

A leggyakoribb buktató az, hogy a certbot / letsencrypt néha kér 2 kihívásokat. Mindenképpen hozzá kell adnia BOTH txt rekordok.

Példa: Két ehhez hasonló kihívást láthat: _acme-challenge.example.com -> "randomstring1" _acme-challenge.example.com -> "randomstring2"

Az is lehetséges, hogy a DNS terjesztése nem fejeződött be. Ilyen eszközöket használhat: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.<your_domain>. Ez képet ad arról, hogy a TXT rekord változásainak tükröződniük kell-e. Az is lehetséges, hogy a gazdagép helyi DNS-gyorsítótára még mindig régi, elavult értéket használ, vagy nem vette fel a legutóbbi módosításokat.

Egy másik lehetőség az automatikus cerbot DNS-módosítások használata a /root/.cloudflare.ini fájl az api tokennel a felhő-init/felhasználói adatok között a VPS kezdeti beállításakor, vagy hozza létre ezt a fájlt, és futtassa újra a szkriptet. Ez automatikusan kezeli a DNS-módosításokat és megkérdőjelezi a frissítéseket.

What is the basic auth username and password

Saját hosting esetén adunk hozzá egy böngésző natív hitelesítési előugró ablakot egy egyszerű felhasználónévvel (admin) és jelszó (a kezdeti beállításkor véletlenszerűen generálva). Ezt csak védelemként adjuk hozzá, arra az esetre, ha az automatizálás/lehúzó valahogy legyőzné Önt, és először regisztrálhat az internetes élményre. Ezt a jelszót a kezdeti beállítás után találhatja meg az Ön .env alatti fájl AUTH_BASIC_USERNAME és AUTH_BASIC_PASSWORD.

How do I know what is running

Futhatsz docker ps hogy megtekinthesse az összes futó tárolót, amely felpörgetett a docker-compose-self-hosting.yml fájlt. Futni is lehet docker ps -a mindent látni (beleértve a nem futó tárolókat is).

How do I know if something isn't running that should be

Futhatsz docker ps -a mindent látni (beleértve a nem futó tárolókat is). Láthat egy kilépési naplót vagy megjegyzést.

How do I find logs

Több naplót kaphat a következőn keresztül docker logs -f <container_name>. Ha valami kilépett, az valószínűleg a .env a fájl nem megfelelően van konfigurálva.

A webes felhasználói felületen belül megtekintheti /admin/emails és /admin/logs a kimenő e-mail naplókhoz, illetve a hibanaplókhoz.

Why are my outgoing emails timing out

Ha az MX szerverhez való csatlakozáskor olyan üzenetet lát, mint a Connection time out..., akkor előfordulhat, hogy ellenőriznie kell, hogy a 25-ös port blokkolva van-e. Gyakori, hogy az internetszolgáltatók vagy a felhőszolgáltatók ezt alapértelmezés szerint blokkolják, ahol előfordulhat, hogy fel kell vennie a kapcsolatot a támogatással / jegyet kell benyújtania a megnyitáshoz.

What tool(s) should I use to test email configuration best practices and IP reputation

Vessen egy pillantást nálunk GYIK itt.

mxtoolbox

google postmaster eszközök

A szerver IP-címével ellenőrizze, hogy a következő webhelyek szerepelnek-e a tiltólistán. Sajnos nem ritka, hogy az általános felhőszolgáltatóknál IP-problémák lépnek fel az e-mailek spamhasználatával kapcsolatban. Ha az IP-címét feketelistán látja, javasoljuk, hogy állítson fel egy új szervert, és ellenőrizze az új IP-címet.

spamhaus

spammelt