Vlastní hostitel

Požadavky

Před spuštěním instalačního skriptu se ujistěte, že máte následující:

  • Operační systém: Server založený na Linuxu (např. Ubuntu 22.04+).
  • Zdroje: 1 vCPU a 2 GB RAM
  • Kořenový přístup: Administrativní oprávnění pro provádění příkazů.
  • Název domény: Vlastní doména připravená pro konfiguraci DNS.
  • Vyčistěte IP: Zkontrolujte, zda má váš server čistou IP adresu bez předchozí reputace nevyžádané pošty. Více informací zde.

[!TIP] Podívejte se na náš seznam úžasní poskytovatelé poštovních serverů

Cloud-init / User-data

Většina cloudových dodavatelů podporuje konfiguraci cloud-init, když je zřízen virtuální privátní server (VPS). Je to skvělý způsob, jak nastavit některé soubory a proměnné prostředí předem pro použití logikou počátečního nastavení skriptů, což obejde nutnost žádat během běhu skriptu o další informace.

Možnosti

  • EMAIL - EMAIL proměnná prostředí používaná pro připomenutí vypršení platnosti certbotu
  • DOMAIN - vlastní doména používaná pro vlastní nastavení hostingu
  • AUTH_BASIC_USERNAME - uživatelské jméno použité při prvním nastavení k ochraně webu
  • AUTH_BASIC_PASSWORD - passward použitý při prvním nastavení k ochraně webu
  • /root/.cloudflare.ini - (Pouze uživatelé Cloudflare)konfigurační soubor cloudflare používaný certbotem pro konfiguraci DNS. Vyžaduje, abyste nastavili svůj API token přes dns_cloudflare_api_token. Přečtěte si více zde.

Příklad:

#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

Instalovat

Spuštěním následujícího příkazu na serveru stáhněte a spusťte instalační skript:

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

Debug instalační skript

Přidejte DEBUG=true před instalační skript pro podrobný výstup:

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

Výzvy

1. Initial setup
2. Setup Backups
3. Setup Auto Upgrades
4. Renew certificates
5. Restore from Backup
6. Help
7. Exit
  • Počáteční nastavení: Stáhněte si nejnovější předávací e-mailový kód, nakonfigurujte prostředí, vyžádejte si vlastní doménu a nastavte všechny potřebné certifikáty, klíče a tajemství.
  • Nastavení zálohování: Nastaví cron pro zálohování mongoDB a redis pomocí úložiště kompatibilního s S3 pro bezpečné vzdálené úložiště. Samostatně bude sqlite zálohován při přihlášení, pokud dojde ke změnám pro zabezpečené, šifrované zálohy.
  • Upgrade nastavení: Nastavte cron pro vyhledávání nočních aktualizací, které bezpečně obnoví a restartují součásti infrastruktury.
  • Obnovit certifikáty: Certbot / lets encrypt se používá pro certifikáty SSL a klíče vyprší každé 3 měsíce. Tím obnovíte certifikáty pro vaši doménu a umístíte je do potřebné složky, aby mohly být spotřebovány související komponenty. Vidět důležité cesty k souborům
  • Obnovit ze zálohy: Spustí mongodb a redis k obnovení ze zálohovaných dat.

Počáteční nastavení (Možnost 1)

Vyberte možnost 1. Initial setup začít.

Po dokončení byste měli vidět zprávu o úspěchu. Můžete dokonce běhat docker ps vidět a komponenty se roztočily. Více informací o komponentách níže.

Služby

Název službyVýchozí portPopis
Web443Webové rozhraní pro všechny administrátorské interakce
API4000Vrstva API na abstraktní databáze
BreeŽádnýÚkol na pozadí a úkol běžec
SMTP465/587Server SMTP pro odchozí poštu
SMTP BreeŽádnýÚloha na pozadí SMTP
MX2525Výměna pošty pro příchozí e-maily a přeposílání e-mailů
IMAP993/2993Server IMAP pro správu příchozí pošty a poštovní schránky
POP3995/2995POP3 server pro správu příchozích e-mailů a poštovních schránek
SQLite3456SQLite server pro interakce s databází sqlite
SQLite BreeŽádnýPráce na pozadí SQLite
CalDAV5000CalDAV server pro správu kalendářů
MongoDB27017Databáze MongoDB pro správu většiny dat
Redis6379Redis pro ukládání do mezipaměti a správu stavu
SQLiteŽádnýDatabáze SQLite pro šifrované poštovní schránky

