Installéiert e komplette Mail Server mat Postfix a Webmail an Debian 9


Dësen Tutorial wäert Iech guidéieren wéi Dir e komplette Mailserver mat Postfix an der Debian 9 Verëffentlechung installéiere an konfiguréieren. Et wäert och ofdecken wéi d'Konten Mailboxen mat Dovecot konfiguréieren fir Mailen iwwer IMAP Protokoll ze recuperéieren an ze komponéieren. D'Benotzer benotze Rainloop Webmail Interface als Mail Benotzer Agent fir Mail ze handhaben.

  1. Debian 9 Minimal Installatioun
  2. Eng statesch IP Adress konfiguréiert fir den Netzwierkinterface
  3. E lokalen oder ëffentlechen registréierte Domain Numm.

An dësem Tutorial benotze mir e privaten Domain Kont fir Mail Server Setup konfiguréiert nëmmen iwwer /etc/hosts Datei, ouni en DNS Server involvéiert an der Handhabung vun der DNS Resolutioun.

Schrëtt 1: Initial Konfiguratiounen fir Postfix Mail Server op Debian

1. Am éischte Schrëtt, loggt Iech op Är Maschinn mat engem Kont mat Root Privilegien oder direkt mam Root Benotzer a gitt sécher datt Ären Debian System aktuell ass mat de leschte Sécherheetspatches a Software a Package Releases, andeems Dir de folgende Kommando ausginn.

# apt-get update 
# apt-get upgrade 

2. Op de nächste Schrëtt installéiert déi folgend Software Packagen déi fir Systemverwaltung benotzt ginn, andeems Dir de folgende Kommando ausginn.

# apt-get install curl net-tools bash-completion wget lsof nano

3. Als nächst, öffnen /etc/host.conf Datei fir Änneren mat Ärem Liiblingstexteditor a füügt déi folgend Zeil am Ufank vun der Datei un, fir datt d'DNS-Resolutioun d'Hostdatei als éischt liest.

order hosts,bind
multi on

4. Als nächst, setup Är Maschinn FQDN a füügt Ären Domain Numm an Äre System FQDN un /etc/hosts Datei. Benotzt Är System IP Adress fir den Numm vum Domain an FQDN ze léisen wéi am Screenshot hei ënnen illustréiert.

Ersetzen d'IP Adress an d'Domain entspriechend. Duerno, restart d'Maschinn fir den Hostnumm richteg z'applizéieren.

# hostnamectl set-hostname mail.linux-console.net
# echo "192.168.0.102 linux-console.net mail.linux-console.net" >> /etc/hosts
# init 6

5. Nom Neistart, z'iwwerpréiwen ob den Hostnumm richteg konfiguréiert ass andeems Dir déi folgend Serie vu Kommandoen ausstellt. Den Domain Numm, de FQDN, den Hostnumm an d'IP Adress vum System solle vum Hostname Kommando zréckginn.

# hostname
# hostname -s
# hostname -f
# hostname -A
# hostname -i
# cat /etc/hostname 

6. Test och ob d'Domain korrekt op lokal Ufroen äntwert andeems Dir déi folgend Kommandoen ausstellt. Sidd bewosst datt d'Domain net op Remote-Ufroen, déi vun anere Systemer an Ärem Netz erausginn sinn, zréckspillen, well mir keen DNS-Server benotzen.

Wéi och ëmmer, d'Domain sollt vun anere Systemer äntweren wann Dir den Domain Numm manuell an all vun hiren /etc/hosts Datei bäidréit. Sidd och bewosst datt d'DNS-Resolutioun fir eng Domän, déi an /etc/hosts Datei bäigefüügt gëtt, net iwwer Digbefehle funktionnéiert.

# getent ahosts mail.linux-console.net
# ping linux-console.net
# ping mail.linux-console.net

Schrëtt 2: Installéiert Postfix Mail Server op Debian

7. Dat wichtegst Stéck Software erfuerderlech fir e Mailserver richteg ze fonktionnéieren ass den MTA Agent. D'MTA ass eng Software gebaut an enger Server-Client Architektur, déi verantwortlech ass fir Mail Transfert tëscht Mail Serveren.

An dësem Guide benotze mir Postfix als Mail Transfer Agent. Fir Postfix an Debian vun offiziellen Repositories z'installéieren, fuert de folgende Kommando aus.

# apt-get install postfix

8. Während der Installatioun Prozess vun Postfix Dir wäert eng Rei vu Froen gefrot ginn. Op der éischter Ufro, wielt Internet Site Optioun als allgemeng Typ fir Postfix Konfiguratioun an dréckt op [Enter] Schlëssel fir weiderzemaachen an dann Ären Domain Numm op de System Mail Numm ze addéieren, wéi an de folgende Screenshots illustréiert.

Schrëtt 3: Postfix Mail Server op Debian konfiguréieren

