
| Linux |
Debian GNU/Linux   InleidingLinux installatie   Algemeen  Packages   Hosts   Apache   Samba   NFS   CUPS   ALSA   Postfix etc.   OpenSuse 10.2   Agfa SnapScan 310   USB-disks Tips & trucs   Diversen  Toegangsrestricties   Permissies   Instappen in Linux Onze computers   Limnos  Samos   Chios   Karpathos   Lesbos   Debian   pc-nl-509 Andere computers   Asus (Den Haag)  Linux (Koudekerk)   Zolder (Koudekerk) Bronnen   Debian website  Links | Postfix + Courier = Mail In februari 2006 heb ik besloten een eigen mailserver te draaien. Directe aanleiding daarvoor was de overname van HCCnet door XS4ALL. Aangezien dat een nogal dure leverancier is, wilde ik graag overstappen naar Tele2. Daar kon ik echter maar één email-adres krijgen. Ik heb me bij de installatie van de mailserver laten leiden door dit boek:
Linux Cookbook In de volgende tekst verwijst de nummering naar de hoofdstukken in het boek. 1. Postfix installeren (20.3) Eerst gaan we de installatiesources updaten:# apt-get update Daarna installeren we de vereiste onderdelen, waarbij we de geadviseerde famd hebben weggelaten, omdat die tegenwoordig niet meer nodig is:# apt-get install openssl postfix postfix-doc postfix-tls Als EXIM is geinstalleerd, zoals bij de meeste systemen, dan wordt dat door de installatie van Postfix automatisch verwijderd.Als "General type of configuration" kiezen we Internet Site. Op de vraag: "Where should mail for root go" antwoord je met de username die je gebruikt als normale user, bijvoorbeeld Joop, als Joop je normale username is. Mail voor root wordt uit veiligheidsoverwegingen namelijk nooit rechtstreeks aan root afgeleverd. De "Mail name" waar om wordt gevraagd is de zogenaamde FQDN, of Fully Qualified Domain Name. Deze bestaat uit de hostname van de betreffende computer, aangevuld met de naam van de internetsite. In ons geval zou dat kunnen zijn: limnos@cybertux.nl. Bij "Other destinations to accept mail for" geven we na een komma ook nog het top-level domain aan. In ons geval: cybertux.nl. Bij "Force synchronous updates on mail queue" antwoorden we <No>. Na het doorlopen van bovenstaande vragen wordt Postfix geinstalleerd met standaard instellingen. Om die te wijzigen moet het bestand # cp /etc/postfix/main.cf /etc/postfix/main.cf-old De inhoud van
command_directory = /usr/sbin 1.1 Aliases maken Een mail alias voor root opgeven in
root: <jenaam>@cybertux.nl Van de opgegeven aliases moet nu een database worden gecreëerd:
# newaliases root: <de opgegeven username> 1.2 Configuratie controleren Voordat we wijzigingen in de configuratie van Postfix activeren, controleren we de syntax van de configuratiebestanden:
# postfix check warning: /var/spool/postfix/etc/services and /etc/services differ Dit is opgelost door één van de bestanden een andere naam te geven: # mv /var/spool/postfix/etc/services /var/spool/postfix/etc/services-OLD Kennelijk maakt het niet uit dat het bestand er niet is, maar als het bestand er is, moeten ze wel identiek zijn.1.3 Postfix opnieuw starten Na bovenstaande procedure afgehandeld te hebben, starten we Postfix opnieuw:# postfix reload Soms wordt verwezen naar2. Courier installeren Volgens het eerder genoemde boek is dit nog steeds hoofdstuk 20.3, maar er wordt later wel terug verwezen naar 20.2 om een TLS/SSL-certificaat te genereren.Installeer Courier met: # apt-get install courier-authdaemon courier-base courier-doc courier-pop courier-pop-ssl courier-ssl Bij "Create directories for web-based administration?" antwoorden we <No>.Verderop gaan we het certificaat genereren, maar voorlopig houden we het hier even bij. 3. De SMTP-server testen De SMTP-server testen we door met telnet een bericht te sturen naar een gebruiker op de machine. Op de vetgedrukte regels staat onze eigen invoer. Al het overige is de reactie van de telnet-verbinding.We gebruiken als servername "lesbos" (zoals al onze hosts de naam van een Grieks eiland). Als afzender gebruiken we de niet bestaande user "ikke". De geadresseerde "abc" moet op het systeem bekend zijn. $ telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 lesbos.cybertux.nl ESMTP Postfix ehlo lesbos 250-lesbos.cybertux.nl 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250 8BITMIME mail from: ikke@cybertux.nl 250 Ok rcpt to: abc@cybertux.nl 250 Ok data 354 End data with <CR> <LF> . <CR> <LF> Date: Mai 13, 2006 From: ikke Reply-to: ikke@cybertux.nl Message-ID: seven Subject: Effe testen Ha Gozer, Ontvang je dit? . 250 Ok: queued as 021CE26ED5 quit 221 Bye Connection closed by foreign host.Als alles goed is verlopen, kan in /home/abc/Maildir/new het bericht worden teruggevonden, waarbij op de plaats van "abc" uiteraard de gebruikte username hoort te staan. 4. Niet-versleutelde POP3 testen Aangezien we pas verderop een TLS/SSL-certificaat gaan genereren, testen we hier eerst het niet-versleuteld ophalen van mail met POP3. Later testen we de versleutelde versie.Op de vetgedrukte regels staat weer onze eigen invoer. Al het overige is de reactie van de telnet-verbinding. Als servername gebruiken we uiteraard weer "lesbos" (zoals al onze hosts de naam van een Grieks eiland). We loggen in als de gebruiker die het verstuurde bericht moet hebben ontvangen. In ons geval dus gebruiker "abc".
$ telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.
user abc
+OK Password required.
pass het-wachtwoord-van-abc
+OK logged in.
list
+OK POP3 clients that break here, they violate STD53.
1 473
.
retr 1
+OK 473 octets follow.
Return-Path: <ikke@cybertux.nl>>
X-Original-To: abc@cybertux.nl
Delivered-To: abc@cybertux.nl
Received: from lesbos (localhost.localdomain [127.0.0.1])
by lesbos.cybertux.nl (Postfix) with ESMTP id 021CE26ED5
for <@cybertux.nl> Mon, 12 Jun 2006 21:30:00 +0200 (CEST)
Date: Mai 13, 2006
From: ikke@cybertux.nl
Reply-To: ikke@cybertux.nl
Message-ID: seven
Subject: Effe testen
To: undisclosed-recipients:;
Ha Gozer,
Ontvang je dit?
.
quit
+OK Bye-bye.
Connection closed by foreign host.
Als alles werkt zoals het hoort zie je dus het bericht dat je eerder hebt verstuurd.Je hebt ingelogd als gebruiker "abc" en het bijbehorende wachtwoord opgegeven met "pass enz..". Daarna heb je met "list" opgevraagd hoeveel berichten er zijn. Vervolgens heb je bericht nr. 1 opgehaald met "retr 1". De telnet-sessie is beëindigd met "quit" 5. TLS/SSL certificaat genereren Debian genereert bij de installatie van Courier (wat we een stukje hierboven al hebben gedaan), automatisch de keys voor TLS/SSL-beveiliging.We moeten echter een TLS/SSL-certificaat genereren, gebaseerd op onze eigen gegevens. Om dat te doen, openen we (bijvoorbeeld met mcedit) het volgende bestand:
# mcedit /etc/courier/pop3d.cnf
RANDFILE = /usr/lib/courier/pop3d.rand Nu kunnen we het certificaat genereren met:
# mkpop3dcert Als je daarbij de melding krijgt dat het bestand al bestaat: /usr/lib/courier/pop3d.pem already exists. dan verwijder je dat gewoon met:
# rm /usr/lib/courier/pop3d.pem Als het goed gaat, volgt een melding als: Generating a 1024 bit RSA private key... gevolgd door een hoop extra informatie die ik hier uit veiligheidsoverwegingen niet plaats.6. Versleutelde POP3 testen Nu we een TLS/SSL-certificaat hebben gegenereerd, kunnen we ook het versleuteld ophalen van mail via POP3 testen.Dat doen we niet met telnet, maar met openssl. Ter geruststelling: De term "open" in "openssl" staat niet voor het wagenwijd open staan van de verbinding, maar voor het volledig Open Source zijn van deze implementatie van het Secure Sockets Layer protocol. Ook hier staat op de vetgedrukte regels weer onze eigen invoer. Al het overige is de reactie van de openssl-verbinding.
$ openssl s_client -connect localhost:995 7. Bereikbaarheid testen Als alle instellingen in het netwerk correct zijn, dan is de mailserver op verschillende manieren voor clients bereikbaar. Alle onderstaande vormen zijn correct en zouden moeten werken:
$ telnet lesbos 25 8. Mail versturen via internet Als je ISP (Internet Service Provider) geen SMTP-authenticatie verlangt, dan gebruik je de SMTP-server van je ISP. Daartoe open je main.cnf:# mcedit /etc/postfix/main.cf en plaatst daarin de volgende regel:relay_host = smtp.versatel.nl Uiteraard gebruik je hier de gegevens zoals je ISP die heeft opgegeven.Als je ISP wel SMTP-authenticatie verlangt, raadpleeg dan het boek dat bovenaan dit artikel is genoemd. Dat kan hoe dan ook geen kwaad... 9. Mail ontvangen via internet Om mail te kunnen ontvangen, is het noodzakelijk dat je een vast ip-adres hebt, een geregistreerde domeinnaam en DSN-records die de rest van de wereld naar je mailserver verwijzen.In de DNS-configuratie hoort een A-record met je ip-adres en een MX-record voor de mail-server. Deze gegevens worden doorgaans beheerd door de domain name registrar, de organisatie waar je de registratie van je domeinnaam hebt geregeld. 10. De mail-server verbinden met de buitenwereld In de NAT/NAPT-settings van je modem/router moet de interne poort 25 van de server worden verbonden met de externe poort 25. Je krijgt dan ongeveer het volgende:
Inside address: 10.0.0.152:25 11. Plaats van de bestanden De email-berichten komen in een sub-directory van de home-directory van elke gebruiker.Het zijn verborgen bestanden in de directory Om ze te zien moet in Konqueror het tonen van verborgen bestanden worden ingeschakeld. Op de command-line gebruik je: $ ls -la 12. Instellingen in je email-client (KMail) Schakel in je email-client, waarschijnlijk gebruik je KMail, het controleren op nieuwe email uit.Ga daartoe naar Settings | Configure KMail en vervolgens naar het tabblad Accounts. Onder het overzicht met ingestelde accounts staat de optie "Check mail on startup". Haal het vinkje daar weg. 13. Webmail Voor het raadplegen van je email via internet gebruik je SquirrelMail.De installatie daarvan gaat op de bekende wijze. # apt-get update # apt-get install squirrelmail # /usr/sbin/squirrelmail-configureZonder specifieke configuratie zal het waarschijnlijk al werken, maar het kan geen kwaad om eens te kijken wat er allamaal kan worden ingesteld. Er moet nog wel een symbolic link worden gemaakt in de webroot naar de plaats van de squirrelmail-bestanden. Een symbolic link wordt gemaakt door aan de opdracht # cd /home/web/public # ln -s /usr/share/squirrelmail webmail # ls -la lrwxrwxrwx 1 root root 23 2009-09-22 01:52 webmail -> /usr/share/squirrelmailDe hier gebruikte naam |
| Copyright 2004-2010 cybertux.nl Powered by Linux - Apache - MySQL - PHP |
![]() | ![]() | ![]() | ![]() |