GNU/Linux >> Znalost Linux >  >> Debian

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

V tomto tutoriálu vám ukážeme, jak nastavit poštovní server pomocí PostfixAdmin na Debian 9 VPS. Nakonfigurujeme poštovní server s Postfixem, Dovecotem a MariaDB.

PostfixAdmin je webové grafické uživatelské rozhraní pro databázi, kterou používá Postfix. Pomocí Postfixadmin můžete snadno spravovat svůj poštovní server, například přidávat a odebírat domény, e-mailové účty, aliasy a kvóty. Webové GUI zpřístupňuje tyto funkce a vlastnosti a umožňuje vám měnit a přistupovat k informacím, když jste mimo váš terminál. Začněme.

Předpoklady:

  • Debian 9 VPS
  • Přístup SSH s oprávněními root nebo přístup k uživateli, který má oprávnění sudo

Krok 1:Přihlaste se přes SSH a aktualizujte systém

Přihlaste se ke svému Debian 9 VPS:

# ssh root@IP_Address -p Port_number

Zda máte na svém serveru nainstalovanou správnou verzi Debianu, můžete zkontrolovat pomocí následujícího příkazu:

# lsb_release -a

Měli byste získat tento výstup:

ID distributora:DebianDescription:Debian GNU/Linux 9.9 (Stretch)Vydání:9.9Kódové jméno:stretch

Poté spusťte následující příkaz, abyste se ujistili, že všechny nainstalované balíčky na serveru jsou aktualizovány na nejnovější dostupné verze:

# apt update &&apt upgrade

Krok 2:Vytvořte systémového uživatele

Z bezpečnostních důvodů vytvoříme nového uživatele systému, který bude vlastníkem všech schránek.

# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Uživatel virtuální pošty" vmail# mkdir -p /var/vmail# chmod -R 770 /var/vmail # chown -R vmail:mail /var/vmail

Krok 3:Instalace serveru MariaDB

PostfixAdmin podporuje databázové systémy MySQL/MariaDB, PostgreSQL a SQLite. V tomto tutoriálu použijeme MySQL/MariaDB jako databázové úložiště.

# apt install mariadb-server

Chcete-li spustit službu MariaDB a povolit její spuštění při spouštění, proveďte následující příkazy:

# systemctl spustit mariadb# systemctl povolit mariadb

Nyní můžete přeskočit následující krok, pokud nechcete mít kořenové heslo MySQL.

# mysql_secure_installation

Až budete vyzváni, odpovězte na níže uvedené otázky podle průvodce.

Zadejte aktuální heslo pro root (zadejte pro žádné):Stačí stisknout klávesu [Enter], protože neexistuje žádné výchozí heslo. Nastavit heslo root? [A/n]:YNové heslo:Zadejte hesloZnovu zadejte nové heslo:Opakujte hesloOdebrat anonymní uživatele? [A/n]:YZakázat vzdálené přihlášení root? [A/N]:YOdebrat testovací databázi a získat k ní přístup? [A/N]:YNačíst nyní tabulky oprávnění? [A/n]:Ano

Pokud byste postupovali podle výše uvedeného kroku, měli byste nově nastavené heslo pro uživatele root MySQL.

Dále spusťte tento příkaz pro přístup k prostředí MySQL.

# mysql -u root -p

Pokud jste spustili skript zabezpečené instalace, nezapomeňte zadat heslo uživatele root.

Pokračujme vytvořením databáze pro PostfixAdmin:

MariaDB [(none)]> VYTVOŘIT DATABÁZI postfixadmin;MariaDB [(none)]> UDĚLEJTE VŠECHNA OPRÁVNĚNÍ NA postfixadmin.* 'postfixadmin'@'localhost' IDENTIFIKOVANÉ PODLE 'M0d1fyth15';MariaDB [(none)] PRIVILEGES;MariaDB [(žádné)]> \q

Ujistěte se, že jste heslo pro uživatele databáze nahradili dobrým jedinečným heslem.

Krok 4:Nainstalujte PHP a všechny potřebné moduly PHP

Toto je

apt install apache2 php php-mbstring php-imap php-mysql libapache2-mod-php7.0

Krok 5:Nainstalujte Postfix

Nainstalujte Postfix pomocí příkazu níže:

# apt install postfix-mysql


Vyberte Internetové stránky a pokračujte kliknutím na OK.

Budete požádáni o jméno systémové pošty, ujistěte se, že je stejné jako vaše jméno hostitele.