Důležité cesty k souborům

Poznámka: Hostitelská cesta níže je relativní k /root/forwardemail.net/self-hosting/.

KomponentHostitelská cestaCesta kontejneru
MongoDB./mongo-backups/backups
Redis./redis-data/data
Sqlite./sqlite-data/mnt/{SQLITE_STORAGE_PATH}
Env soubor./.env/app/.env
SSL certifikáty/klíče./ssl/app/ssl/
Soukromý klíč./ssl/privkey.pem/app/ssl/privkey.pem
Certifikát celého řetězu./ssl/fullchain.pem/app/ssl/fullchain.pem
Certifikáty CA./ssl/cert.pem/app/ssl/cert.pem
Soukromý klíč DKIM./ssl/dkim.key/app/ssl/dkim.key

[!DŮLEŽITÉ] Uložit .env soubor bezpečně. Je to důležité pro obnovu v případě selhání. Toto najdete v /root/forwardemail.net/self-hosting/.env.

Konfigurace

Počáteční nastavení DNS

Ve zvoleném poskytovateli DNS nakonfigurujte příslušné záznamy DNS. Poznamenejte si něco v závorkách (<>) je dynamický a je třeba jej aktualizovat podle vaší hodnoty.

TypJménoObsahTTL
A"@", "." nebo prázdné<ip_address>auto
CNAMEapi<název_domény>auto
CNAMEcaldav<název_domény>auto
CNAMEfe-odskočí<název_domény>auto
CNAMEimap<název_domény>auto
CNAMEmx<název_domény>auto
CNAMEpop3<název_domény>auto
CNAMEsmtp<název_domény>auto
MX"@", "." nebo prázdnémx.<název_domény> (priorita 0)auto
TXT"@", "." nebo prázdné"v=spf1 a -all"auto
Reverzní DNS / PTR záznam

Reverzní DNS (rDNS) nebo záznamy reverzního ukazatele (PTR záznamy) jsou pro e-mailové servery nezbytné, protože pomáhají ověřit legitimitu serveru odesílajícího e-mail. Každý poskytovatel cloudu to dělá jinak, takže budete muset vyhledat, jak přidat „Reverse DNS“ k mapování hostitele a IP na odpovídající název hostitele. Nejspíše v síťové části poskytovatele.

Port 25 blokován

Někteří poskytovatelé internetových služeb a poskytovatelé cloudu blokují číslo 25, aby se vyhnuli špatným aktérům. K otevření portu 25 pro SMTP / odchozí e-maily možná budete muset zadat lístek podpory.

Přihlášení

  1. Otevřete vstupní stránku Přejděte na https://<název_domény> a nahraďte <název_domény> doménou nakonfigurovanou v nastavení DNS. Měli byste vidět vstupní stránku Forward Email.

  2. Přihlaste se a připojte svou doménu

  • Přihlaste se pomocí platného e-mailu a hesla.
  • Zadejte název domény, kterou chcete nastavit (musí odpovídat konfiguraci DNS).
  • Postupujte podle pokynů a přidejte požadované MX a TXT záznamy pro ověření.
  1. Dokončete nastavení
  • Po ověření přejděte na stránku Aliasy a vytvořte svůj první alias.
  • Volitelně nakonfigurujte SMTP pro odchozí e-maily v Nastavení domény. To vyžaduje další záznamy DNS.

[!POZNÁMKA] Žádné informace nejsou odesílány mimo váš server. Možnost vlastního hostování a počáteční účet jsou určeny pouze pro přihlášení správce a webové zobrazení pro správu domén, aliasů a souvisejících e-mailových konfigurací.

Testování

Vytvoření prvního aliasu

  1. Přejděte na stránku Aliasy Otevřete stránku správy aliasu:
https://<domain_name>/en/my-account/domains/<domain_name>/aliases
  1. Přidejte nový alias
  • Klikněte Přidat alias (vpravo nahoře).
  • Zadejte název aliasu a podle potřeby upravte nastavení e-mailu.
  • (Volitelné) Povolit IMAP/POP3/CalDAV podporu zaškrtnutím políčka.
  • Klikněte Vytvořit alias.
  1. Nastavte heslo
  • Klikněte Vygenerovat heslo k vytvoření bezpečného hesla.
  • Toto heslo bude vyžadováno pro přihlášení do vašeho e-mailového klienta.
  1. Nakonfigurujte si e-mailového klienta
  • Použijte e-mailového klienta, jako je Thunderbird.
  • Zadejte název aliasu a vygenerované heslo.
  • Nakonfigurujte IMAP a SMTP odpovídajícím způsobem.
