Simple mail server with webmail

From Gentoo Wiki
Jump to: navigation, search

Simple mail server by using postfix MTA, dovecot IMAP + SASL and SquirrelMail webmail. This guide is for getting basic mail server working in small amount of time. You can always add more features later.

Postfix MTA

Remove mail-mta/ssmtp, because it blocks Postfix:

root # emerge --ask -C ssmtp

Install mail-mta/postfix. Enable dovecot-sasl, ipv6, pam and ssl USE flags. See also the Postfix article.

root # emerge --ask postfix

Configure Postfix.

File/etc/postfix/main.cf

# basic config
myhostname = example.com
mydomain = example.com
myorigin = example.com
inet_interfaces = all
mynetworks_style = host
mydestination = $myhostname, localhost, $mydomain, mail.$mydomain, www.$mydomain
home_mailbox = .maildir/

# sasl config
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Edit aliases to redirect root mails to webmaster:

File/etc/mail/aliases

...
root: webmaster
...

Generate aliases database:

root # newaliases

Redirect root mails to webmaster:

File/root/.forward

...
webmaster@localhost
...

Check for errors:

root # postfix check

Start Postfix:

root # /etc/init.d/postfix start

Check /var/log/mail.log for errors:

root # cat /var/log/mail.log

dovecot IMAP, POP & SASL

Install net-mail/dovecot. Enable USE flags : bzip2 ipv6 maildir pam ssl zlib

root # emerge --ask dovecot

Configure dovecot:

File/etc/dovecot/dovecot.conf

protocols = imap pop3

# sasl config
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}

Start dovecot:

root # /etc/init.d/dovecot start

SquirrelMail webmail

Change dir to webserver root:

user $ cd /home/webmaster/htdocs

Unpack squirrelmail:

user $ tar xjf squirrelmail-webmail-1.4.22.tar.bz2

Configure squirrelmail:

user $ cd squirrelmail-webmail-1.4.22/config
user $
cp config_default.php config.php
Fileconfig.php

$data_dir = '/home/webmaster/.squirrelmail/data/';
$attachment_dir = '/home/webmaster/.squirrelmail/attach/';
$domain = 'example.com';

Create data dirs and set permissions:

user $ mkdir -p /home/webmaster/.squirrelmail/data/
user $
mkdir -p /home/webmaster/.squirrelmail/attach/
root # chown -R webmaster:lighttpd /home/webmaster/.squirrelmail/
user $ chmod -R 770 /home/webmaster/.squirrelmail/

Debug squirrelmail by opening url: http://example.com/squirrelmail-webmail-1.4.22/src/configtest.php

You can access webmail by opening url: http://example.com/squirrelmail-webmail-1.4.22/. Everything should be working now.

Personal tools
Namespaces

Variants
Actions
Gentoo Websites logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Navigation
Toolbox
Categories