Deze tutorial zal u begeleiden bij het installeren en configureren van een complete mailserver met Postfix in Debian 9 vrijgeven. Het behandelt ook het configureren van mailboxen van accounts met behulp van duiventil om e-mails op te halen en op te stellen via IMAP protocol. De gebruikers zullen gebruiken Rainloop-webmail interface als de e-mailgebruikersagent om e-mail af te handelen.
In deze zelfstudie gebruiken we een privédomeinaccount voor het instellen van de mailserver, geconfigureerd via /etc/hosts alleen bestand, zonder dat een DNS-server betrokken is bij het afhandelen van DNS-omzetting.
1. In de eerste stap logt u in op uw machine met een account met root-privileges of rechtstreeks met de root-gebruiker en zorgt u ervoor dat uw Het Debian-systeem is up-to-date met de nieuwste beveiligingspatches en software- en pakketreleases door het volgende uit te geven: opdracht.
# apt-get update # apt-get upgrade
2. Installeer bij de volgende stap de volgende softwarepakketten die zullen worden gebruikt voor systeembeheer, door de volgende opdracht uit te voeren.
# apt-get install curl net-tools bash-completion wget lsof nano.
3. Open vervolgens /etc/host.conf bestand voor bewerking met uw favoriete teksteditor en voeg de volgende regel toe aan het begin van het bestand zodat DNS-resolutie het hosts-bestand eerst kan lezen.
hosts bestellen, binden. meerdere aan.
4. Stel vervolgens uw machine in FQDN en voeg uw domeinnaam en uw systeem-FQDN toe aan /etc/hosts het dossier. Gebruik het IP-adres van uw systeem om de naam van het domein en de FQDN op te lossen, zoals geïllustreerd in de onderstaande schermafbeelding.
Vervang het IP-adres en domein dienovereenkomstig. Start daarna de machine opnieuw op om de hostnaam correct toe te passen.
# hostnamectl set-hostname mail.tecmint.com # echo "192.168.0.102 tecmint.com mail.tecmint.com" >> /etc/hosts. # init6
5. Controleer na het opnieuw opstarten of de hostnaam correct is geconfigureerd door de volgende reeks opdrachten uit te voeren. De domeinnaam, de FQDN, de hostnaam en het IP-adres van het systeem moeten worden geretourneerd door de hostnaamopdracht.
# hostnaam. # hostnaam -s. # hostnaam -f. # hostnaam -A. # hostnaam -i. # kat /etc/hostnaam
6. Test ook of het domein correct reageert op lokale vragen door de onderstaande opdrachten uit te voeren. Houd er rekening mee dat het domein niet opnieuw wordt afgespeeld voor externe query's die zijn uitgegeven door andere systemen in uw netwerk, omdat we geen DNS-server gebruiken.
Het domein zou echter moeten antwoorden van andere systemen als u de domeinnaam handmatig toevoegt aan elk van hun /etc/hosts het dossier. Houd er ook rekening mee dat de DNS-resolutie voor een domein is toegevoegd aan: /etc/hosts bestand werkt niet via gastheer, nslookup of graaf commando's.
# getent ahosts mail.tecmint.com. # ping tecmint.com. # ping mail.tecmint.com.
7. Het belangrijkste stukje software dat nodig is om een mailserver goed te laten functioneren, is de: MTA tussenpersoon. De MTA is een software die is gebouwd in een server-client-architectuur, die verantwoordelijk is voor de e-mailoverdracht tussen e-mailservers.
In deze handleiding gebruiken we Postfix als e-mailtransferagent. Om postfix in Debian vanuit officiële repositories te installeren, voert u de volgende opdracht uit.
# apt-get install postfix.
8. Tijdens het installatieproces van: Postfix u krijgt een reeks vragen. Selecteer bij de eerste prompt Website optie als het algemene type voor Postfix-configuratie en druk op [binnenkomen] toets om door te gaan en voeg vervolgens uw domeinnaam toe aan de e-mailnaam van het systeem, zoals geïllustreerd in de volgende schermafbeeldingen.
9. Maak vervolgens een back-up van het hoofdconfiguratiebestand van Postfix en configureer Postfix voor uw domein met behulp van de volgende opdrachten.
# cp /etc/postfix/main.cf{,.backup} # nano /etc/postfix/main.cf.
Configureer nu de Postfix-configuratie in de hoofd.cf bestand zoals weergegeven.
# Zie /usr/share/postfix/main.cf.dist voor een becommentarieerde, meer volledige versie smtpd_banner = $myhostname ESMTP. biff = nee. # .domain toevoegen is de taak van de MUA. append_dot_mydomain = nee. readme_directory = nee # Zie http://www.postfix.org/COMPATIBILITY_README.html -- standaard op 2 aan. # verse installaties. Compatibiliteitsniveau = 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=ja. smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache. smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # Zie /usr/share/doc/postfix/TLS_README.gz in het postfix-doc pakket voor. # informatie over het inschakelen van SSL in de smtp-client. smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination. mijnhostnaam = mail.debian.lan mijndomein = debian.lan alias_maps = hash:/etc/aliassen. alias_database = hash:/etc/aliases #mijnoorsprong = /etc/mailnaam. mijnoorsprong = $mijndomein mijnbestemming = $mijnhostnaam, $mijndomein, localhost.$mijndomein, lokalehost. relayhost = mijnnetwerken = 127.0.0.0/8, 192.168.1.0/24. mailbox_size_limit = 0. ontvanger_scheidingsteken = + inet_interfaces = alle. #inet_protocols = alle. inet_protocols = ipv4 home_mailbox = Maildir/ # SMTP-Auth-instellingen. smtpd_sasl_type = duiventil. smtpd_sasl_path = privé/authenticatie. smtpd_sasl_auth_enable = ja. smtpd_sasl_security_options = anoniem. smtpd_sasl_local_domain = $mijnhostnaam. smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, weigeren.
Vervang de mijnhostnaam, mijndomein en mijnnetwerken variabelen die overeenkomen met uw eigen configuraties.
Je kan lopen postconf -n commando om het hoofdconfiguratiebestand van Postfix te dumpen en eventuele fouten te controleren, zoals weergegeven in de onderstaande schermafbeelding.
# postconf -n.
10. Nadat alle configuraties zijn geïnstalleerd, start u de Postfix-daemon opnieuw om wijzigingen toe te passen en controleert u of de service actief is door te controleren of de Postfix-masterservice aan de poort is gebonden 25 door rennen netstat commando.
# systemctl herstart postfix. # systemctl status postfix. # netstat -tlpn.
11. Om te testen of postfix e-mailoverdracht aankan, installeer eerst mailutils pakket door de volgende opdracht uit te voeren.
# apt-get install mailutils.
12. Gebruik vervolgens mail opdrachtregelhulpprogramma, stuur een e-mail naar het root-account en controleer of de e-mail met succes is verzonden door de onderstaande opdracht om de e-mailwachtrij te controleren en de inhoud van de root-maildir thuis op te sommen map.
# echo "mail body"| mail -s "test mail" root. # mailq. # mail. # ls Maildir/ # ls Maildir/nieuw/ # kat Maildir/nieuw/[TAB]
13. U kunt ook controleren op welke manier de e-mail is afgehandeld door de postfix-service door de inhoud van het e-maillogbestand te inspecteren door het volgende commando uit te voeren.
# tailf /var/log/mail.log.
14. De postbezorger die we in deze handleiding zullen gebruiken om e-mailberichten te bezorgen in de mailboxen van een lokale ontvanger is Duiventil IMAP. IMAP is een protocol dat draait op 143 en 993 (SSL) poorten, die verantwoordelijk is voor het lezen, verwijderen of verplaatsen van e-mails over meerdere e-mailclients.
Het IMAP-protocol maakt ook gebruik van synchronisatie om ervoor te zorgen dat een kopie van elk bericht op de server wordt opgeslagen en stelt gebruikers in staat om meerdere mappen op de server te maken en e-mails naar deze mappen te verplaatsen om de e-mails.
Dit is niet het geval bij POP3 protocol. POP3 protocol staat niet toe dat gebruikers meerdere mappen op de server maken om uw e-mail te sorteren. U hebt alleen de map Postvak IN om e-mail te beheren.
Installeren duiventil kernserver en Duiventil IMAP package op Debian voert u de volgende opdracht uit.
# apt install dovecot-core dovecot-imapd.
15. Nadat Dovecot op uw systeem is geïnstalleerd, opent u de onderstaande dovecot-bestanden voor bewerking en brengt u de volgende wijzigingen aan. Open eerst /etc/dovecot/dovecot.conf bestand, zoek en verwijder commentaar op de volgende regel:
luister = *,::
16. Open vervolgens /etc/dovecot/conf.d/10-auth.conf voor het bewerken en lokaliseren en wijzigen van de onderstaande regels om eruit te zien in het onderstaande fragment.
disable_plaintext_auth = nee. auth_mechanisms = gewoon inloggen.
17. Open /etc/dovecot/conf.d/10-mail.conf bestand en voeg de volgende regel toe om te gebruiken: Maildir locatie in plaats van Mbox formaat om e-mails op te slaan.
mail_location = maildir:~/Maildir.
18. Het laatste bestand om te bewerken is /etc/dovecot/conf.d/10-master.conf. Zoek hier naar Postfix smtp-authenticatie blok en breng de volgende wijziging aan:
# Postfix smtp-auth. unix_listener /var/spool/postfix/private/auth {mode = 0666 gebruiker = postfix group = postfix}
19. Nadat u alle bovenstaande wijzigingen heeft aangebracht, start u opnieuw op duiventil daemon om wijzigingen weer te geven, de status te controleren en te verifiëren of Dovecot bindend is voor poort 143, door de onderstaande opdrachten uit te voeren.
# systemctl herstart dovecot.service # systemctl status dovecot.service # netstat -tlpn.
20. Test of de mailserver goed werkt door een nieuwe gebruikersaccount aan het systeem toe te voegen en gebruik telnet of netcat opdracht om verbinding te maken met de SMTP-server en een nieuwe e-mail naar de nieuw toegevoegde gebruiker te sturen, zoals geïllustreerd in de onderstaande fragmenten.
# adduser matie. # nc localhost 25. #ehlo localhost. mail van: root. rcpt naar: matie. gegevens. onderwerp: proef. Post lichaam.. ontslag nemen.
21. Controleer of de e-mail is aangekomen in de mailbox van de nieuwe gebruiker door de inhoud van de thuismap van de gebruiker op te sommen, zoals weergegeven in de onderstaande schermafbeelding.
# ls /home/test_mail/Maildir/new/
22. U kunt ook verbinding maken met de mailbox van de gebruiker vanaf de opdrachtregel via het IMAP-protocol, zoals weergegeven in het onderstaande fragment. De nieuwe e-mail moet worden vermeld in de inbox van de gebruiker.
# nc localhost 143. x1 AANMELDEN matie user_password. x2 LIJST "" "*" x3 SELECTEER Postvak IN. x4 UITLOGGEN.
23. Gebruikers beheren hun e-mails via Rainloop-webmail cliënt. Voordat u Rainloop mail user agent installeert, installeer eerst Apache HTTP server en het volgende: PHP modules vereist door Rainloop, door de volgende opdracht uit te geven.
# apt installeer apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml.
24. Nadat de Apache-webserver is geïnstalleerd, wijzigt u het mappad in /var/www/html/ map, verwijder de index.html bestand en geef het volgende commando om Rainloop Webmail te installeren.
# cd /var/www/html/ # rm index.html # curl -sL https://repository.rainloop.net/installer.php | php.
25. Nadat de Rainloop-webmailclient in het systeem is geïnstalleerd, navigeert u naar het IP-adres van uw domein en logt u in op de Rainloop-beheerderswebinterface met de volgende standaardreferenties:
http://192.168.0.102/?admin. Gebruiker: beheerder. Wachtwoord: 12345.
26. Navigeren naar Domeinen menu, druk op Domein toevoegen knop en voeg uw domeinnaaminstellingen toe zoals weergegeven in de onderstaande schermafbeelding.
27. Nadat u klaar bent met het toevoegen van uw domeininstellingen, logt u uit van de Ranloop-beheerdersinterface en wijst u de browser naar uw IP-adres om u met een e-mailaccount aan te melden bij de webmailclient.
Nadat u met succes bent ingelogd op Rainloop-webmail, zou u de e-mail moeten zien die eerder vanaf de opdrachtregel naar uw Inbox-map is verzonden.
http://192.168.0.102. Gebruiker: [e-mail beveiligd]
Pass: het matie-wachtwoord.
27. Een nieuw gebruikersprobleem toevoegen useradd commando met -m
flag om de homedirectory van de gebruiker te maken. Maar zorg er eerst voor dat u de Maildir-padvariabele voor elke gebruiker configureert met de volgende opdracht.
# echo 'export MAIL=$HOME/Maildir' >> /etc/profile. # useradd -m gebruiker3. # passwd gebruiker3.
28. Als u alle e-mail van root naar een specifiek lokaal e-mailaccount van het systeem wilt omleiden, voert u de onderstaande opdrachten uit. Alle e-mails die zijn doorgestuurd naar of bestemd zijn voor het root-account, worden doorgestuurd naar uw e-mailgebruiker, zoals weergegeven in de onderstaande afbeelding.
# echo "root: test_mail" >> /etc/aliassen. # nieuwealiassen.
Dat is alles! U hebt met succes een mailserver bij u op locatie geïnstalleerd en geconfigureerd zodat lokale gebruikers via e-mail kunnen communiceren. Dit type e-mailconfiguratie is echter op geen enkele manier beveiligd en het is raadzaam om deze alleen te implementeren voor kleine instellingen in systemen en netwerken die onder uw volledige controle staan.