För guiden har jag valt Dovecot som IMAP server. En av anledningarna till att jag numera använder Dovecot är att det är betydligt enklare att skapa en POP3S resp IMAPS tjänster med denna server jämfört mot ex. Courier IMAP.
Den andra anledningen, som kanske inte är lika bra, är att JMS råkar ha en sida med information om Dovecot.
Mina instruktioner här följer i stort sett de på JMS's sida.
cd /usr/local/src wget http://dovecot.org/releases/1.0/dovecot-1.0.15.tar.gz tar xfz dovecot-1.0.15.tar.gz cd dovecot-1.0.15 ./configure \ --disable-ipv6 --without-passwd --without-passwd-file --without-shadow --without-pam \ --without-checkpassword --without-bsdauth --without-gssapi --without-sia --without-ldap \ --without-static-userdb --without-prefetch-userdb --without-sql \ --without-pgsql --without-mysql --without-sqlite \ --with-vpopmail --with-ssl=openssl make make install
Fixa lite problem som installationen inte ännu fixar (enligt JMS, och det stämmer till en viss del även vid installation under OpenBSD):
mkdir -m 0755 -p /usr/local/var/run/dovecot chmod go=u-w /usr/local/share /usr/local/share/doc chmod -R go=u-w /usr/local/lib/dovecot /usr/local/libexec/dovecot /usr/local/share/doc/dovecot
Vid min installation var rättigheterna ok, så det enda de 3 ovanstådende kommandona gjorde var att skapa /usr/local/var/(run/dovecot). Hur som helst så gör dessa kommandon nytta om dom gör något alls, och definitivt inte någon skada (rättigheterna ändras så att bara ägaren får skrivrättigheter till kataloger och filer som hör till Dovecot).
Skapa en användare som Dovecot kommer att köras som. Vi plockar igen ett högre användarid än vad mkvalidrcptto kommer använda. Det närmaste lediga är 7798 (efter att 7797 använts för vpopmail användaren). Samtidigt skapar vi plats för loggfiler och daemontools service scripten.
useradd -m -d /home/dovecot -s /sbin/nologin -c "Dovecot user" -u 7798 dovecot mkdir /home/dovecot/log mkdir /home/dovecot/service
JMS har en färdig konfigurationsfil som duger bra att börja med:
cd /home/dovecot wget http://qmail.jms1.net/scripts/dovecot.conf cd /usr/local/etc ln -s /home/dovecot/dovecot.conf dovecot.conf
Ändra 'first_valid_uid' och 'last_valid_uid' i dovecot.conf till 7797 (dvs till det ID vpopmail användaren har, kolla med 'id -u vpopmail').
## ## Mail processes ## verbose_proctitle = yes first_valid_uid = 7797 last_valid_uid = 7797
Ändra IP-adressen på 'ssl_listen' (987:65:43:21) till serverns IP-adress (OBS! två ställen, det första i gruppen 'protocol imap' och det andra i 'protocol pop3'). Kommentera bort raderna med 'ssl_disable' och 'login_greeting_capability', eftersom dessa direktiv inte stöds i den senaste versionen. Sen är konfigurationen klar.
## ## SSL settings ## #ssl_disable = no ssl_cert_file = /var/qmail/control/servercert.pem ssl_key_file = /var/qmail/control/servercert.pem ssl_cipher_list = ALL:!LOW verbose_ssl = yes ... ... ## ## IMAP specific settings ## protocol imap { # non-encrypted IMAP: 127.0.0.1 (webmail) is secure by definition # # in the name of all that is good in the world, PLEASE # don't allow your users to use IMAP without encryption! # listen = 127.0.0.1:143 # SSL-encrypted IMAP on port 993 ssl_listen = 85.11.88.98:993 imap_max_line_length = 65536 # login_greeting_capability = yes } ## ## POP3 specific settings ## protocol pop3 { # in the name of all that is good in the world, PLEASE # don't allow your users to use POP3 without encryption! # #listen = 987.65.43.21:110 # SSL-secured POP3 on port 995 ssl_listen = 85.11.88.98:995 pop3_no_flag_updates = no pop3_uidl_format = %v-%u }
cd /home/dovecot/service mkdir -m 0755 dovecot dovecot/log cd dovecot/log wget -O run http://www.bsd-guide.net/openbsd-mailserver/files/dovecot-log-run chmod 0755 run cd .. wget -O run http://qmail.jms1.net/scripts/service-dovecot-run chmod 0755 run chown -R dovecot:users /home/dovecot
Starta Dovecot servicen:
ln -s /home/dovecot/service/dovecot /serviceKolla att Dovecot körs:
# svstat /service/dovecot /service/dovecot: up (pid 27217) 13 seconds #
Testa att logga in via POP3S från en annan dator på ditt nät. Om det fungerar kan du prova prata lite POP med servern för att se att allt verkar ok. Hela sessionen kan se ut något som det här:
# openssl s_client -connect 192.168.0.1:995 CONNECTED(00000004) depth=0 /C=SE/ST=V\xE4sterbotten/L=Skellefte\xE5/O=BSD-Guide/CN=spambox1.bsd-guide.net/emailAddress=peo@bsd-guide.net verify error:num=18:self signed certificate verify return:1 depth=0 /C=SE/ST=V\xE4sterbotten/L=Skellefte\xE5/O=BSD-Guide/CN=spambox1.bsd-guide.net/emailAddress=peo@bsd-guide.net verify return:1 --- Certificate chain 0 s:/C=SE/ST=V\xE4sterbotten/L=Skellefte\xE5/O=BSD-Guide/CN=spambox1.bsd-guide.net/emailAddress=peo@bsd-guide.net i:/C=SE/ST=V\xE4sterbotten/L=Skellefte\xE5/O=BSD-Guide/CN=spambox1.bsd-guide.net/emailAddress=peo@bsd-guide.net --- Server certificate -----BEGIN CERTIFICATE----- MIICmTCCAgICCQDBaDf1xTd7qTANBgkqhkiG9w0BAQQFADCBkDELMAkGA1UEBhMC U0UxFTATBgNVBAgUDFbkc3RlcmJvdHRlbjETMBEGA1UEBxQKU2tlbGxlZnRl5TES MBAGA1UEChMJQlNELUd1aWRlMR8wHQYDVQQDExZzcGFtYm94MS5ic2QtZ3VpZGUu bmV0MSAwHgYJKoZIhvcNAQkBFhFwZW9AYnNkLWd1aWRlLm5ldDAeFw0wODA3Mjcx NDUyMDBaFw0wOTA3MjgxNDUyMDBaMIGQMQswCQYDVQQGEwJTRTEVMBMGA1UECBQM VuRzdGVyYm90dGVuMRMwEQYDVQQHFApTa2VsbGVmdGXlMRIwEAYDVQQKEwlCU0Qt R3VpZGUxHzAdBgNVBAMTFnNwYW1ib3gxLmJzZC1ndWlkZS5uZXQxIDAeBgkqhkiG 9w0BCQEWEXBlb0Bic2QtZ3VpZGUubmV0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCg3+Um6maytcLb0xR+F4KoPGLcpZO5QVjoXrYqoZn1dyLjrIbKss/C1wnO 4lDZTQgTS7yaIYHAEOLZL+HYsqdjmceCgQo0rKQ+9hcrS15l4mlsQYiE7BRln00v WVW8CzU8SIK5W7bMvq2+i62V8QURSRN05f3LE3UipYNOKVVUywIDAQABMA0GCSqG SIb3DQEBBAUAA4GBAHrzi0mneiBDPa4uY6SB/wZgWyI8Lm/sXeN+1P322jZZfPsp 7uwtnqt8z2kgSBt3i6O1VNHGcYv9NgYNrP/ZVx10K4nxXHNzmxeye5ppPyr52chJ Ivy549kVxzbDX45Xzkni9pMqba/I77Itah5129dKHkoaAL0lZ/oPECGW6CiJ -----END CERTIFICATE----- subject=/C=SE/ST=V\xE4sterbotten/L=Skellefte\xE5/O=BSD-Guide/CN=spambox1.bsd-guide.net/emailAddress=peo@bsd-guide.net issuer=/C=SE/ST=V\xE4sterbotten/L=Skellefte\xE5/O=BSD-Guide/CN=spambox1.bsd-guide.net/emailAddress=peo@bsd-guide.net --- No client certificate CA names sent --- SSL handshake has read 1233 bytes and written 340 bytes --- New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA Server public key is 1024 bit SSL-Session: Protocol : TLSv1 Cipher : DHE-RSA-AES256-SHA Session-ID: 20461AB6352BCD32239FFB3E66AC6F6C2040D61F8B9622730743D8A812B3ED70 Session-ID-ctx: Master-Key: 2C34A01CC2D54C9203CC9A487CBCD99E2EF0BDFC47ABF8340EC885CF28313127AB9BFDDB6DB94540421A032744F0ACF3 Key-Arg : None Start Time: 1218234074 Timeout : 300 (sec) Verify return code: 18 (self signed certificate) --- +OK Dovecot ready. user nisse@test.com +OK pass nissepw +OK Logged in. list +OK 1 messages: 1 470 . retr 1 +OK 470 octets Return-Path: <peoyli@gmail.com> Delivered-To: nisse@test.com Received: (qmail 8700 invoked from network); 27 Jul 2008 17:10:03 +0200 Received: from spambox3.bsd-guide?056net (HELO spamboruk.com) (192.168.0.3) by spambox1.bsd-guide.net with SMTP; 27 Jul 2008 17:10:03 +0200 Received-SPF: neutral (spambox1.bsd-guide.net: 192.168.0.3 is neither permitted nor denied by SPF record at _spf.google.com) Subject: testar med ett testmail provar skicka ett testmail . quit +OK Logging out. closed #