In deze howto leg ik uit hoe je een interne mailserver kunt maken. We gebruiken hiervoor Sendmail. Sendmail is een krachtige en zeer snelle opsource mailserver. In de meetste distro's zit standaard sendmail. Een uitleg om sendmail te installeren vind ik dus overbodig. Anders kan je altijd de site van Sendmail, http://www.sendmail.org/ raadplegen.
Installatie:
Check of Sendmail draait met het volgende commando:
ps aux | grep send
Je zou iets van het volgende terug moeten krijgen:
root 330 0.0 1.4 1416 932 ? S 00:07 0:00 sendmail: accepting c
Mocht Sendmail nog niet gestart zijn, start Sendmail dan met (onder Redhat of een systeem met init.d.. moet ik nog aanpassen):
/etc/rc.d/init.d/sendmail start
Mocht Sendmail niet geinstalleerd zijn download dan de laatste versie en installeer deze dan met:
tar zxvf sendmail*.tar.gz
cd <directory>
./configure
make
make install
Configuratie:
Om Sendmail werkend te krijgen moet de configuratie file bewerkt worden. Deze bevindt zich op de lokatie /etc/sendmail.cf
Open sendmail.mc met:
pico /etc/mail/sendmail.mc
Zoek in het bestand de volgende regels op:
Cwlocalhost
Verander Cwlocalhost in een bijpassende naam die je aan je mailserver wilt koppelen. Leuk is om een gratis domainname te registeren bij http://www.dhs.org/
In mijn geval komt er te staan: Cwserver.netwerk.home, maar Cwvoorbeeld.dhs.org is ook een mogelijkheid.
Voer de opties door met het volgende commando.
m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
Verder moet het bestand /etc/mail/access worden aangepast. Hierin staat wie er wel en geen toegang heeft tot de server
pico /etc/mail/access
Mocht je gebruik maken van redhat 7.1 of hoger: ( ga anders door naar de 6.2 sectie )
Redhat 7.1 en hoger accepteren geen connecties van buiten af. Dit heeft redhat gedaan om als er ooit een exploit in Sendmail zit wormen ala Nimba de boel kunnen verzieken. Dit moet dus worden uitgezet. Volg de link hierboven voor meer informatie en lees hier onder wat je moet doen om alles toch aan de praat te krijgen.
edit dan het volgende bestand: /etc/mail/sendmail.mc
pico /etc/mail/sendmail.mc
Verander dan de volgende regels:
Oud: DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,
Name=MTA')
Nieuw: dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
Voer de opties door met het volgende commando.
m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
pico /etc/mail/local-host-names
Neem hier je domain in op ( bv netwerk.home )
Download de laatste versie van imap van http://www.rpmfind.net en installeer deze ( rpm -ivh imap*.rpm )
vervolgens geeft je het commando setup en vink je pop3 aan!
Geef daarna het volgende commando:
/etc/init.d/xinetd restart
Sendmail Testen:
Nu sendmail draait gaan het testen. Om de bovenstaande aanpassingen door te voeren moet sendmail worden geherstart met:
/etc/rc.d/init.d/sendmail restart
Als het goed is draait sendmail nu op je server. Start een telnet verbinding naar je server met: telnet <ipserver> smtp
Ik kreeg de volgende informatie:
220 server.netwerk.home
ESMTP Sendmail 8.9.3/8.9.3; Mon, 4 Mar 2002 15:35:01 +01
00
met 'quit' kan de verbinding verbroken worden, sendmail draait dus !
Configuratie pop3-server met Redhat 6.2:
We willen dus niet iedere keer met telnet onze mail ophalen. Om te beginnen gaan we een test mailtje sturen. Maak een user aan en stuur een mailtje naar 'user@<ipserver>' of 'user@<hostname-server>'
Verder moeten we kijken in de configuratie file: /etc/inetd.conf of daar alle instellingen goed staan. Open /etc/inetd.conf met:
pico /etc/inetd.conf ( redhat 6.2 )
Zorg dat de volgende regels overeenkomen:
#
pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d
pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
imap stream tcp nowait root /usr/sbin/tcpd imapd
initialiseer de nieuwe netwerkinstellingen dan met:
"kill -HUP inetd"
of met
/etc/rc.d/init.d/network restart
Nu moet je de laatste versie van ipop3d installeren: Haal een van de laatste versies van: ftp://ftp.qualcomm.com/eudora/servers/unix/popper/ ( er zijn er meerdere )
Pak deze uit met en compile deze met:
tar zxvf qpopperx*.tar.gz
./configure
make
make install
Kopieer vervolgens het bestand popper naar /usr/sbin/ipop3d
cp popper /usr/sbin/ipop3d
Daarna moet de /etc/mail/access file worden aangepast. De rechten van de pc's die de bak mogen gebruiken moeten hier in worden gezet
open het bestand met:
pico /etc/mailaccess
Zorg dat iets van de volgende regels er in worden gezet:
localhost.localdomain
RELAY
localhost RELAY
127.0.0.1 RELAY
192.168.0 RELAY
netwerk.home RELAY
Geef daarna het volgende commando in /etc/mail dir geven om de database te updaten:
makemap
hash /etc/mail/access.db < /etc/mail/access
En herstart Sendmail nog een keer met:
/etc/rc.d/init.d/sendmail restart
Om te testen of je mail server werkt kan je een mailtje sturen met gebruik makent van het ip van je smtp-server. Of probeer eens vanuit je console het volgende:
mail
-s "subject" emailadres
Afsluiten met control-D
------------------------------------
/etc/aliases ( welke messages waar heen moeten )
Zo wordt alle mail doorgestuurd naar een ander emailadres
# Person who should
get root's mail
root: jpollman@kulai.org ( haal de # weg ! )
start daarna: newaliases om alles te updaten
------------------------------------
cat /etc/redhat-release | mail -s "Test" user@test.com ( verstuurd de file redhat-release naar user@test.com )
mail -s "test" user@hotmail.com ( verzenden met control-d en gevolgd door enter )
pine ( email editor )
/etc/rc.d/init.d/sendmail restart
/etc/rc.d/init.d/sendmail start
/etc/rc.d/init.d/sendmail stop
/etc/sendmail.cf