9. Nächst, Backupsatellit Postfix Haaptrei Konfiguratiounsdatei a configuréieren Postfix fir Är Domain vun de folgende Kommandoen benotzt.

# cp /etc/postfix/main.cf{,.backup}
# nano /etc/postfix/main.cf

Elo konfiguréieren Postfix Konfiguratioun an der main.cf Datei wéi gewisen.

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
readme_directory = no

# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.debian.lan

mydomain = debian.lan

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

#myorigin = /etc/mailname
myorigin = $mydomain

mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost
relayhost = 
mynetworks = 127.0.0.0/8, 192.168.1.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
#inet_protocols = all
inet_protocols = ipv4

home_mailbox = Maildir/

# SMTP-Auth settings
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

Ersetzen de myhostname, mydomain a mynetworks Variablen fir Är eege Konfiguratiounen ze passen.

Dir kënnt postconf -n Kommando ausféieren fir d'Postfix Haaptkonfiguratiounsdatei ze dumpen an eventuell Feeler ze kontrolléieren, wéi am Screenshot ënnendrënner.

# postconf -n

10. Nodeems all Konfiguratiounen am Plaz sinn, Restart Postfix Daemon fir Ännerungen z'applizéieren an z'iwwerpréiwen ob de Service leeft andeems Dir iwwerpréift ob Postfix Master Service op Hafen verbindlech ass 25 andeems Dir netstat Kommando leeft.

# systemctl restart postfix
# systemctl status postfix
# netstat -tlpn

Schrëtt 3: Test Postfix Mail Server op Debian

11. Fir ze testen ob Postfix Mail Transfert handhaben kann, installéiere fir d'éischt Mailutils Package andeems Dir de folgende Kommando ausféiert.

# apt-get install mailutils

12. Als nächst, benotzt d'Mail Kommandozeil Utility, schéckt e Mail op de Root Kont a kontrolléiert ob d'Mail erfollegräich iwwerdroe gouf andeems Dir de Kommando hei drënner ausgëtt fir d'Mailschlaang z'iwwerpréiwen an den Inhalt vum Heem Maildir Verzeechnes vun der Root ze lëschten.

# echo "mail body"| mail -s "test mail" root
# mailq
# mail
# ls Maildir/
# ls Maildir/new/
# cat Maildir/new/[TAB]

13. Dir kënnt och verifizéieren op wéi eng Manéier d'Mail vum Postfix-Service gehandhabt gouf andeems Dir den Inhalt vun der Mail-Logbuch-Datei iwwerpréift andeems Dir de folgende Kommando ausginn.

# tailf /var/log/mail.log

Schrëtt 4: Dovecot IMAP op Debian installéieren a konfiguréieren

14. De Mail Liwwerung Agent dee mir an dësem Guide benotze fir E-Mail Messagen un d'Mailboxen vun engem lokalen Empfänger ze liwweren ass Dovecot IMAP. IMAP ass e Protokoll deen op 143 an 993 (SSL) Ports leeft, wat verantwortlech ass fir E-Mailen iwwer verschidde E-Mail Clienten ze liesen, ze läschen oder ze verschécken.

Den IMAP Protokoll benotzt och Synchroniséierung fir sécherzestellen datt eng Kopie vun all Message um Server gespäichert gëtt an de Benotzer erlaabt verschidde Verzeichnisser um Server ze kreéieren an Mailen an dës Verzeichnisser ze verschécken fir d'E-Mailen ze sortéieren.

Dëst ass net de Fall mam POP3 Protokoll. POP3 Protokoll erlaabt d'Benotzer net méi Verzeechnes um Server ze kreéieren fir Är Mail ze sortéieren. Dir hutt nëmmen den Inbox Dossier fir Mail ze managen.

Fir den Dovecot Core Server an den Dovecot IMAP Package op Debian z'installéieren, fuert de folgende Kommando aus.

# apt install dovecot-core dovecot-imapd

15. Nodeems Dovecot an Ärem System installéiert ass, öffnen déi ënnescht Dovecot Dateien fir z'änneren an maachen déi folgend Ännerungen. Als éischt, öffnen /etc/dovecot/dovecot.conf Datei, sichen an decommentéieren déi folgend Linn:

listen = *, ::

16. Als nächst, oppen /etc/dovecot/conf.d/10-auth.conf fir z'änneren an ze lokaliséieren an déi ënnescht Linnen z'änneren fir ze kucken wéi am Auszich hei ënnen.

disable_plaintext_auth = no
auth_mechanisms = plain login

17. Open /etc/dovecot/conf.d/10-mail.conf Datei a füügt déi folgend Zeil un fir Maildir Location ze benotzen anstatt Mbox Format fir E-Mailen ze späicheren.

mail_location = maildir:~/Maildir