Nastavení e-mailového serveru

uživatelské jméno: <alias name>

TypNázev hostitelePřístavZabezpečení připojeníAutentizace
SMTPsmtp.<název_domény>465SSL / TLSNormální heslo
IMAPimap.<název_domény>993SSL / TLSNormální heslo

Odeslání / Příjem vašeho prvního e-mailu

Po konfiguraci byste měli být schopni odesílat a přijímat e-maily na svou nově vytvořenou a hostovanou e-mailovou adresu!

Údržba

How do I backup my data

Postupujte podle instalační skript a vybrat si option 2 ve výzvě.

How do I renew my certificates

Postupujte podle instalační skript a vybrat si option 3 ve výzvě.

How do I upgrade to the latest forward email code

Postupujte podle instalační skript a vybrat si option 4 ve výzvě.

How do I restore from a backup

Postupujte podle instalační skript a vybrat si option 6 ve výzvě.

Odstraňování problémů

Why is the certbot acme challenge failing

Nejčastějším úskalím je, že certbot / letsencrypt někdy požádá 2 výzvy. Musíte si být jisti, že přidáte BOTH txt záznamy.

Příklad: Můžete vidět dvě výzvy, jako je tato: _acme-challenge.example.com -> "randomstring1" _acme-challenge.example.com -> "randomstring2"

Je také možné, že šíření DNS nebylo dokončeno. Můžete použít nástroje jako: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.<your_domain>. To vám dá představu, zda by se změny vašeho TXT záznamu měly projevit. Je také možné, že místní mezipaměť DNS na vašem hostiteli stále používá starou, zastaralou hodnotu nebo nezachytila poslední změny.

Další možností je použít automatické změny DNS cerbot nastavením /root/.cloudflare.ini soubor s tokenem api ve vašem cloud-init / user-data při úvodním nastavení VPS nebo vytvořte tento soubor a spusťte skript znovu. Tím se budou automaticky spravovat změny DNS a aktualizace výzev.

What is the basic auth username and password

Pro vlastní hostování přidáváme první vyskakovací okno pro nativní ověření prohlížeče s jednoduchým uživatelským jménem (admin) a heslo (náhodně vygenerované při úvodním nastavení). Přidáváme to jen jako ochranu pro případ, že by vás automatizace / scrapery nějak porazily, abyste se poprvé zaregistrovali na webu. Toto heslo najdete po úvodním nastavení ve svém .env soubor pod AUTH_BASIC_USERNAME a AUTH_BASIC_PASSWORD.

How do I know what is running

Můžete běžet docker ps vidět všechny běžící kontejnery, které se otáčejí z docker-compose-self-hosting.yml soubor. Můžete také běhat docker ps -a zobrazit vše (včetně kontejnerů, které neběží).

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

Můžete běžet docker ps -a zobrazit vše (včetně kontejnerů, které neběží). Můžete vidět výstupní protokol nebo poznámku.

How do I find logs

Více logů můžete získat přes docker logs -f <container_name>. Pokud něco odešlo, pravděpodobně to souvisí s .env soubor je nesprávně nakonfigurován.

Ve webovém uživatelském rozhraní můžete zobrazit /admin/emails a /admin/logs pro protokoly odchozích e-mailů a protokoly chyb.

Why are my outgoing emails timing out

Pokud se při připojování k serveru MX zobrazí zpráva jako Vypršel časový limit připojení..., možná budete muset zkontrolovat, zda není blokován port 25. Je běžné, že poskytovatelé internetových služeb nebo poskytovatelé cloudu to ve výchozím nastavení blokují, kde možná budete muset požádat o podporu / podat tiket, aby se to otevřelo.

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

Podívejte se na naše FAQ zde.

mxtoolbox

google postmaster nástroje

Použijte svou IP adresu serveru ke kontrole proti následujícím webům, zda nejsou na černé listině. Bohužel není neobvyklé, že běžní poskytovatelé cloudu mají problémy s reputací IP při používání e-mailového spamu. Pokud vidíte svou IP na černé listině, doporučujeme spustit nový server a zkontrolovat novou IP adresu.

spamhaus

spamované