GNU/Linux >> Znalost Linux >  >> Ubuntu

Nastavte poštovní server pomocí PostfixAdmin

Postfix Admin je webové rozhraní, které uživatelům umožňuje konfigurovat a spravovat e-mailový server založený na Postfixu. S Postfix Admin můžete vytvářet a spravovat více virtuálních domén, uživatelů a aliasů.

Toto je první příspěvek v sérii pro Nastavení a konfiguraci poštovního serveru, který pokrývá vytváření nezbytných DNS záznamů a vysvětluje, jak nainstalovat a nakonfigurovat Postfix Admin, Nginx s bezplatným certifikátem Let’s Encrypt, PHP a MySQL.

Tento tutoriál byl napsán pro Ubuntu 16.04, nicméně stejné kroky s malými úpravami by měly fungovat na jakékoli novější verzi Ubuntu.

Předpoklady #

Jako předpoklady pro sledování této série budete potřebovat:

  • Server Ubuntu 16.04. Název hostitele serveru musí být úplný název domény. V této sérii budeme používat mail.linuxize.com .
  • Uživatel s právy sudo.

Nastavení DNS #

Aby váš poštovní systém fungoval, musíte nastavit následující záznamy DNS:

  • Záznam, který nasměruje FQDN (hostname) vašeho systému na adresu IPv4 vašeho poštovního serveru.
mail.linuxize.com. 3600 IN A   23.45.67.89
Úplný název domény se skládá ze dvou částí, názvu hostitele a názvu domény.
  • Záznam MX, který určuje, který poštovní server je odpovědný za přijímání e-mailových zpráv jménem domény příjemce. V našem případě chceme, aby byly všechny e-maily zasílány na adresu @linuxize.com e-mailové adresy, které má přijímat mail.linuxize.com poštovní server.
linuxize.com.      3600 IN MX  0 mail.linuxize.com.
  • Záznam SPF, který se používá k ověření, které poštovní servery jsou schváleny k odesílání e-mailů jménem dané domény. V níže uvedeném příkladu schvalujeme doménové poštovní servery (mx) a pokud kontrola SPF selže, výsledkem bude slabé selhání (~vše):
linuxize.com.      3600 IN TXT "v=spf1 mx ~all"
Samozřejmě musíte nahradit název domény a IP adresu vaším skutečným názvem domény a IP adresou vašeho poštovního serveru.

Reverzní DNS (PTR) #

Reverzní DNS (PTR) je mapování IP adresy na název domény, přesný opak DNS, který mapuje názvy domén na IP adresy.

Většina e-mailových serverů provede zpětné vyhledání DNS na IP adrese, která se k nim pokouší připojit, a nemusí přijímat e-maily ze serveru, pokud není nastaven záznam PTR.

Ve většině případů lze položky PTR nastavit prostřednictvím webového rozhraní poskytovatele hostingu nebo kontaktováním týmu podpory a požádat ho, aby pro vás nastavil správný záznam PTR.

Ke zjištění reverzního DNS dané IP adresy můžete použít příkaz dig.

dig -x 23.45.67.89
23.45.67.89.in-addr.arpa domain name pointer mail.linuxize.com.

Vytvořte systémového uživatele #

Protože konfigurujeme poštovní server s virtuálními uživateli, potřebujeme jednoho systémového uživatele, který bude vlastníkem všech poštovních schránek a virtuální uživatelé jej budou používat k přístupu ke svým e-mailovým zprávám na serveru.

Následující příkaz vytvoří novou skupinu a uživatele s názvem vmail a nastavte domovský adresář uživatele na /var/mail/vmail :

sudo groupadd -g 5000 vmailsudo useradd -u 5000 -g vmail -s /usr/sbin/nologin -d /var/mail/vmail -m vmail

Všechny virtuální poštovní schránky budou uloženy v /var/mail/vmail adresář.

Instalovat Nginx PHP a MySQL #

Postfix Adminis je aplikace založená na PHP. Abychom mohli přistupovat k webovému rozhraní PostfixAdmin, musíme nainstalovat webový server a PHP.

Spusťte následující příkaz pro instalaci Nginx, PHP a všech požadovaných modulů PHP:

sudo apt install nginx mysql-server php7.0-fpm php7.0-cli php7.0-imap php7.0-json php7.0-mysql php7.0-opcache php7.0-mbstring php7.0-readline

Během instalace budete vyzváni k vytvoření kořenového hesla MySQL.

Stáhnout a nakonfigurovat Postfix Admin #

V době psaní 3.1 je nejnovější stabilní verze Postfix Admin.

Stáhněte si archiv Postfix Admin pomocí následujícího příkazu wget:

VERSION=3.1wget -q https://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-${VERSION}/postfixadmin-${VERSION}.tar.gz

Po dokončení stahování rozbalte archiv:

tar xzf postfixadmin-${VERSION}.tar.gz

Přesuňte zdrojové soubory správce Postfixu do /var/www adresář a vytvořte templates_c adresář (chytrá mezipaměť):

sudo mv postfixadmin-${VERSION}/ /var/www/postfixadminrm -f postfixadmin-${VERSION}.tar.gzmkdir /var/www/postfixadmin/templates_c

Nginx i PHP-FPM běží pod uživatelem www-data takže musíme změnit vlastnictví /var/www/postfixadmin tomuto uživateli:

sudo chown -R www-data: /var/www/postfixadmin

Postfix Admin bude používat databázi MySQL k ukládání informací o uživatelích, doménách a konfiguraci aplikace.