Jakmile je instalace dokončena, musíme vytvořit konfigurační soubory:

# mkdir -p /etc/postfix/sql/

Odtud se vytvoří několik konfiguračních souborů. Ujistěte se, že všechny hodnoty, které se zde liší, nahraďte nezbytnými hodnotami, jinak vaše konfigurace nemusí fungovat.

# nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' a alias.address =CONCAT('@', alias_domain) AND1active =alias_domain. alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain ='%d' a mailbox.username =CONCAT('%u', '@_domain', alias) .active =1 AND alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' a alias.address =CONCAT('%u', '@sget_main. alias AND) .active =1 AND alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_domains_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =VYBRAT doménu Z domény WHERE domain='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =VYBRAT kvótu FROM mailbox WHERE username='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT maildir FROM mailbox WHERE username='%s' AND active ='1'

Ve výše uvedených konfiguračních souborech používáme jako heslo ‚m0d1fyth15‘, změňte jej prosím na své vlastní heslo.

Nyní upravíme main.cf soubor vyvoláním následujících příkazů:

postconf -e "myhostname =$(hostname -f)"postconf -e "virtual_mailbox_domains =proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf"postconf -e "virtual_alias_maps =proxy:mysql postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_catchall_boxl -mysql_virtual_catchall_smapal_domain_moysql_virtual_catchall_smapal. /postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf"postconf -e "smtpd_tls_cert_file =/etlkets/keyd-sssl" =/etc/ssl/private/ssl-cert-snakeoil.key"postconf -e "smtpd_use_tls =yes"postconf -e "smtpd_tls_auth_only =yes"postconf -e "smtpd_sasl_type =dovecot "smtpd_use_tls - yes"postconf postconf -e "smtpd_sasl_auth_enable =yes"postconf -e "smtpd_recipient_restrictions =permit_sasl_authenticated, permit_mynetworks, cancel_unauth_destination" postconf -e "mydestination =localhost"postconf -e "mynetworks =127.0.0.0/8"postconf -e "inet_protocols =ipv4"postconf -e "inet_interfaces =all"postconf -e "virtual_transport =lmtp:unixot-private lmtp"

Otevřete master.cf soubor, najděte submission inet n a smtps inet n sekce a upravte následovně:

# nano /etc/postfix/master.cf
smtp inet n - y - - smtpd#smtp inet n - y - 1 postscreen#smtpd pass - - y - - smtpd#dnsblog unix - - y - 0 dnsblog#tlsproxy unix - - y - 0 tlsproxy -submission y - - smtpd-o syslog_name=postfix/submission-o smtpd_tls_security_level=encrypt-o smtpd_sasl_auth_enable=yes# -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# - o smtpd_recipient_restrictions=# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject-o smtpd_client_restrictions=permit_sasl_authenticated,reject-o milter_macro_daemon_name=ORIGINATINGsmtps inet n - y - - smtpd-o syslog_name=postfix/smtps# -o smtpd_tls_wrappermode=yes-o smtpd_sasl_auth_enable=yes# - o smtpd_reject_unlisted_recipient=no-o smtpd_client_restrictions=permit_sasl_authenticated,reject# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=_$mua_helo smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject-o milter_macro_daemon_name=PŮVODNÍ

Povolte a restartujte službu Postfix:

# systemctl povolit postfix# systemctl restartovat postfix

Krok 6:Instalace Dovecot

Nainstalujte Dovecot pomocí příkazu níže:

# apt install dovecot-mysql

Otevřete soubor /etc/dovecot/conf.d/10-mail.conf a změňte následující hodnoty:

# nano /etc/dovecot/conf.d/10-mail.conf
umístění pošty =maildir:/var/vmail/%d/%nmail_privileged_group =mailmail_uid =vmailmail_gid =mailfirst_valid_uid =150last_valid_uid =150

Otevřete soubor /etc/dovecot/conf.d/10-auth.conf a změňte následující hodnoty:

# nano /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms =plain login#!include auth-system.conf.ext!include auth-sql.conf.ext

Upravte dovecot-sql.conf.ext soubor a poté připojte tyto řádky:

