A levelezés egyik oldala az SMTP szerver van, amely a levelek fogadásáért és tárolásáért felel, a másik oldalán pedig a POP3 és/vagy IMAP szerver van, amelyeket a tárolt levelek elérésére találtak ki okos emberek. Sok lehetőségünk van POP3 és IMAP szerver beüzemelésére, én a Dovecot programot preferálom, telepítsük fel:
# yum install dovecot # chkconfig dovecot on # service dovecot start Starting Dovecot Imap: [ OK ]
Majd nézzük meg a /var/log/maillog fájlban, hogy elindult-e:
Jun 26 21:20:50 2619 dovecot: master: Dovecot v2.0.9 starting up (core dumps disabled)
Elindult, tehát teszteljük le:
# telnet localhost 110 Trying ::1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. quit +OK Logging out Connection closed by foreign host.
Működik...
Beállítások
Alapvetően jól működik a Dovecot, néhány apróságot kell csak beállítanunk, kezdjük a 10-mail.conf nevű állománnyal, amelynek a végére írjuk hozzá az alábbit:
mail_uid = 89 mail_gid = 89 first_valid_gid = 89 last_valid_gid = 90 first_valid_uid = 89 last_valid_uid = 90
Vagyük észre, hogy a 89-es szám a postfix uid száma, ha ettől eltérő számot látunk a /etc/passwd fájlban, akkor használjuk azt. A 90-es szám egyel nagyobb, mint a 89, ennyi a szabály. Ez a beállítás egyébként arra szolgál, hogy a Postfix által írt levelek tartalmához hozzáférhessen a Dovecot.
A következő állomány tartalmát azért módosítjuk, hogy a Dovecot csak a virtuális felhasználókkal foglalkozzon, a rendszerfelhasználókkal ne, ezért szedjük ki a # jelet az "!include auth-ldap.conf.ext" sor elől, és tegyük a "!include auth-system.conf.ext" sor elé, majd a fájl végére írjuk oda az alábbi két sort:
disable_plaintext_auth = no auth_mechanisms = plain login digest-md5 cram-md5 apop
Ezzel engedjük a Dovecot számára a titkosítatlan szöveggel való azonosítást, illetve felsoroljuk a szerver által támogatott algoritmusokat.
Lezáró lépésként hozzuk létre a /etc/dovecot/dovecot-ldap.conf.ext állományt, amelyben leírjuk, hogy merre van az LDAP szerverünk, és abban miképpen tároljuk a felhasználókat:
hosts = localhost ldap_version = 3 base = ou=VirtualUsers,ou=Mail,dc=javaforum,dc=hu user_attrs = mailRoutingAddress=mail user_filter = (uid=%u) pass_attrs = uid=user,userPassword=password pass_filter = (uid=%u) default_pass_scheme = PLAIN-MD5
Ezek után a Dovecot újraindítható, és kipróbálhatjuk, hogy látja-e a virtuális felhasználó levelét:
# telnet localhost 110 Trying ::1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. <1241.1.4fea0e2c.icoQE/NoeRGy9nMu1fQT1A==@javaforum.hu> user auth.gabor@javaforum.hu +OK pass ******** +OK Logged in. list +OK 50 messages: 1 474 [...] 50 3294 . retr 50 +OK 3294 octets Return-Path: <foto-bounces@lists.javaforum.hu> X-Original-To: auth.gabor@enaplo.hu [...] http://www.javaforum.hu -=3D- http://www.enaplo.hu Auth G=C3=A1bor -=3D- http://www.javaforum.hu/web/10/authgabor . quit +OK Logging out. Connection closed by foreign host.
Működik, ne felejtsük el a tűzfalat megnyitni, különben távolról nem tudjuk elérni a levelezésünk...
SSL vagy TLS beállítása
A Dovecot esetén is szükséges a titkosítás, ezért konfiguráljuk be a már létező tanúsítványainkat, ehhez a 10-ssl.conf állományban kell két sort módosítanunk:
ssl_cert = </etc/pki/tls/certs/javaforum.pem ssl_key = </etc/pki/tls/certs/javaforum.key
Postfix azonosítás
Az SMTP szekció végén volt egy utalás arra, hogy a Dovecot megfelelő beállítása szükséges a befejezéshez, ezért szedjünk ki néhány # jelet a 10-master.conf fájl alábbi sora elől:
unix_listener /var/spool/postfix/private/auth { mode = 0666 }
Majd indítsuk újra a Dovecot és a Postfix szolgáltatást.
Webes felület
Manapság egy levelező rendszer nem létezhet webes felület nélkül, erre a célra a Squirrelmail a kedvencem, fel is telepítjük hamar:
# yum install squirrelmail.noarch # mv /etc/httpd/conf.d/squirrelmail.conf /etc/httpd/conf.d/hu.javaforum.mail.conf
Majd szerkesszük a hu.javaforum.mail.conf tartalmát:
<VirtualHost *:80> ServerAdmin auth.gabor@javaforum.hu DocumentRoot /usr/share/squirrelmail/ ServerName mail.javaforum.hu ServerAlias mail.enaplo.hu ServerAlias mail.javakocsma.hu DirectoryIndex index.php index.html index.htm <Directory /usr/share/squirrelmail/> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <Directory "/usr/share/squirrelmail/plugins/squirrelspell/modules"> Deny from all </Directory> </VirtualHost>
Ha használunk SSL titkosítást, akkor azt is konfiguráljuk be, majd futtassuk a Squirrelmail beállító "varázslóját", amely egy szöveges perl program:
# /usr/share/squirrelmail/config/conf.pl
Kapunk egy menüvezérelt felületet, ahol pár dolgot be tudunk állítani:
- 2. Server Settings
- 1. Domain – mail.javaforum.hu
- 2. Invert Time – false
- 3. Sendmail or SMTP – SMTP
- A. Update IMAP Settings
- 4. IMAP Server – localhost
- 5. IMAP Port – 143
- 6. Authentication type – login
- 7. Secure IMAP (TLS) – false
- 8. Server software – dovecot
- 9. Delimiter – detect
- B. Update SMTP Settings
- 4. SMTP Server – localhost
- 5. SMTP Port – 25
- 6. POP before SMTP – false
- 7. SMTP Authentication – none
- 8. Secure SMTP (TLS) – false
- 9. Header encryption key –
- S. Save Data
Az Apache Httpd újraindítása után már elérjük a levelezést a webes felülettel...