Přihlaste se do prostředí MySQL:

mysql -u root -p

Vytvořte novou databázi uživatelů MySQL pomocí následujících příkazů:

CREATE DATABASE postfixadmin;GRANT ALL ON postfixadmin.* TO 'postfixadmin'@'localhost' IDENTIFIED BY 'P4ssvv0rD';FLUSH PRIVILEGES;
Nezapomeňte si změnit heslo (P4ssvv0rD ) na něco bezpečnějšího.

Místo úpravy výchozí konfigurace správce Postfixu vytvoříme nový soubor s názvem config.local.php která přepíše výchozí nastavení aplikace:

Otevřete soubor s textovým souborem:

sudo nano /var/www/postfixadmin/config.local.php

Vložte následující php kód:

/var/www/postfixadmin/config.local.php
<?php
$CONF['configured'] = true;

$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfixadmin';
$CONF['database_password'] = 'P4ssvv0rD';
$CONF['database_name'] = 'postfixadmin';

$CONF['default_aliases'] = array (
  'abuse'      => '[email protected]',
  'hostmaster' => '[email protected]',
  'postmaster' => '[email protected]',
  'webmaster'  => '[email protected]'
);

$CONF['fetchmail'] = 'NO';
$CONF['show_footer_text'] = 'NO';

$CONF['quota'] = 'YES';
$CONF['domain_quota'] = 'YES';
$CONF['quota_multiplier'] = '1024000';
$CONF['used_quotas'] = 'YES';
$CONF['new_quota_table'] = 'YES';

$CONF['aliases'] = '0';
$CONF['mailboxes'] = '0';
$CONF['maxquota'] = '0';
$CONF['domain_quota_default'] = '0';
?>

Uložte a zavřete soubor.

Pomocí výše uvedené konfigurace definujeme typ databáze a přihlašovací údaje. Také určujeme výchozí aliasy a deaktivujeme fetchmail a povolení kvóty.

Dále spusťte následující příkaz k vytvoření schématu pro databázi Postfix Admin:

sudo -u www-data php /var/www/postfixadmin/upgrade.php

Jakmile je databáze naplněna, můžeme pokračovat a vytvořit našeho prvního uživatele superadmin PostfixAdmin pomocí postfixadmin-cli nástroj.

Tento uživatel bude mít administrátorská oprávnění upravovat nastavení libovolné domény nebo aplikace.

sudo bash /var/www/postfixadmin/scripts/postfixadmin-cli admin add [email protected] --superadmin 1 --active 1 --password P4ssvv0rD --password2 P4ssvv0rD

Výstup by měl vypadat nějak takto:

Welcome to Postfixadmin-CLI v0.2
---------------------------------------------------------------

The admin [email protected] has been added!

---------------------------------------------------------------
Nezapomeňte si změnit heslo (P4ssvv0rD ) pro účet superadmin na něco bezpečnějšího.

Nainstalujte si bezplatný certifikát Let’s Encrypt SSL #

Certifikát SSL použijeme pro přístup k naší instalaci správce Postfix a povolení šifrování Dovecot a Postfix SSL/TLS.

Máme pro vás návod, jak nainstalovat Let’s Encrypt SSL certifikát. Nejdůležitějším bodem je vygenerování certifikátu SSL pro název hostitele vašeho serveru (FQDN) v našem případě mail.linuxize.com .

Jakmile vygenerujete certifikát SSL podle výše uvedeného výukového programu, upravte blokování serveru Nginx následovně:

/etc/nginx/sites-enabled/mail.linuxize.com.conf
server {
    listen 80;
    server_name mail.linuxize.com;

    include snippets/letsencrypt.conf;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name mail.linuxize.com;
    root /var/www;

    ssl_certificate /etc/letsencrypt/live/mail.linuxize.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mail.linuxize.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/mail.linuxize.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    location / {
       try_files $uri $uri/ /index.php;
    }

    location /postfixadmin {
       index index.php;
       try_files $uri $uri/ /postfixadmin/index.php;
    }

    location ~* \.php$ {
         fastcgi_split_path_info ^(.+?\.php)(/.*)$;
         if (!-f $document_root$fastcgi_script_name) {return 404;}
         fastcgi_pass  unix:/run/php/php7.0-fpm.sock;
         fastcgi_index index.php;
         include fastcgi_params;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Znovu načtěte službu Nginx, aby se změny projevily:

sudo systemctl reload nginx

V tomto okamžiku byste měli být schopni přihlásit se k instalaci Postfix Admin na https://mail.linuxize.com/postfixadmin , pomocí uživatele superadmin vytvořeného dříve v tomto tutoriálu.


Ubuntu
  1. Nastavte poštovní server pomocí PostfixAdmin a MariaDB na CentOS 7

  2. Jak nastavit poštovní server pomocí PostfixAdmin na CentOS 7

  3. Jak nainstalovat poštovní server s PostfixAdmin na Ubuntu 20.04

  1. Jak nastavit poštovní server pomocí PostfixAdmin na Debianu 11

  2. Jak nastavit poštovní server s Modoboa na Debianu 10

  3. Nastavte poštovní server pomocí PostfixAdmin na Debianu 9

  1. Jak snadno nastavit poštovní server na Debian 9 Stretch s iRedMail

  2. Jak snadno nastavit poštovní server na Debian 10 Buster s iRedMail

  3. Jak snadno nastavit plně vybavený poštovní server na CentOS 7 s iRedMail