# nano /etc/dovecot/dovecot-sql.conf.ext
driver =mysqlconnect =host=localhost dbname=postfixadmin user=postfixadmin password=M0d1fyth15default_pass_scheme =MD5-CRYPTpassword_query =VYBERTE uživatelské jméno jako uživatele, heslo, '/var/vmail/%d/%n' jako userdb_home:/ 'maild var/vmail/%d/%n' jako userdb_mail, 150 jako userdb_uid, 8 jako userdb_gid FROM mailbox WHERE username ='%u' AND active ='1'user_query =SELECT '/var/vmail/%d/%u' jako domov, 'maildir:/var/vmail/%d/%u' jako pošta, 150 AS uid, 8 AS gid, concat('dirsize:storage=', kvóta) AS kvóta Z poštovní schránky WHERE uživatelské jméno ='%u' A aktivní ='1'

Nezapomeňte zde také nahradit heslo a všechny další různé hodnoty.

V souboru /etc/dovecot/conf.d/10-ssl.conf povolte podporu SSL:

# nano /etc/dovecot/conf.d/10-ssl.conf
ssl =ano

Otevřete soubor /etc/dovecot/conf.d/15-lda.conf a nastavte postmaster_address e-mailovou adresu.

# nano /etc/dovecot/conf.d/15-lda.conf
adresa_postmastera [email protected]

Otevřete soubor /etc/dovecot/conf.d/10-master.conf, najděte sekci service lmtp a změňte ji na následující:

# nano /etc/dovecot/conf.d/10-master.conf
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode =0600 user =postfix group =postfix }}

vyhledejte sekci ověření služby a změňte ji na:

service auth { unix_listener /var/spool/postfix/private/auth { mode =0666 user =postfix group =postfix}unix_listener auth-userdb { mode =0600 user =vmail}user =dovecot}

Změňte sekci service auth-worker na následující:

service auth-worker {user =vmail}

Nastavte oprávnění:

# chown -R vmail:dovecot /etc/dovecot# chmod -R o-rwx /etc/dovecot

Povolte a restartujte službu Dovecot

# systemctl povolit dovecot# systemctl restartovat dovecot

Krok 7:Nainstalujte PostfixAdmin

V tomto kroku si stáhneme PostfixAdmin z Github a uložíme jej do /opt adresář.

# apt install git# cd /opt# git klon https://github.com/postfixadmin/postfixadmin.git# ln -s /opt/postfixadmin/public/ /var/www/html/mailadmin

Vložte tyto řádky do /opt/postfixadmin/config.local.php

# nano /opt/postfixadmin/config.local.php
# mkdir /opt/postfixadmin/templates_c# chown -R www-data:/opt/postfixadmin

Připojte se k http://1.2.3.4/mailadmin/setup.php a nezapomeňte nahradit 1.2.3.4 skutečnou IP adresou vašeho serveru. Pokud je vše v pořádku, přejděte dolů a vytvořte heslo pro nastavení.

klikněte na vygenerovat hash a uvidíte toto:

Musíte vložit setup_password hash, jak je znázorněno na obrázku výše, do /opt/postfixadmin/config.local.php, mělo by to vypadat takto


 Uložte soubor, pak se můžete vrátit na stránku nastavení a vytvořit uživatele PostfixAdmin admin. Heslo pro nastavení na této stránce je stejné, jaké jste použili v předchozím kroku – ostatní prázdná místa vyplňte podle potřeby a poté klikněte na tlačítko ‚Přidat správce‘.

Nyní můžete přejít na http://1.2.3.4/mailadmin/login.php přidat své domény a vytvořit tam e-mailové adresy.

A je to! Nyní máte PostfixAdmin nastavený a spuštěný na vašem serveru Debian 9.

Samozřejmě nemusíte nastavovat poštovní server pomocí PostfixAdmin na Debianu 9, pokud používáte některou z našich služeb hostování poštovních serverů, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám poštovní server nastavili. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.

PS. Pokud se vám tento příspěvek o tom, jak nastavit poštovní server s PostfixAdminem na Debianu 9, líbil nebo vám byl užitečný, sdílejte jej se svými přáteli na sociálních sítích pomocí zkratek pro sdílení nebo jednoduše zanechte komentář v sekci Komentáře níže. Děkuji.


Debian
  1. Jak nastavit SFTP server na Debian 11 Server

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

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

  1. Nastavte poštovní server pomocí PostfixAdmin

  2. Jak nastavit firewall s UFW na Debianu 10

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

  1. Jak nastavit firewall s UFW na Debianu 9

  2. Jak nastavit server OpenVPN na Debianu 9

  3. Jak nastavit Minecraft Server na Debianu 10