18. Déi lescht Datei fir z'änneren ass /etc/dovecot/conf.d/10-master.conf. Hei Sich no Postfix smtp-auth Block a maacht déi folgend Ännerung:

# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
 }

19. Nodeems Dir all déi uewe genannte Ännerunge gemaach hutt, Restart Dovecot Daemon fir Ännerungen ze reflektéieren, kontrolléiert säi Status a verifizéiert ob Dovecot op den Hafen 143 verbindlech ass, andeems Dir déi folgend Kommandoen ausgëtt.

# systemctl restart dovecot.service 
# systemctl status dovecot.service 
# netstat -tlpn

20. Test ob de Mailserver richteg leeft, andeems en neie Benotzerkont op de System bäigefüügt gëtt a benotzt Telnet oder Netcat Kommando fir mat dem SMTP-Server ze verbannen an eng nei E-Mail un den neien addéierte Benotzer ze schécken, wéi an de folgenden Auszich illustréiert.

# adduser matie
# nc localhost 25
# ehlo localhost
mail from: root
rcpt to: matie
data
subject: test
Mail body
.
quit

21. Préift ob d'Mail an déi nei Benotzer-Mailbox ukomm ass andeems Dir den Inhalt vum Heemverzeichnis vum Benotzer opgezielt huet wéi am Screenshot hei ënnen.

# ls /home/test_mail/Maildir/new/

22. Och kënnt Dir mat der Mailbox vum Benotzer vun der Kommandozeil iwwer IMAP-Protokoll konnektéieren, wéi am ënnen Auszuch gewisen. Déi nei Mail soll an der Inbox vum Benotzer opgezielt ginn.

# nc localhost 143
x1 LOGIN matie user_password
x2 LIST "" "*"
x3 SELECT Inbox
x4 LOGOUT

Schrëtt 5: Installéieren a konfiguréieren Webmail an Debian

23. D'Benotzer verwalten hir E-Mailen iwwer Rainloop Webmail Client. Ier Dir de Rainloop Mail Benotzer Agent installéiert, installéiere fir d'éischt den Apache HTTP Server an déi folgend PHP Moduler déi vum Rainloop erfuerderlech sinn, andeems Dir de folgende Kommando ausstellt.

# apt install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml

24. Nodeems den Apache Webserver installéiert ass, ännert de Verzeechneswee op /var/www/html/ Verzeichnis, läscht d'index.html Datei a gitt de folgende Kommando aus fir Rainloop Webmail z'installéieren.

# cd /var/www/html/
# rm index.html 
# curl -sL https://repository.rainloop.net/installer.php | php

25. Nodeems de Rainloop Webmail Client am System installéiert ass, navigéiert op Är Domain IP Adress a loggt Iech op Rainloop Admin Web Interface mat de folgende Standard Umeldungsinformatiounen:

http://192.168.0.102/?admin
User: admin
Password: 12345

26. Navigéiert op Domains Menü, klickt op Add Domain Knäppchen a füügt Är Domain Numm Astellunge wéi am Screenshot hei ënnen.

27. Nodeems Dir Är Domain-Astellungen ofgeschloss hutt, loggt Iech aus Ranloop Admin Interface a weist de Browser op Är IP Adress fir Iech op de Webmail Client mat engem E-Mail Kont ze loggen.

Nodeems Dir Iech op Rainloop Webmail erfollegräich ageloggt hutt, sollt Dir d'E-Mail gesinn, déi fréier vun der Kommandozeil an Ärem Inbox-Ordner geschéckt gouf.

http://192.168.0.102
User: [email 
Pass: the matie password

27. Fir en neie Benotzernumm ze addéieren useradd Kommando mat -m Fändel fir de Benotzer Heemverzeechnes ze kreéieren. Awer, gitt als éischt sécher datt Dir d'Maildir Path Variabel fir all Benotzer mat dem folgenden Kommando konfiguréiert.

# echo 'export MAIL=$HOME/Maildir' >> /etc/profile
# useradd -m user3
# passwd user3

28. Wann Dir all Root's E-Mail op e spezifesche lokale Mailkonto vum System ëmgeleet wëllt, fuert d'Befehle hei ënnen. All Mailen, déi op de Rootkonto ëmgeleet oder bestëmmt sinn, ginn op Äre Mail Benotzer weidergeleet wéi am Bild hei ënnendrënner.

# echo "root: test_mail" >> /etc/aliases
# newaliases

Dat ass alles! Dir hutt erfollegräich e Mail-Server bei Äre Raimlechkeeten installéiert an konfiguréiert fir lokal Benotzer iwwer E-Mailen ze kommunizéieren. Wéi och ëmmer, dës Zort vu Mailkonfiguratioun ass op kee Fall geséchert an et ass ubruecht nëmme fir kleng Setups a Systemer an Netzwierker ënner Ärer voller Kontroll ofgesat ze ginn.